Adicionar metadados para uma definição XSD
-
10-07-2019 - |
Pergunta
Nem tudo o que familiarizado com XSD, gostaria de saber se é possível fazer o seguinte:
<xs:group name="SomeGroup">
<xs:sequence>
<xs:element name="Groupingcode" type="OurType" origin="DB" />
<xs:element name="Description" type="StringType" origin="XML" />
Para explicar: Eu tenho um arquivo de esquema XSD. Eu preciso gerar um arquivo XML de acordo com o XSD (esta parte funciona bem) que contém os dados do banco de dados. No entanto, alguns elementos precisam de dados adicionais para ser capaz de encontrar o campo próprio para começar a partir do banco de dados. É aí que a tag origem viria. Ele me permite descrever no XSD para onde olhar para os dados. A tag não precisa estar presente no XML gerado, mas se possível que mesmo XSD seria usado para validar o XML gerado. Outra forma seria usar um arquivo XML separado para descrever isso, eu sei. Mas eu gostaria de saber se ele seria absolutamente possível fazer isso no meu XSD.
O fragmento acima geraria a seguinte XML:
<SomeGroup>
<Groupingcode>None</Groupingcode>
<Description>This item does not belong to any group.</Description>
Espero que isso faz sentido.
Solução
Vá em frente direita. Basta colocar seus atributos extras em um espaço de nomes da sua própria, e criar um esquema que define-los. Microsoft faz isso para os arquivos .xsd gerados quando você cria um DataSet.