Criacao de Formularios com XML e XML Schema

Estou desenvolvendo um sistema que gera um formulário (componentes jsf) a partir de um XML. Criei uma taglib cujo componente formularioDinamico recebe um xml e processa seu conteúdo para renderizar os elementos na tela. Existe um XML schema associado ao xml que representa o formulário para validar as respostas dadas pelo usuário. Por exemplo: número máximo de dígitos de uma caixa de texto, valor numérico mínimo e máximo etc. Criei 3 parsers (JavaToXML, XMLToJava e SchemaToJava). Dentro do componente formularioDinamico o xml é transformado em um objeto java que representa um formulário através do parser XMLToJava, após submissão o formulário com as respostas pode ser recuperado em XML usando o parser JavaToXML para transformação de volta.

O sistema contém uma tabela com schemas para cada tipo de formulário (todos os formulário do tipo “A” estão associados ao schema “A” por exemplo) e uma tabela com os xml dos formulários respondidos.

Há duas situações em que o formulário pode ser carregado:

  1. O usuário ainda não respondeu o formulário, portanto o sistema recupera o schema;
  2. O usuário já respondeu o formulário, portanto o sistema recupera o xml com o formulário respondido (tags “valor” preenchidas).

Porém queremos padrinizar o componente para receber só um tipo de dados, nesse caso um xml.

Qual a melhor opção:

  1. Passar pro componente o schema e o xml e então montar o esqueleto do formulario a partir do schema (parserSchemaToJava) e depois atualizar os valores de resposta conforme os valores contidos no XML (no caso de um formulário ainda não respondido, o xml seria null e o componente só montaria o esqueleto).
  2. Passar pro componente apenas o xml com schema inline e efetuar o mesmo processo acima (nesse caso, é possível usar o Xerces para parser de schema inline?).
  3. Outra sugestão.

Qualquer ajuda é bem vinda,
Paulo S.