XSD - como eu posso assegurar a existência de um determinado elemento com um determinado atributo?
-
08-07-2019 - |
Pergunta
Eu estou tentando adicionar extra de validação para jdpl processo -definição arquivos usando XSD.
Nós temos um par de regras que deseja adicionar; mas o que está me causando problemas é que deve existir um elemento "nó" com o atributo que é "nome" = "Problema".
então isso é válido:
<process-definition name='sample'>
<node name="Problem">
</node>
<node name="Do Work">
</node>
</process-definition>
e isso não é
<process-definition name='sample'>
<node name="Do Work">
</node>
</process-definition>
Assim, para resumir, as regras que eu preciso para fazer cumprir são
- atributo nó com o valor "problema"
- existência de um nó com name = "Problema"
- permitindo que qualquer número de nós com outros nomes
Todas as idéias lá fora?
Solução
Lamentamos que não é possível com XSD.
Devido a razões de desempenho XML-Schema é projetado para nunca olhar em frente e nunca olhar para trás para além do nó atual. Isso significa que ele deve ser sempre definidos, onde o validador está no esquema-árvore. E que os requisitos faz semelhantes a este impossível definir com XSD.