两个xsd必须在同一命名空间下targetNamespace。
student.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/classroom"
xmlns:tns="http://www.example.org/classroom"
elementFormDefault="qualified">
<xsd:element name="student" type="tns:studentType"/>
<xsd:complexType name="studentType">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="sex" type="tns:sexType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="sexType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="男"/>
<xsd:enumeration value="女"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
classroom.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/classroom"
xmlns:tns="http://www.example.org/classroom"
elementFormDefault="qualified">
<!-- 两个文件必须在同一个命名空间下(targetNamespace) -->
<xsd:include schemaLocation="student.xsd"/>
<xsd:element name="classroom" type="tns:classroomType"/>
<xsd:complexType name="classroomType">
<xsd:sequence>
<xsd:element name="grade" type="tns:gradeType"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:sequence minOccurs="1" maxOccurs="unbounded">
<xsd:element name="student" type="tns:studentType"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="gradeType">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="2000"/>
<xsd:maxInclusive value="3000"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
相关文章
- 10-235 -- Hibernate的基本用法 --4 2 hibernate.properties文件与hibernate.cfg.xml文件
- 10-23Springboot配置log4j2配置文件和log4j2.xml详解
- 10-23python - django models.py 文件中表名相互引用问题
- 10-23XML文件及DTD约束,Schema约束
- 10-23Solr入门之(4)配置文件solr.xml
- 10-23【Tip】如何让引用的dll随附的xml注释文档、pdb调试库等文件不出现在项目输出目录中
- 10-23XML文件基础,DTD校验文件编写,Schema文件的简单使用
- 10-23XML文件解析-DOM4J方式和SAX方式
- 10-23MyCat配置文件详解--schema.xml
- 10-23mycat配置文件schema.xml配置说明