XML Schema 教學課程login
XML Schema 教學課程
作者:php.cn  更新時間:2022-04-20 14:13:02

XML schema 元素


XSD - <schema> 元素


<schema> 元素是每個 XML Schema 的根元素。


<schema> 元素

<schema> 元素是每個XML Schema 的根元素:

##<?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.php.cn"
xmlns="http://www.php.cn"
elementFormDefault="qualified" >
...
...
</xs:schema>

#以下程式碼片段:

##xmlns:xs= "http://www.w3.org/2001/XMLSchema"

顯示schema 中使用到的元素和資料型別來自命名空間"http://www.w3.org/2001/ XMLSchema"。同時它也規定了來自命名空間"http://www.w3.org/2001/XMLSchema" 的元素和資料類型應該使用前綴xs:
這個片段:

#targetNamespace="http://www.php.cn"

顯示被此schema 定義的元素(note, to, from, heading, body) 來自命名空間: "http:// www.php.cn"。
這個片段:

xmlns="http://www.php.cn"

指出預設的命名空間是"http:/ /www.php.cn"。
這個片段:

elementFormDefault="qualified"

指出任何XML 實例文件所使用的且在此schema 中宣告過的元素必須被命名空間限定。

在XML 文件中引用Schema


此XML 文件包含對XML Schema 的引用:

<?xml version="1.0"? >

<note xmlns="http://www.php.cn"

<note xmlns="http://www.php.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.php.cn note.xsd">

<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
下面的程式碼片段:

xmlns="http://www.php.cn"
#

規定了預設命名空間的宣告。此聲明會告知 schema 驗證器,在此 XML 文件中使用的所有元素都被宣告為 "http://www.php.cn" 這個命名空間。

一旦您擁有了可用的XML Schema 實例命名空間:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

您就可以使用schemaLocation 屬性了。此屬性有兩個值。第一個值是需要使用的命名空間。第二個值是命名空間使用的XML schema 的位置:

xsi:schemaLocation="http://www.php.cn note.xsd"