11
是否可以在XML Schema中定義基於屬性值的條件?例如,當[email protected]="one"
,我想one-element
被允許和強制或當[email protected]="two"
時,我想要two-element
被允許和強制。基於屬性值的條件(XML Schema)
例如,有效證件包括:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
或
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<two-element>
</two-element>
</root>
錯誤文件:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
</root>
或
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
XSD有可能嗎?
所以我還需要爲每種情況定義兩次' '? –
Pol
2012-01-10 10:06:47
不,您可以在架構根級別定義已知類型並重新使用它。請參閱我的更新。 – 2012-01-10 10:20:25
謝謝。爲了定義兩種類型,我應該使用'xs:attribute'(帶有'fixed'屬性)和'xs:choice'? – Pol 2012-01-10 10:29:51