最新的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"