XSD - wie kann ich die Existenz eines bestimmten Elements mit einem bestimmten Attribut gewährleisten?
-
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?
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.