国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

xsi:schemaLocation詳解

2019-11-08 01:48:23
字體:
來源:轉載
供稿:網友

xsi:schemaLocation詳解

在實例中引用模式文檔

xml Schema提供了兩個在實例文檔中使用的特殊屬性,用于指出模式文檔的位置。這兩個屬性是:xsi:schemaLocation和xsi:noNamespaceSchemaLocation,前者用于聲明了目標名稱空間的模式文檔,后者用于沒有目標名稱空間的模式文檔,它們通常在實例文檔中使用。

4.5.7.1  xsi:schemaLocation屬性

xsi:schemaLocation屬性的值由一個URI引用對組成,兩個URI之間以空白符分隔。第一個URI是名稱空間的名字,第二個URI給出模式文檔的位置,模式處理器將從這個位置讀取模式文檔,該模式文檔的目標名稱空間必須與第一個URI相匹配。我們看例4-28。

例4-28  book6.xml

 

<?xml version="1.0" encoding="GB2312"?><book xmlns="http://www.sunxin.org/book"   ①xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  ②xsi:schemaLocation="http://www.sunxin.org/book http://www.sunxin.org/book.xsd">  ③<title>《Struts 2深入詳解》</title><author>孫鑫</author></book>

① 聲明默認的名稱空間(http://www.sunxin.org/book)。

② 聲明XML Schema實例名稱空間(http://www.w3.org/2001/XMLSchema-instance),并將xsi前綴與該名稱空間綁定,這樣模式處理器就可以識別xsi:schemaLocation屬性。XML Schema實例名稱空間的前綴通常使用xsi。

③ 使用xsi:schemaLocation屬性指定名稱空間http://www.sunxin.org/book和模式位置http://www.sunxin.org/book.xsd相關。要注意,在這個例子中,book.xsd中聲明的目標名稱空間要求是http://www.sunxin.org/book。

一個可能的模式文檔book.xsd如例4-29所示。

例4-29  book.xsd

 

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sunxin.org/book" targetNamespace="http://www.sunxin.org/book" elementFormDefault="qualified"><xs:element name="book" type="bookType"/><xs:complexType name="bookType"><xs:sequence><xs:element name="title" type="xs:string"/><xs:element name="author" type="xs:string"/></xs:sequence>  </xs:complexType></xs:schema>

實際上,xsi:schemaLocation屬性的值也可以由多個URI引用對組成,每個URI引用對之間使用空白符分隔。例4-30的實例文檔使用了多個名稱空間,xsi:schemaLocation屬性的值包含了兩對URI。

例4-30  books.xml

 

<?xml version="1.0" encoding="GB2312"?><books xmlns="http://www.sunxin.org/bks" xmlns:p="http://www.sunxin.org/people"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.sunxin.org/bks bks.xsdhttp://www.sunxin.org/people people.xsd"><book><title>jsp深入編程</title><author><p:name>張三</p:name><p:title>作家</p:title></author></book><book><title>XML從入門到精通</title><author><p:name>李四</p:name><p:title>教師</p:title></author></book></books>

XML Schema推薦標準中指出,xsi:schemaLocation屬性可以在實例中的任何元素上使用,而不一定是根元素,不過,xsi:schemaLocation屬性必須出現在它要驗證的任何元素和屬性之前。

此外,要注意的是,XML Schema推薦標準并沒有要求模式處理器必須要使用xsi:schemaLocation屬性,某些模式處理器可以通過其他的方式來得到模式文檔的位置,而忽略xsi:schemaLocation屬性。

xsi:noNamespaceSchemaLocation屬性

xsi:noNamespaceSchemaLocation屬性用于引用沒有目標名稱空間的模式文檔。與xsi:schemaLocation屬性不同的是,xsi:noNamespaceSchemaLocation屬性的值是單一的值,只是用于指定模式文檔的位置。例4-31顯示了在實例文檔中xsi:noNamespaceSchema Location屬性的使用。

例4-31  book7.xml

 

<?xml version="1.0" encoding="GB2312"?><book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="book.xsd" isbn="978-7-121-06812-6" ><title>《Struts 2深入詳解》</title><author>孫鑫</author></book>

與xsi:schemaLocation屬性一樣,xsi:noNamespaceSchemaLocation屬性也可以在實例中的任何元素上使用,而不一定是根元素,不過,xsi:noNamespaceSchemaLocation屬性必須出現在它要驗證的任何元素和屬性之前。

此外,要注意的是,XML Schema推薦標準并沒有要求模式處理器必須要使用xsi:noNamespaceSchemaLocation屬性,某些模式處理器可以通過其他的方式來得到模式文檔的位置,而忽略xsi:noNamespaceSchemaLocation屬性。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南丰县| 义乌市| 波密县| 资源县| 莎车县| 七台河市| 丽水市| 临汾市| 娄烦县| 中阳县| 开原市| 繁昌县| 克什克腾旗| 鲜城| 南郑县| 盐源县| 宜章县| 册亨县| 光泽县| 青龙| 兰溪市| 济阳县| 六盘水市| 繁昌县| 靖安县| 西充县| 吴旗县| 黄骅市| 定远县| 嵊州市| 星座| 长武县| 乐至县| 贵阳市| 加查县| 宁海县| 三台县| 镇宁| 镶黄旗| 苏尼特右旗| 汕头市|