XSD - wie kann ich die Existenz eines bestimmten Elements mit einem bestimmten Attribut gewährleisten?

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

  •  08-07-2019
  •  | 
  •  

Frage

Ich versuche, zusätzliche Validierung in den JDPL Prozess -Definition Dateien XSD verwenden.

Wir haben ein paar Regeln, die wir hinzufügen möchten; aber derjenige, der mir Probleme verursacht ist, dass es muss ein „Knoten“ Element bestehen mit seinem Attribut „name“ = „Problem“.

so das gilt:

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

und das ist nicht

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

Also, zusammenfassen, die Regeln, die ich brauche zu erzwingen sind

  • Knotenattribut den Wert "Problem"
  • mit
  • Existenz von 1 Knoten mit name = "Problem"
  • ermöglicht eine beliebige Anzahl von Knoten mit anderen Namen

Irgendwelche Ideen da draußen?

War es hilfreich?

Lösung

Es tut uns Leid, das ist nicht möglich, mit XSD.

Aus Performancegründen XML-Schema wird entwickelt, um nie nach vorne schauen und nie über den aktuellen Knoten zurück. Das bedeutet, dass es muss immer definiert werden, in denen der Prüfer im Schema-Baum ist. Und das macht Anforderungen wie diese unmöglich mit XSD zu definieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top