XML規(guī)范簡單理解

xml 的特性

  1. xml的設(shè)計(jì)宗旨是傳輸數(shù)據(jù)挡闰,而html宗旨是顯示內(nèi)容乒融。

  2. xml有自我描述性。

  3. 需要自定義標(biāo)簽摄悯。

  4. xml元素指的是從標(biāo)簽開始到結(jié)束的部分赞季。元素可以包含其他元素,文本或者兩者的混合物奢驯。

     <bookstore>
         <book category="CHILDREN">
             <title>Harry Potter</title>
             <author>J K. Rowling</author>
             <year>2008</year>
             <price>99.99</price>
         </book>
     </bookstore>
    

上例子中碟摆,只有book有屬性。

xml的命名規(guī)則

  1. 名稱可以含有數(shù)字叨橱,字母和其他字符典蜕。
  2. 不能以數(shù)字或者標(biāo)點(diǎn)開始。
  3. 不能以xml開始罗洗。
  4. 不能包含空格愉舔。
  5. 避免有中劃線"-"』锊耍可以使用下劃線"_"轩缤。
  6. 避免":"。冒號(hào)會(huì)被轉(zhuǎn)換為命名空間使用贩绕。
  7. 空標(biāo)簽的寫法:<noelement></noelement>或者<noelelment />火的。

W3C對(duì)xml的一些規(guī)定

  1. xml對(duì)大小寫敏感。
  2. 必須正確的嵌套淑倾。
  3. 必須有根元素馏鹤。
  4. 屬性值必須加引號(hào)。單引號(hào)和雙引號(hào)都可以娇哆。
  5. 文本中的<必須被&lt代替湃累。否則解析錯(cuò)誤。
  6. 注釋和html相同碍讨。
  7. xml中以\n來存儲(chǔ)換行治力,win以\r\n存儲(chǔ)換行,linux和unix以\r存儲(chǔ)換行勃黍。
  8. 建議xml少用屬性:屬性無法包含多重值宵统,屬性無法描述為樹結(jié)構(gòu),屬性不易擴(kuò)展覆获,屬性難以閱讀马澈。
  9. 元數(shù)據(jù)==存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)應(yīng)當(dāng)存儲(chǔ)為屬性瓢省。

xml的DTD(文檔類型定義)

