xml語法詳解

字號(hào):


    一、文檔規(guī)則
    1.區(qū)分大小寫。
    2.屬性值必須加引號(hào)(單引號(hào)、雙引號(hào)都可以),一般情況下建議使用使用雙引號(hào)。
    3.所有標(biāo)記必須有結(jié)束符號(hào)。
    4.所有空標(biāo)記必須關(guān)閉。
    5.必須有且僅有一根元素。
    6.解析空白字符時(shí),會(huì)按照實(shí)際內(nèi)容輸出,不會(huì)縮略。
    7.特殊字符處理:
    字符 替換字符
    <&lt;
    >&gt;
    &&amp;
    "&quto;
    ' &apos;
    8.標(biāo)記名稱約定:
    a.可以包含字母、數(shù)字、其他字符。
    b.不能以數(shù)字和下劃線開頭。
    c.不能以xml或者Xml之類的字符開頭。
    d.不能包含空格
    二、xml聲明
    xml聲明標(biāo)準(zhǔn)語句:<?xml version="1.0" encoding="GB2312" standalone="yes"?>
    強(qiáng)調(diào):
    1.“<?xml” 中的"<?"和"xml"中間不能有空格。
    2.”?>"之前可以有空格,也可以沒有。
    3.enconding和standalone是可選屬性,encoding默認(rèn)值是"UTF-8",standalone默認(rèn)值是"no"。
    4.常見的編碼方式有:
    簡(jiǎn)體中文:GB2312
    繁體中文 :BIG5
    西歐字符:UTF-8,UTF-16
    5.standalone表示文檔是否附帶DTD文件。
    三、xml屬性
    因?yàn)閿?shù)據(jù)既可以存儲(chǔ)在子元素中也可以存儲(chǔ)在屬性中,那么何時(shí)用屬性,何時(shí)用子元素,沒有固定規(guī)則,但是建議:元數(shù)據(jù)應(yīng)該以屬性的方式存儲(chǔ),而數(shù)據(jù)本身應(yīng)該以元素的形式存儲(chǔ)。
    使用屬性會(huì)引發(fā)以下問題:
    1.屬性不能包含多個(gè)值(子元素可以)。
    2.屬性不容易擴(kuò)展。
    3.屬性不能描述結(jié)構(gòu)(子元素可以)。
    4.屬性很難通過DTD進(jìn)行測(cè)試。
    四、命名空間
    聲明命名空間倆種方式:
    1.默認(rèn)聲明,所有元素不需要指定前綴,如:
    <schema xmlns="http://www.w3.org/2001/XMLschema">
    <element name="diguonianzhu" type="string"/>
    ……
    </schema>
    2.明確聲明,xmlns關(guān)鍵字與一個(gè)命名空間的URI的前綴相關(guān)聯(lián),所有元素都需要指定前綴,如:
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLschema">
    <xsd:element name="diguonianzhu" type="string"/>
    ……
    <xsd:/schema>
    強(qiáng)調(diào):用來表示命名空間的URI并不被XML解析器調(diào)用,實(shí)際上并不去訪問這個(gè)URI,它只是表示一個(gè)標(biāo)識(shí)名字而已。
    五、XML專用標(biāo)記:CDATA
    CDATA的全稱是Character DATA,即字符數(shù)據(jù),它主要用來顯示特殊字符,比如"<"。
    CDATA的語法格式為:
    <![CDATA[要顯示的字符]]> 如:
    <?xml version="1.0"?>
    <data>
    <![CDATA[
    <ok alma!> by a&b!
    ]]>
    </data>
    強(qiáng)調(diào):CDATA不能嵌套;要顯示的字符中不能包含"]]>"。