schema比DTD更细粒度的校验XML文件
定义元素并使用例子:
1.schema.xsd
2.schema.xml
注:schema本身也XML文件,它通过DTD来校验,这个DTD的地址就是
[url]http://www.w3.org/2001/XMLSchema[/url]
这里面定义了很多元素和属性,DTD校验schema时,必须以schema元素作为根节点,在命名空间xs下,当然命令空间可以自定义,一般不这样做。
定义元素并使用例子:
1.schema.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="cat" type="xs:string" />
<xs:element name="dog" type="xs:string" />
<xs:complexType name="myType">
<xs:sequence>
<xs:element ref="cat" />
<xs:element ref="dog" />
</xs:sequence>
</xs:complexType>
<xs:element name="pets" type="myType" />
</xs:schema>
2.schema.xml
<?xml version="1.0" encoding="UTF-8"?>
<pets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="schema.xsd">
<cat></cat>
<dog></dog>
</pets>
注:schema本身也XML文件,它通过DTD来校验,这个DTD的地址就是
[url]http://www.w3.org/2001/XMLSchema[/url]
这里面定义了很多元素和属性,DTD校验schema时,必须以schema元素作为根节点,在命名空间xs下,当然命令空间可以自定义,一般不这样做。