Iは、例えば、言語固有の要素を持つXML文書を持っている:上部に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>
、ルート要素は、両方の英語とフランス語の情報定義文書を宣言することを意図しています。
title
とlabel
のように、英語とフランス語で提供する必要のある要素がドキュメントにあります。ルート要素は両方のサポートを宣言しているためです。
XMLスキーマでこのような制約を表すことは可能ですか?私はroot
要素の言語属性を異なって表現することができます。例えば、lang-en="1" lang-fr="1"
などが役に立ちます。
あなたは(だけ)ここでXSD 1.1継承属性を使用することができるかもしれません。 root/@ lang属性を継承可能と定義することにより、ツリーのさらに下の要素に対する条件付き型の割り当てに使用できるようになります。しかし、詳細を見ると、このユースケースには十分柔軟性がないのかどうかはわかりません。 –