# XML Schema Beziehungen validieren



## xml_kack_noob (11. Dez 2011)

Hi,
ich nehme mal folgendes als Beispiel:
[XML]<person>
	<name>xyz</name>
	<isMarried>false</isMarried>
</person>[/xml]

Sollte diese Person aber nun verheiratet sein, so muss sie auch den Partner angeben:
[XML]<person>
	<name>xyz</name>
	<isMarried>true</isMarried>
	<parner>abc</partner>
</person>[/xml]

Ich habe also drei Elemente:
- Der *name* der zwingend angegeben werden muss,
- ein optionales Element *isMarried*, welches den default wert _false_ hat,
- ein *partner* Element, das optional ist wenn _isMarried=false_. Sollte _isMarried=true_ sein, so muss dieses Element vorhanden sein.


Gelesen werden die Daten mittels JAXB. Ich würde hierbei gern die Möglichkeit nutzen, die Dokumente gleich beim unmarshal Prozess mittels einer XSD zu validieren. Nun bin ich mir nicht sicher, ob ich die o.g. Beziehung ebenfalls über ein Schema validieren kann.

Ist dies möglich, oder muss ich das im Code machen?


Gruß


----------



## Wildcard (13. Dez 2011)

Mit XSD 1.0 geht es nicht. Dafür bräuchte man den neuen XSD draft, oder Aufsätze wie Schematron.
Wenn du nicht an JAXB gebunden ist dann würde dir allerdings EMF helfen. EMF untertützt solch gegensätzliche Beziehungen von Haus aus (EOpposite).


----------

