posts - 12,  comments - 2,  trackbacks - 0
          XML 是代表可擴(kuò)展的標(biāo)記語言(XML stands for Extensible Markup Language)
          XML 是設(shè)計(jì)用來儲(chǔ)存數(shù)據(jù)和運(yùn)載數(shù)據(jù)的
          XML 是設(shè)計(jì)用來攜帶數(shù)據(jù)的,而不是展示數(shù)據(jù)的
          XML 的標(biāo)記不是預(yù)定義的,你必須自己定義自己的標(biāo)記
          XML 是用來攜帶數(shù)據(jù)和存儲(chǔ)的和簡(jiǎn)化分享,而HTML 用來展示數(shù)據(jù)和格式化數(shù)據(jù)的 ,XML和HTML 在一起就是內(nèi)容和形式的關(guān)系.
          一套內(nèi)容可以有多重表示方式,一個(gè)形式,可以展示同一結(jié)構(gòu)的的不同的數(shù)據(jù)
          Java EJB里的實(shí)體是一個(gè)POJO ,而XML 是一個(gè) Plain text

          WSDL for describing available web services
          WAP and WML as markup languages for handled devices
          RSS languages for news feeds
          RDF and OWL for describing resource and ontology.

          XML 文檔組成樹的結(jié)構(gòu) 起于樹根 (root)到分支到樹葉 一個(gè)root element 其它都是child elements
          parent children sibling

          XML 規(guī)則
          1.必須有個(gè)結(jié)束標(biāo)記(tag)
          The declaration is not a part of the XML document itself, and it has no closing tag.
          聲明不是XML 文檔本身,所以沒有結(jié)束標(biāo)記
          2.XML tags 是區(qū)分大小寫的
          3.XML 元素必須有合理的嵌套
          4.XML必須有根元素
          5.Entity References 由于字符的兩意性,所以必須用到實(shí)體的引用
          如:< 在通常的文件表示兩種意思,一個(gè)是<>標(biāo)號(hào)的開始,一個(gè)是<小于
          在XML 里面如果用單個(gè)< 而沒有配對(duì)的部分,就報(bào)錯(cuò).不會(huì)認(rèn)為是<小于
          <message> if salary <1000 then </message>  error
          <meassge> if salary &lt ; 1000 then </message>
          &lt; < less than 小于
          &gt; > greater than 大于
          &amp; & ampersand 
          &apos; ' apostrophe單引號(hào)
          &quot; " quotation mark 雙引號(hào)

          "<" and "$ 在XML 里面是非法的
          XML 的注釋
          <!-- This a comment-->
          HTML 的注釋,JSP和XML注釋一樣
          Java注釋有兩種
          單行//
          多行/*  */
          XQuery 的注釋用
          (:  :)

          在XML 里面空格是保留不會(huì)被截去的
          XML 的換行用LF
          windows 用CR and LF unix 用LF ,Macintosh 用CR

          XML element 是包含開始標(biāo)簽和結(jié)束標(biāo)簽之間的任何東西
          XML 元素的命名規(guī)則:
          1.命名可以有字母,數(shù)字,和其他字符.
          2.打頭不能用數(shù)字和點(diǎn)號(hào)(.),或者是XML ,xml 等.
          3.命名不能包含空格.

          最佳命名實(shí)踐
          1. 推薦<first_name>
          2.不推薦用<first.name>【可以誤認(rèn)為是屬性】 <first-name>【可以誤認(rèn)為是減】 ,: (冒號(hào)是命名空間的保留符號(hào))

          XML 的屬性在開始標(biāo)記里,屬性是給元素提供額外的信息,必須被引用無論是
          單引號(hào)還是雙引號(hào).可以單雙混合 在HTML 中屬性是方便的,在XML 中建議避免用元素Element 代替


          為什么要避免使用屬性:
          1.屬性不能有多個(gè)值(element 能夠)
          2.屬性不能包含樹結(jié)構(gòu)(element 能夠)
          3.屬性擴(kuò)展不易

          XML Attributes for Metadata
          元數(shù)據(jù)應(yīng)該存儲(chǔ)為屬性,而數(shù)據(jù)本身應(yīng)該存儲(chǔ)為元素.

          正確的XML 文檔
          格式良好的XML的XML 文檔必須遵循文檔類型定義(DTD)的規(guī)則.
          引用DTD
          <!DOCTYPE note SYSTEM "Note.dtd">

          XML DTD
          DTD 的作用是定義XML文檔的結(jié)構(gòu)。它定義了合法元素的列表的結(jié)構(gòu)
          一個(gè)DTD的例子
          <!DOCTYPE note [
                      <!ELEMENT note (to,from,heading,body)>
                      <!ELEMENT to      (#PCDATA)>
                      <!ELEMENT from    (#PCDATA)>
                      <!ELEMENT heading (#PCDATA)>
                      <!ELEMENT body    (#PCDATA)>
                      ]>
          DTD 在文檔內(nèi)部定義必須包含
          <!DOCTYPE root-element [element-declarations]>
          外部定義如上.

          為什么使用DTD 
           1.使用DTD ,每個(gè)XML文件攜帶自身格式的描述文檔。
           2.驗(yàn)證數(shù)據(jù)。

          DTD-XML Building Blocks
          XML 文檔由下面的構(gòu)建塊組成:Elements元素,Attributes屬性,Entities實(shí)體
          [當(dāng)傳遞到XML解釋器中實(shí)體被展開]
          PCDATA 意味著需要解釋的字符數(shù)據(jù),entities 和標(biāo)記會(huì)被解釋器檢查.
          CDATA字符數(shù)據(jù),不會(huì)被解釋器所解釋

          Element元素
          空元素
          <!ELEMENT element-name EMPTY>
          如:
          <!ELEMENT br EMPTY>
          <br />
          元素包含可以剖析的字符數(shù)據(jù)
          <!ELEMENT element-name (#PCDATA)>
          元素包含任何內(nèi)容
          <!ELEMENT element-name ANY>
          有子的元素
          <!ELEMENT element-name (child1,child2,....)>
          順序必須一樣
          通配符(message) 只出現(xiàn)一次,(message+)至少一次,(message*)0次或更多
          (message?)0次或者是1次
          或關(guān)系(message|body)

          聲明屬性
          <!ATTLIST payment type CDATA "check">
          枚舉屬性值
          <!ATTLIST element-name attribute-name (en1|en2|..) default-value>

          <!ATTLIST payment type (check|cash) "cash">
          屬性在和數(shù)據(jù)關(guān)聯(lián)不太密切的時(shí)候才建議使用
          元數(shù)據(jù)存為屬性而數(shù)據(jù)本身存為元素

          字符實(shí)體是一個(gè)變量用來定義標(biāo)準(zhǔn)文本和特殊字符
          一個(gè)字符實(shí)體的聲明
          <!ENTITY copyright "Copyright W3Schools">
          <authou>&copyright;</author>
          一個(gè)實(shí)體由三個(gè)部分:&,實(shí)體名,和分號(hào);
          應(yīng)用外部實(shí)體聲明
          <!ENTITY writer SYSTEM "http://www.w3schools.com/entities.dtd">
          用XML Parser 驗(yàn)證
          load()用在文件中,loadXML()用在字符中
          已有的元素必須符合已有的規(guī)則

          xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 驗(yàn)證




          XML Schema 
          XML Schema 支持?jǐn)?shù)據(jù)類型和命名空間



           


          posted on 2008-05-14 00:18 doodoosun 閱讀(191) 評(píng)論(0)  編輯  收藏 所屬分類: XML

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類(6)

          隨筆檔案(11)

          文章分類(30)

          文章檔案(34)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 景洪市| 呼伦贝尔市| 城固县| 遵义县| 宁城县| 丰县| 柳江县| 永登县| 八宿县| 繁峙县| 承德市| 镇沅| 荔波县| 南乐县| 陆河县| 镇江市| 内丘县| 东莞市| 涟水县| 中卫市| 金乡县| 太和县| 阿拉尔市| 星子县| 特克斯县| 怀宁县| 托克逊县| 吉林省| 安岳县| 碌曲县| 松原市| 五河县| 蕲春县| 盐亭县| 临漳县| 天峻县| 宣武区| 宁陕县| 云龙县| 浦县| 龙山县|