【发布时间】:2015-06-11 17:46:01
【问题描述】:
我是 XML 模式的新手,我正在尝试了解它们是如何工作的。我写了一个简单的架构。下面是我的 xml 架构。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="employees" type="comType"/>
<xs:complexType name="comType">
<xs:sequence>
<xs:element ref="employee" maxOccurs="2"/>
</xs:sequence>
</xs:complexType>
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
但是我有点困惑什么 XML 对这个架构有效。当我使用 notpad++ 验证下面的两个 XML 时,下面的两个 XML 都没有给出错误,因为我期望带有员工根元素的 XML 应该正确的。
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee id="1">
<name>xxxx</name>
<address>xxx</address>
</employee>
<employee id="2">
<name>yyyyy</name>
<address>yyy</address>
</employee>
</employees>
第二个 XML 是
<?xml version="1.0" encoding="UTF-8"?>
<employee id="1">
<name>Deepak</name>
<address>909</address>
</employee>
架构是
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="employees" type="comType"/>
<xs:complexType name="comType">
<xs:sequence>
<xs:element ref="employee" maxOccurs="2"/>
</xs:sequence>
</xs:complexType>
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
需要帮助...
【问题讨论】:
-
请看你问题的源代码;我对其进行了编辑,因此您的架构代码实际上是可见的。
-
添加到我原来的帖子中