<!--引用多个名称空间-->
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引用多个命名空间 -->
<f:family xmlns:f="http://www.example.org/family"
xmlns:p="http://www.example.org/person"
xmlns:c="http://www.example.org/children"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/family family.xsd http://www.example.org/person person.xsd http://www.example.org/children children.xsd">
<!-- 多个命名空间的schemaLocation的地址可以依次写 -->
<p:person>
<p:firstname></p:firstname>
<p:lastname></p:lastname>
<c:children>
<c:childname></c:childname>
</c:children>
</p:person>
</f:family>
<!--约束family文件-->
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/family"
xmlns:tns="http://www.example.org/family"
elementFormDefault="qualified">
<xs:element name="family">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<!--children约束-->
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/children"
xmlns:tns="http://www.example.org/children"
elementFormDefault="qualified">
<!-- 定义children元素 -->
<xs:element name="children">
<!-- 复合类型 -->
<xs:complexType>
<!-- 有序 -->
<xs:sequence>
<!-- childname可以出现无数次 -->
<xs:element name="childname" type="xs:string"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<!--person约束-->
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/person"
xmlns:tns="http://www.example.org/person"
elementFormDefault="qualified">
<!-- 定义一个person元素 -->
<xs:element name="person">
<!-- 复合类型 -->
<xs:complexType>
<!-- 有序 -->
<xs:sequence>
<!-- 元素firstname -->
<xs:element name="firstname" type="xs:string"/>
<!-- 元素lasttname -->
<xs:element name="lastname" type="xs:string"/>
<!-- 留着扩展 -->
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>