2
在DTD文件中,我該如何聲明元素必須具有屬性。 此屬性必須是下列三者之一:SI,SL或ii元素的屬性必須存在,並且是dtd文件中定義的列表之一
<bla si="foo">
<bla ii="foo">
<bla sl="foo">
是有效的,並且:
<bla> or
<bla somthing="foo"> or
<bla si="foo" ii="bar">
都應該無效
在此先感謝
編輯:
這不是訣竅,但它是關閉e:
<!ATTLIST bla si CDATA #REQUIRED
sl CDATA #REQUIRED
ii CDATA #REQUIRED
>
它需要所有的屬性在那裏,但我想強制,只有一個屬性在那裏。
allright ..此屬性不會改變相應元素的含義..它只是該元素的一個屬性......是否可以聲明某事。像通過xsd? – Stephan 2011-12-20 12:27:28
@Stephan無法使用XSD(除非我忘記了一些技巧)。具有諷刺意味的是,這種限制的一個例子是XML-Schema本身的模式:xsd元素''只能有一個屬性'default'或'fixed',但這個限制並不是由xml模式文件強制執行的模式,只是在建議的案文中說明。 –
jasso
2011-12-20 18:05:18