DTD的作用是定義xml的文檔結(jié)構(gòu),使用一系列合法的元素來定義文檔結(jié)構(gòu):

    <!DOCTYPE note [
        <!ELEMENT note ( to, from, heading, body ) >
        <!ELEMENT to ( #PCDATA )>
        <!ELEMENT from ( #PCDATA ) >
        <!ELEMENT heading ( #PCDATA )>
        <!ELEMENT body (#PCDATA) >
    ]>

而W3C支持一種基于XML的DTD代替者箭券,名字為XML Schema:

    <xs:element name="note">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="to" type="xs:string" />
            <xs:element name="from" type="xs:string" />
            <xs:element name="heading" type="xs:string" />
            <xs:element name="body" type="xs:string" />
        </xs:sequence>
    </xs:complexType>
    </xs:element>

xml有命名空間

如果兩個(gè)xml文件同時(shí)使用相同的元素名稱净捅,那么命名會(huì)起沖突。
例如辩块,一個(gè)表格:

<table>
    <tr>
    <td>Apple</td>
    </tr>
</table>

一個(gè)有關(guān)桌子的信息:

<table>
    <name>Coffee table</name>
    <width>20</width>
</table>

使用前綴

某個(gè)表格信息可以表示為:

<h: table>
    <h: tr>
    <h: td>Apple</h:td>
    </h: tr>
</h:table>

某個(gè)家具信息:

<f:table>
    <f:name>Coffee table</f:table>
    <f:width>20</f:width>
</f:table>

使用命名空間

<h:table xmlns:h="http://www.w3.org/html4">
    <h: tr>
    <h: td>Apple</h:td>
    </h: tr>
</h:table>

帶有家具信息的xml:

<f:table xmlns:f="http://www.w3.org/furniture">
    <f:name>Coffee table</f:table>
    <f:width>20</f:width>
</f:table>

通過xmlns將此xml與某個(gè)命名空間相關(guān)聯(lián)蛔六。

默認(rèn)命名空間

如果每次在元素前面加f:或者h(yuǎn):是件很繁瑣的事情,以下辦法就可以省去命名空間的前綴:

xmlns="namespaceURI"

xml文檔的解析

xml文檔中的所有文本均會(huì)被解析废亭,這是由于每個(gè)元素中可能嵌套其他元素国章。

<message>此處文本會(huì)被解析</message>

除非用CDATA來標(biāo)識(shí)出不應(yīng)該被解析的部分

CDATA部分以"<!CDATA["開始,以"]]>"結(jié)束豆村。

<script>
<![CDATA[
function matchwo(a,b)
{
    if (a < b && a < 0) then
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
]]>
</script>

xml編碼

編碼方式

xml需要編碼為unicode編碼液兽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掌动,隨后出現(xiàn)的幾起案子四啰,更是在濱河造成了極大的恐慌,老刑警劉巖粗恢,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柑晒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡眷射,警方通過查閱死者的電腦和手機(jī)匙赞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妖碉,“玉大人涌庭,你說我怎么就攤上這事∨芬耍” “怎么了坐榆?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鱼鸠。 經(jīng)常有香客問我猛拴,道長,這世上最難降的妖魔是什么蚀狰? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮职员,結(jié)果婚禮上麻蹋,老公的妹妹穿的比我還像新娘。我一直安慰自己焊切,他們只是感情好扮授,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布芳室。 她就那樣靜靜地躺著,像睡著了一般刹勃。 火紅的嫁衣襯著肌膚如雪堪侯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天荔仁,我揣著相機(jī)與錄音伍宦,去河邊找鬼。 笑死乏梁,一個(gè)胖子當(dāng)著我的面吹牛次洼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遇骑,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼卖毁,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了落萎?” 一聲冷哼從身側(cè)響起亥啦,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎练链,沒想到半個(gè)月后翔脱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兑宇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年碍侦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隶糕。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓷产,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枚驻,到底是詐尸還是另有隱情濒旦,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布再登,位于F島的核電站尔邓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏锉矢。R本人自食惡果不足惜梯嗽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沽损。 院中可真熱鬧灯节,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至形入,卻和暖如春全跨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亿遂。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工浓若, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人崩掘。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓七嫌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親苞慢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诵原,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. XML簡介 以下內(nèi)容來自于http://www.w3school.com.cn/xml 基本知識(shí) XML 和...
    WebSSO閱讀 1,911評(píng)論 1 7
  • 經(jīng)過兩天的奮戰(zhàn),終于把xml簡略的過了一遍挽放。 1.1XML介紹 xml是Extensible Markup lan...
    Ystrator閱讀 814評(píng)論 0 2
  • 1. XML總結(jié) 1.1. XML簡介 XML : 可擴(kuò)展的標(biāo)記語言绍赛。(和HTML非常類似的) 可擴(kuò)展的。 自定義...
    Ethan_Walker閱讀 3,021評(píng)論 0 12
  • 2030年某一天辑畦,當(dāng)凱奇叔在最后一張支票上填上一筆十萬美元金額時(shí)吗蚌,長吁了一口氣,額頭上沁出來的幾滴大汗由于沒有頭發(fā)...
    秀木的異想世界閱讀 550評(píng)論 2 4
  • 兩個(gè)同事一臉懵逼地看著我——就在兩分鐘以前纯出,我告訴他們蚯妇,春節(jié)那天下雨了,還下了三個(gè)小時(shí)暂筝。 十五分鐘前上白班的我們終...
    7515b237f6ce閱讀 940評(píng)論 0 0