下面这个例子是一个名为 "note.xsd" 的 XML Schema 文件:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://mynamespace/myschema"
xmlns="http://mynamespace/myschema"
elementFormDefault="unqualified">
<!--放入实际内容 -->
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string" />
<xs:element name="from" type="xs:string" />
<xs:element name="heading" type="xs:string" />
<xs:element name="body" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
1、schema 所有Schema文档使用schema作为其根元素
2、xmlns:xs="http://www.w3.org/2001/XMLSchema"
显示 schema 中用到的元素和数据类型来自http://www.w3.org/2001/XMLSchema命名空
间,同时它还规定了来自上述命名空间的元素和数据类型应该使用前缀xs。
3、targetNamespace="http://mynamespace/myschema"
显示被此schema自定义的元素来自命名空间 http://mynamespace/myschema
4、xmlns="http://mynamespace/myschema"
默认的命名空间是 http://mynamespace/myschema
5、elementFormDefault="unqualified"
表示子元素可以不使用命名空间前缀。(如果是qualified则必须使用命名空间前缀)
6、note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading,
body) 是简易类型。
<?xml version="1.0"?>
<note xmlns="http://mynamespace/myschema"
xsi:schemaLocation="http://mynamespace/myschema note.xsd">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
1、xmlns="http://mynamespace/myschema"
规定了默认命名空间的声明。此声明会告知 schema 验证器,在此 XML 文档中使用的所有元素
都被声明于 "http://mynamespace/myschema" 这个命名空间。供命名空间使用的XML schema
的位置。
2、xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
可用的 XML Schema 实例命名空间
3、xsi:schemaLocation="http://mynamespace/myschema note.xsd"
第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置,这两部分
用空格分隔
50