0
以下是我的XML和驗證的XSD。看起來像id
字段的xs:unique
約束有問題。XSD該元素不能包含文本。添加xs後內容模型爲空:唯一
<?xml version='1.0' encoding='utf-8'?>
<records>
<record>
<date>2016-02-01</date>
<id>3</id>
</record>
<record>
<date>2016-02-01</date>
<id>4</id>
</record>
<record>
<date>2016-02-01</date>
<id>7</id>
</record>
</records>
XSD:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="records">
<xs:complexType>
<xs:sequence>
<xs:element name="record" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:date" name="date"/>
<xs:element name="id" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="recordid" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="Unique-id">
<xs:selector xpath="id" />
<xs:field xpath="@recordid" />
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
這是驗證在記錄級別,即當我得到一個錯誤行號指向父級元素而不是子元素。無論如何,我可以直接驗證子元素嗎?我正在使用錯誤行號進行顯示。 –
Srini