Ich habe ein XML-Dokument mit sprachspezifischen Elementen, beispielsweise:Wie validiere ich für Sprachattribute in XSD?
<root lang="en fr">
<section>
<title lang="en">English Title</title>
<title lang="fr">French Title</title>
<sequence>2</sequence>
<field>
<type>date</type>
<label lang="en">English field label</label>
<label lang="fr">French field label</label>
</field>
</section>
<section>
<title lang="en">Another English Title</title>
<title lang="fr">Another French Title</title>
<sequence>1</sequence>
</section>
</root>
An der Spitze ist das Stammelement vorgesehen, das Dokument zu erklären, Englisch und Französisch Informationen definiert.
Es gibt bestimmte Elemente im Dokument, die in Englisch und Französisch zur Verfügung gestellt werden müssen, z. B. title
und label
, da das Stammelement die Unterstützung für beide angibt.
Ist es möglich, eine solche Einschränkung im XML-Schema auszudrücken? Ich könnte das Element root
Element Sprache Attribut anders, wie lang-en="1" lang-fr="1"
, wenn das hilft.
Sie können (nur) in der Lage sein, hier XSD 1.1 vererbbare Eigenschaften zu verwenden. Wenn Sie das Attribut root/@ lang als vererbbar definieren, wird es für die Verwendung in einer bedingten Typzuweisung für Elemente weiter unten im Baum verfügbar. Aber wenn ich mir das Detail anschaue, bin ich nicht sicher, ob es für diesen Anwendungsfall flexibel genug ist. –