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