中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

XML學習筆記(一):XML中的命名空間
來源:易賢網(wǎng) 閱讀:1835 次 日期:2015-08-26 15:23:24
溫馨提示:易賢網(wǎng)小編為您整理了“XML學習筆記(一):XML中的命名空間”,方便廣大網(wǎng)友查閱!

由于項目需要對大量的XML文件進行處理,而自己當時的XML知識還僅限在怎么編寫XML實 例文檔,使用簡單的XPath對XML文檔進行搜索,而對于XML模式、XLST沒有任何概念。一句話就是XML的相關知識還是相當?shù)膮T乏,所以下決心開 始學習XML比較深入的知識,而此次的XML學習之旅將從XML模式開始。并將此學習過程中的一些心得總結出來,以供大家分享。文中有不當之處,望前輩指 點一二:)

一、XML中命名空間的作用

之前每當自己編寫XML實例文檔時總是會被命名空間所困擾,不明白它的意義和作用,但是好像 對自己編寫XML實例文檔也沒有什么影響,所以也沒有深入的去理解它。其實XML里的命名空間的作用與其它語言(如C#)中命名空間的作用差不多:為命名 提供一個容器,只要在該容器中沒有相同的命名就可以避免命名沖突。在不同的命名空間里的相同的命名會被解析成兩個不同的命名。下面的示例中定義了兩個 XML模式和一個XML實例文檔

n1schema.xsd

<?xml version="1.0" encoding="utf-8"?>

<xs:schema id="n1schema"

targetNamespace="http://tempuri.org/n1schema.xsd"

elementFormDefault="qualified"

xmlns="http://tempuri.org/n1schema.xsd"

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

>

<xs:complexType name="Address">

<xs:sequence>

<xs:element name="Country" type="xs:string"></xs:element>

<xs:element name="Province" type="xs:string"></xs:element>

<xs:element name="City" type="xs:string"></xs:element>

</xs:sequence>

</xs:complexType>

</xs:schema>

n2schema.xsd

<?xml version="1.0" encoding="utf-8"?>

<xs:schema id="n2schema"

targetNamespace="http://tempuri.org/n2schema.xsd"

elementFormDefault="qualified"

xmlns="http://tempuri.org/n2schema.xsd"

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

>

<xs:complexType name="Address">

<xs:sequence>

<xs:element name="Country" type="xs:string"></xs:element>

<xs:element name="State" type="xs:string"></xs:element>

<xs:element name="City" type="xs:string"></xs:element>

</xs:sequence>

</xs:complexType>

</xs:schema>

multiNamespaceTest.xml

<?xml version="1.0" encoding="utf-8" ?>

<root xmlns:n1="http://tempuri.org/n1schema.xsd"

xmlns:n2="http://tempuri.org/n2schema.xsd"

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

<billTo xsi:type="n1:Address">

<n1:Country>China</n1:Country>

<n1:Province>Jiangsu</n1:Province>

<n1:City>Nanjing</n1:City>

</billTo>

<shipTo xsi:type="n2:Address">

<n2:Country>USA</n2:Country>

<n2:State>IL</n2:State>

<n2:City>Chicago</n2:City>

</shipTo>

</root>

在n1shema.xsd和n2schema.xsd中都定義了一個復雜類型 Address,然后在multiNamespaceTest.xml實例文檔中引入前兩個XML模式定義的命名空間,我們可以看到billTo元素定義 為n1schema.xsd中定義的Address類型,而shipTo元素定義為n2schema.xsd中定義的Address類型,在 multiNamespaceTest.xml中這兩個Address類型并不會相互沖突。

二、XML模式創(chuàng)建的命名空間

從上面的n1schema.xsd和n2schema.xsd中可以看出,它們的schema元素都定義了targetNamespace屬性(參考W3C描述),該屬性就定義了該XML模式所創(chuàng)建的命名空間,所有在該XML模式中聲明的元素和定義的類型、屬性都處于該命名空間內(nèi),這樣在引用該命名空間的XML文檔就可以引用那些元素和類型、屬性了。

n1shema.xsd和n2schema.xsd的根元素xs:schema還可以定義elementFormDefault和attributeFormDefault屬性(參考W3C描述), 它們的值只能是qualified或unqualified,它們的默認值都是unqualified。elementFormDefault屬性用于設 定該XML模式創(chuàng)建的命名空間中的局部元素和類型被引用時是否需要指定的前綴;attributeFormDefault屬性用于設定該XML模式創(chuàng)建的 命名空間中的屬性被引用時是否需要指定的前綴。

qualifiedSchema.xsd——兩個屬性都設為qualified

<?xml version="1.0" encoding="utf-8"?>

<xs:schema id="qualifiedSchema"

targetNamespace="http://tempuri.org/qualifiedSchema.xsd"

elementFormDefault="qualified" attributeFormDefault="qualified"

xmlns="http://tempuri.org/qualifiedSchema.xsd"

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

>

<xs:element name="books" type="BooksType"></xs:element>

<xs:complexType name="BooksType">

<xs:sequence>

<xs:element name="book" type="BookType" minOccurs="1" maxOccurs="unbounded"></xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="BookType">

<xs:sequence>

<xs:element name="ISBN" type="xs:string"></xs:element>

<xs:element name="Name" type="xs:string"></xs:element>

</xs:sequence>

<xs:attribute name="Category" type="xs:string"></xs:attribute>

</xs:complexType>

</xs:schema>

qualifiedTest.xml

<?xml version="1.0" encoding="utf-8" ?>

<q:books xmlns:q="http://tempuri.org/qualifiedSchema.xsd">

<q:book q:Category="Computer">

<q:ISBN>7115134162</q:ISBN>

<q:Name>C++ Primer Plus(第五版)</q:Name>

</q:book>

<q:book q:Category="Computer">

<q:ISBN>7115134162</q:ISBN>

<q:Name>C++ Primer Plus(第五版)</q:Name>

</q:book>

</q:books>

由上可以看到qualifiedTest.xml中引用qualifiedSchema.xsd中定義的屬性和元素時都加上了q:前綴。而下面的兩段代碼顯示了elementFormDefault和attributeFormDefault屬性設為unqualified的情形

unqualifiedSchema.xsd——兩個屬性都是用默認值unqualified

<?xml version="1.0" encoding="utf-8"?>

<xs:schema id="unqualifiedSchema"

targetNamespace="http://tempuri.org/unqualifiedSchema.xsd"

xmlns="http://tempuri.org/unqualifiedSchema.xsd"

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

>

<xs:element name="books" type="BooksType"></xs:element>

<xs:complexType name="BooksType">

<xs:sequence>

<xs:element name="book" type="BookType" minOccurs="1" maxOccurs="unbounded"></xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="BookType">

<xs:sequence>

<xs:element name="ISBN" type="xs:string"></xs:element>

<xs:element name="Name" type="xs:string"></xs:element>

</xs:sequence>

<xs:attribute name="Category" type="xs:string"></xs:attribute>

</xs:complexType>

</xs:schema>

unqualifiedTest.xml

<?xml version="1.0" encoding="utf-8" ?>

<q:books xmlns:q="http://tempuri.org/unqualifiedSchema.xsd">

<book Category="Computer">

<ISBN>7115134162</ISBN>

<Name>C++ Primer Plus(第五版)</Name>

</book>

<book Category="Computer">

<ISBN>7115134162</ISBN>

<Name>C++ Primer Plus(第五版)</Name>

</book>

</q:books>

但是,無論 elementFormDefault和attributeFormDefault屬性設為qualified還是unqualified,引用XML模式中定義的全局元素都必須加上q:前綴(有種情況下,引用XML模式中定義的全局元素不需要加上前綴,該情況會在第三部分進行介紹)。

當然,這里還有一種特殊的情況:XML模式的schema元素沒有定義targetNamespace屬性,那么該XML模式就不會創(chuàng)建命名空間。

三、XML模式的引用方式

引用具有命名空間的XML模式

我們在編寫XML實例文檔時,可以引用本地XML模式創(chuàng)建的命名空間,也可以引用網(wǎng)絡中可訪 問的XML模式定義的命名空間,但是它們的引用方式不一樣。前面兩部分的xml文件都是引用本地XML模式定義的命名空間。下面介紹一下如何引用網(wǎng)絡中可 訪問的XML模式創(chuàng)建的命名空間。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:XML學習筆記(一):XML中的命名空間

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久在线视频| 国产主播一区二区三区| 亚洲激情偷拍| 国产精品免费网站| 久久久久久久欧美精品| 99精品热视频只有精品10| 久久精品亚洲一区二区| 一本一本a久久| 91久久久久久久久久久久久| 国产午夜精品全部视频播放| 久久久久久夜精品精品免费| 在线一区欧美| 日韩视频在线你懂得| 国产精品国产三级国产aⅴ无密码| 欧美中文在线观看| 亚洲精品一二区| 欧美手机在线| 亚洲精品看片| 韩国在线视频一区| 国产又爽又黄的激情精品视频 | 欧美另类极品videosbest最新版本| 久久国产99| 久久激情视频久久| 久久都是精品| 久久精品国产精品亚洲综合| 久久中文字幕一区二区三区| 女生裸体视频一区二区三区| 欧美日韩一区综合| 欧美精品色综合| 欧美色网一区二区| 激情国产一区二区| 亚洲欧美日韩精品久久| 噜噜噜噜噜久久久久久91| 欧美午夜视频在线| 韩日在线一区| 欧美日韩一区精品| 欧美日韩亚洲三区| 韩国欧美国产1区| 亚洲专区欧美专区| 免费高清在线一区| 国产精品网曝门| 一区二区电影免费在线观看| 久久婷婷激情| 国产在线精品一区二区中文| 亚洲欧美日韩精品一区二区| 欧美日韩一区二区视频在线| 在线看片成人| 久久久久99| 在线欧美福利| 老司机一区二区三区| 国内精品国语自产拍在线观看| 亚洲一区中文| 国产精品资源| 久久黄色影院| 一区在线免费| 美女成人午夜| 99热精品在线| 欧美日韩精品免费| 日韩系列在线| 欧美成在线观看| 亚洲盗摄视频| 欧美18av| 亚洲国产精品久久91精品| 免费在线欧美黄色| 9久re热视频在线精品| 国产精品家教| 久久亚洲图片| 欧美成人资源| 国产精品一区二区在线观看| 午夜在线观看免费一区| 国产日韩在线看片| 乱人伦精品视频在线观看| 亚洲欧洲日产国产综合网| 欧美片第一页| 午夜精品在线观看| 亚洲视频大全| 国产性色一区二区| 噜噜噜91成人网| 夜夜嗨av一区二区三区四区| 国内精品久久久久影院 日本资源| 美女脱光内衣内裤视频久久网站| 亚洲精品久久久久久久久久久久 | 欧美日韩在线精品| 亚洲欧美日韩精品一区二区| 国内久久精品| 欧美三日本三级三级在线播放| 午夜视频精品| 亚洲国产你懂的| 国产色综合久久| 欧美三区美女| 欧美电影免费| 久久只精品国产| 先锋影音一区二区三区| 一区二区高清在线观看| 亚洲黄页一区| 国产综合欧美在线看| 国产精品一二一区| 国产噜噜噜噜噜久久久久久久久| 欧美日韩免费网站| 久久久国产精彩视频美女艺术照福利 | 亚洲午夜精品| 亚洲丰满在线| 国产综合色一区二区三区| 国产欧美综合在线| 国产精品女主播一区二区三区| 欧美视频精品一区| 国产精品捆绑调教| 国产精品一区免费视频| 国产精品国产亚洲精品看不卡15| 欧美日韩国产免费| 欧美午夜剧场| 国产日韩欧美日韩大片| 国产日本亚洲高清| 国内外成人免费激情在线视频| 国内精品久久久久久 | 久久乐国产精品| 欧美 日韩 国产 一区| 国产精品揄拍500视频| 狠狠入ady亚洲精品| 亚洲激情综合| 亚洲伊人伊色伊影伊综合网| 久久成人精品无人区| 久久精品麻豆| 欧美日韩国产综合网 | 精品成人在线观看| 91久久精品国产91性色| 9色国产精品| 久久精品国产综合| 亚洲欧美卡通另类91av | 欧美精品九九99久久| 欧美日韩国产美| 欧美亚一区二区| 狠狠操狠狠色综合网| 一区二区av在线| 欧美freesex8一10精品| 国产视频精品免费播放| 亚洲另类黄色| 欧美电影免费网站| 亚洲激情中文1区| 老司机免费视频久久| 在线播放一区| 欧美成人精品| 亚洲精品少妇| 欧美日产在线观看| 日韩视频免费| 欧美精品一区在线发布| 亚洲免费福利视频| 国产精品国产三级国产专区53| 亚洲一二三级电影| 国产香蕉97碰碰久久人人| 久久精品30| 亚洲电影av| 欧美激情va永久在线播放| 国语自产精品视频在线看| 欧美一区视频在线| 亚洲第一福利在线观看| 欧美成人免费全部观看天天性色| 国内一区二区三区在线视频| 亚洲天堂成人在线观看| 欧美视频一区| 亚洲小说春色综合另类电影| 午夜精品婷婷| 99视频精品免费观看| 久久综合伊人77777| 牛牛影视久久网| 亚洲欧美日韩精品久久亚洲区 | 美女精品视频一区| 国产精品日韩二区| 欧美亚洲第一区| 久久久久国产精品一区二区| 欧美体内she精视频在线观看| 亚洲激情社区| 久久―日本道色综合久久| 国产精品成人在线观看| 999在线观看精品免费不卡网站| 美腿丝袜亚洲色图| 黄色在线成人| 久久成人免费电影| 国产精品亚洲一区| 在线看片一区| 国产香蕉97碰碰久久人人| 先锋影音久久| 国产午夜精品麻豆| 久久动漫亚洲| 在线成人av.com| 久久精品一二三| 黄色成人av网站| 久久―日本道色综合久久| 一区二区三区在线看| 久久久久久久综合狠狠综合| 激情五月***国产精品| 亚洲欧美成人网| 亚洲小视频在线| 狠狠色伊人亚洲综合成人| 久久在线精品| 99视频精品在线| 国产中文一区二区| 欧美国产乱视频| 香蕉久久久久久久av网站| 在线日本成人|