1、XML Schema是一个特殊的XML文件。XML Schema所有标记的名称空间是http://www.w3.org/2001/XMLSchema。XML Schema用来定义其他标记语言所有元素都属于该名称空间所标明的标记集合。程序1-1是一个XML Schema文档必须具备的格式,可以作为以后创作XML Schema文档模板。
程序1-1
<?xml version=”1.0” encoding=”UTF-8”?>
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema
targetNamespace=http://www.gnnuit.com/XMLSchema.xsd
elementFromDefault=”qualified”>
</xs:schema>
2、Schema模板语法:
(1)根标记必须为<Schema></Schema>。
(2)Xmlns:xs是一个名称空间声明,表示Schema文档中使用的标记都是由标识为http://www.w3.org/2001/XMLSchema规范所定义的。Xs是该规范的缩写名字,此处的缩写可定义为其他。
(3)targetNamespace指定了文档中定义的标记和属性所在的名称空间。
(4)elementFromDefault属性可以设置两个值:qualifid和unqualified,默认是unqualified。当设置是qualified时,表示该文件中定义的所有标记和属性被默认看做在一个名称空间。而设置为unqualified时,则相反。
3、定义XML文档时,需要在Xml文档中的根结点中使用schemaLocation属性来指定它所遵循的Schema文件的具体位置。
schemaLocation此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置,两者之间用空格分隔
4、定义XML文档时,可以使用默认的名称空间,声明方式为
<根元素 xmlns="uri">
5、根据schema书写xml的步骤:
a、xml声明
<?xml version="1.0" encoding="gbk"?>
b、查看schema文档,找出根元素(第一个element声明),并编写根元素的起始标签
<?xml version="1.0" encoding="gbk"?>
<shiporder></shiporder>
c、在根元素的开始标签中用xmlns声明来源的名称空间(查看schema文档,找targetNamespace的取值)
<?xml version="1.0" encoding="gbk"?>
<shiporder xmlns="http://www.gnnuit.com"></shiporder>
d、用schemaLocation关联名称空间和xsd文件
<?xml version="1.0" encoding="gbk"?>
<shiporder xmlns="http://www.itcast.cn"
schemaLocation="http://www.itcast.cn shiporder.xsd">
</shiporder>
e、schemaLocation从哪里来的,声明一个标准的名称空间xmlns:xi=http://www.w3.org/2001/XMLSchema-instance
<?xml version="1.0" encoding="gbk"?>
<shiporder xmlns="http://www.gnnuit.com"
xmlns:xi="http://www.w3.org/2001/XMLSchema-instance"
xi:schemaLocation="http://www.itcast.cn shiporder.xsd">
.....
</shiporder>
f、编写其他的子元素