【发布时间】:2016-02-10 20:34:05
【问题描述】:
我正在尝试使用在一个模式文件中定义的类型并在另一个模式文件中使用它。我相信格式是正确的,但我在验证时一直收到相同的错误消息。
主架构文件
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="urn:deliverableNamespace" xmlns:mstns="urn:deliverableNamespace" attributeFormDefault="unqualified" elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:deliverableNamespace">
<xs:include schemaLocation="ManageDeliverableLookup.xsd" />
<xs:element name="GEMS">
<xs:complexType>
<xs:sequence>
<xs:element name="header">
<xs:complexType>
<xs:sequence>
<xs:element name="token" type="xs:string" />
<xs:element name="timestamp" type="xs:string" />
<xs:element name="system">
<xs:complexType>
<xs:attribute name="id" type="SystemIdLkup" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
第二个架构文件
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="ManageDeliverableLookup" targetNamespace="urn:deliverableNamespace" elementFormDefault="unqualified" attributeFormDefault="unqualified" xmlns="urn:deliverableNamespace" xmlns:mstns="urn:deliverableNamespace" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="SystemIdLkup">
<xs:restriction base="xs:string" >
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="16"/>
<xs:enumeration value="18"/>
<xs:enumeration value="56"/>
<xs:enumeration value="150"/>
<xs:enumeration value="151"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
【问题讨论】:
-
XSD 本身没有问题。请发布您的 XML 以及您是否希望更改 XSD 或 XML 以使 XML 有效。谢谢。
-
另外,您能否发布“验证时出现相同的错误消息”?谢谢
标签: xml xsd schema xsd-validation