我的xml文件结构如下
<outer>
<inner name="nam" attribute1="abc" attribute2="def" />
</outer>
现在,我在“内部”标签中确信的唯一属性是“名称”属性。除此之外,我不想对“内部”标签可以具有的名称或属性数量施加任何限制。这意味着我的 xml 文件也可能看起来像
<outer>
<inner name="nam2" wallace="abc" gromit="def" wererabbit="what" />
</outer>
不过,我仍然希望能够使用 XSD 验证我的 XML 文件。这里是我试图在我的 xsd 中定义的复杂类型来完成这项工作。但是验证失败了,因为验证器显然希望在 xsd 中指定每个属性,而我不能这样做,因为属性可以是任何东西,并且事先没有决定。
<xs:complexType name="innerType">
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
我想知道 XSD 中是否有某些东西(也许像省略号?)可以让我指定/忽略可变数量的属性并成功验证 XML。
谢谢,
罗汉
最佳答案
各位,
这是针对我的问题的有效 XSD。感谢马克。我向马克道歉。整个晚上我都试图让 anyAttribute 正常工作,但由于某种原因,直到我按照下面的方式尝试它,它才奏效。如果您可以重新发布您的答案,我会继续并将其投票为正确答案。
<xs:complexType name="innerType">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:anyAttribute processContents="skip"/>
</xs:complexType>
谢谢, 罗汉
关于xml - 我在我的 XSD 中指定什么来跳过 xml 标记的属性验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1917917/