XMl Scheme学习地址:http://www.w3school.com.cn/schema/index.asp
XML Scheme示例
targetNamespace=“http://tempuri.org/XMLSchema.xsd",表明当前Scheme文档中定义的标签所在的命名空间
xmlns:xs=“http://www.w3.org/2001/XMLSchema",是XML Scheme标签suozai所在的命名空间
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
    elementFormDefault="qualified"
    xmlns="http://tempuri.org/XMLSchema.xsd"
    xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
</xs:schema>
Visual Studio 10 XML Scheme命名空间管理
打开Scheme

管理Scheme界面

MyEclipse XMl Scheme命名空间管理器

难以理解的知识点
一个节点比较多的XML Scheme可以定义在多个.xsd文件中。用import和include将多个.xsd中定义的Scheme导入到同一个文件及命名空间中来
import:
 import的作用是将具有不同命名空间的Scheme导入进来。
DorisTestBasic.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://my.doris.net/test1"
    elementFormDefault="qualified"
    xmlns="http://my.doris.net/test1"
    xmlns:mstns="http://my.doris.net/test1"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:complexType name="plant">
    <xs:sequence>
      <xs:element name="plant_name" type="xs:string"></xs:element>
      <xs:element name="height" type="xs:int"></xs:element>
    </xs:sequence>
  </xs:complexType>
  
</xs:schema>
DorisTest.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://my.doris.net/test"
    elementFormDefault="qualified"
    xmlns="http://my.doris.net/test"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:test1="http://my.doris.net/test1"
>
  <xs:import namespace="http://my.doris.net/test1" schemaLocation="DorisTestBasic.xsd"/>
  <xs:element name="personGroup" type="person"></xs:element>
  <xs:complexType name="person">
    <xs:sequence>
      <xs:element name="name" type="xs:string"></xs:element>
      <xs:element name="birth" type="xs:date"></xs:element>
      <xs:element name="local" type="xs:string"></xs:element>
      <xs:element name="gender" type="xs:string"></xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="plantGroup" type="test1:plant"></xs:element>
</xs:schema>
text.xml
<?xml version="1.0" encoding="utf-8"?> <plantGroup xmlns="http://my.doris.net/test" xmlns:test1="http://my.doris.net/test1"> <test1:plant_name></test1:plant_name> <test1:height>10</test1:height> </plantGroup>
include:
include的作用是将命名空间相同的Scheme导入进来。
eg:
DorisTestBasic.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://my.doris.net/test"
    elementFormDefault="qualified"
    xmlns="http://my.doris.net/test"
    xmlns:mstns="http://my.doris.net/test"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:complexType name="plant">
    <xs:sequence>
      <xs:element name="plant_name" type="xs:string"></xs:element>
      <xs:element name="height" type="xs:int"></xs:element>
    </xs:sequence>
  </xs:complexType>
  
</xs:schema>
DorisTest.xsd
plantGroup Element用了DorisTestBasic.xsd中的plant作为type
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://my.doris.net/test"
    elementFormDefault="qualified"
    xmlns="http://my.doris.net/test"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:include schemaLocation="DorisTestBasic.xsd"/>
  <xs:element name="personGroup" type="person"></xs:element>
  <xs:complexType name="person">
    <xs:sequence>
      <xs:element name="name" type="xs:string"></xs:element>
      <xs:element name="birth" type="xs:date"></xs:element>
      <xs:element name="local" type="xs:string"></xs:element>
      <xs:element name="gender" type="xs:string"></xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="plantGroup" type="plant"> </xs:element>
</xs:schema>
text.xml
- 用DorisTestBasic.xsd中定义的元素
 
<?xml version="1.0" encoding="utf-8"?> <plantGroup xmlns="http://my.doris.net/test"> <plant_name></plant_name> <height>10</height> </plantGroup>
- 用DorisTest.xsd中的元素
 
<?xml version="1.0" encoding="utf-8"?> <personGroup xmlns="http://my.doris.net/test"> <name></name> <birth>1988-04-26</birth> <local></local> <gender></gender> </personGroup>