【发布时间】:2023-03-04 10:06:02
【问题描述】:
我对 XML 和一般的编码还很陌生。
我正在尝试使用我放在一起的架构来验证 XML 标记。我的元素之一利用了 xml:id 属性。它看起来像这样:<item xml:id="MAT_10_23">。在我的模式中,我在元素声明中遵循了推荐的结构 <xs:attribute name="id" type="xs:ID"/>。这是完整的:
<xs:element name="item">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="label">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
但是,当我尝试验证我的标记时,我被告知“属性 xml:id 不允许出现在元素中”。我尝试在我的架构中分别声明该属性。这是它的样子:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:attribute name="id" type="xs:ID"/>
但这并没有改变任何东西。我需要在架构中进行哪些更改才能成功验证我的 XML 标记?
【问题讨论】: