在<schema>元素是每个XML架构的根元素。
在<schema>元素
在<schema>元素是每个XML架构的根元素:
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
在<schema>元素可以包含一些属性。 一个schema声明往往看起来是这样的:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3ii.com"
xmlns="http://www.w3ii.com"
elementFormDefault="qualified">
...
...
</xs:schema>
下面的代码片段:
xmlns:xs="http://www.w3.org/2001/XMLSchema"
表明,在该架构中使用的元素和数据类型来自"http://www.w3.org/2001/XMLSchema"命名空间。 它还指定该来自元件和数据类型"http://www.w3.org/2001/XMLSchema"命名空间应与前缀xs:
这个片段:
targetNamespace="http://www.w3ii.com"
表明这个架构定义的元素(note, to, from, heading, body.)来自"http://www.w3ii.com"命名空间。
这个片段:
xmlns="http://www.w3ii.com"
表明默认命名空间是"http://www.w3ii.com"
这个片段:
elementFormDefault="qualified"
表明由这是该模式中声明的XML实例文档中使用的任何元素必须是名称空间限定。
在XML文档引用架构
该XML文档到XML Schema的引用:
<?xml version="1.0"?>
<note xmlns="http://www.w3ii.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3ii.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
下面的代码片段:
xmlns="http://www.w3ii.com"
指定默认的命名空间声明。 这个声明告诉这个XML文档中使用的所有元素中声明的架构验证"http://www.w3ii.com"命名空间。
一旦你有可用的XML架构实例命名空间:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
您可以使用schemaLocation属性。 这个属性有两个值,用空格隔开。 第一值是使用命名空间。 第二个值是XML模式使用该命名空间的位置:
xsi:schemaLocation="http://www.w3ii.com note.xsd"