XSD - comment puis-je assurer l'existence d'un élément particulier avec un attribut donné?

StackOverflow https://stackoverflow.com/questions/283616

  •  08-07-2019
  •  | 
  •  

Question

J'essaie d'ajouter une validation supplémentaire au processus jdpl . Fichiers de définition utilisant XSD.

Nous souhaitons ajouter quelques règles. mais celui qui me pose problème, c’est qu’il doit exister un "nœud". élément avec son " nom " attribut = "problème".

donc c'est valide:

<process-definition name='sample'>
    <node name="Problem">
    </node>
    <node name="Do Work">
    </node>
</process-definition>

et ce n'est pas

<process-definition name='sample'>
    <node name="Do Work">
    </node>
</process-definition>

Donc, pour résumer, les règles que je dois appliquer sont

  • attribut de nœud ayant la valeur " problème "
  • existence d'un noeud avec le nom = " problème "
  • autorisant un nombre quelconque de nœuds avec d'autres noms

Avez-vous des idées?

Était-ce utile?

La solution

Désolé, ce n'est pas possible avec XSD.

Pour des raisons de performances, XML-Schema est conçu pour ne jamais regarder devant, ni au-delà du noeud actuel. Cela signifie qu'il doit toujours être défini lorsque le validateur se trouve dans l'arborescence du schéma. Et cela rend impossible la définition de telles exigences avec XSD.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top