最新的Web开发教程
 

XSD - 该<schema> Element


<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"