Read Sean

          Read me, read Sean.
          posts - 508, comments - 655, trackbacks - 9, articles - 4

          [XML學習筆記][2.1]XML驗證

          Posted on 2005-02-19 20:28 laogao 閱讀(343) 評論(0)  編輯  收藏 所屬分類: On Java

           

          為了使得我們定義的XML文檔有意義,我們通常必須為它定義一組語法,如:這個文檔應該包含那種類型的數據,這種數據的層次結構又是怎樣的,等等。這樣我們的XML文檔就可以通過專門的工具來驗證其合法性。

          有兩種方式:I- DTD (document type definition); II- XSD (XML Schema definition),我們分別來看一下。

          DTD比較簡單和直截了當,它可以很容易的定義元素和元素之間的隸屬關系,如:

          <!ELEMENT customer-repository (customer+)>

          <!ELEMENT customer (name, register-date, visits)>
          <!ATTLIST customer
            index ID #REQUIRED
          >

          <!ELEMENT name (#PCDATA)>
          <!ATTLIST name
            first-name CDATA #REQUIRED
            last-name CDATA #REQUIRED
          >

          <!ELEMENT register-date (#CDATA)>

          <!ELEMENT visits (#CDATA)>

          <!ELEMENT>用于定義元素,同時可以定義該元素是否包含其他元素,<!ATTLIST>用于定義元素的屬性,具體的語法可以參考http://www.w3c.org/xml/ 上的文檔。為了把我們的XML文檔和上面定義的語法聯系到一起,我們需要在XML中加入這樣一行代碼:

          <!DOCTYPE customer-repository SYSTEM "customer-repository.dtd">

          與DTD類似,XSD也是通過一些規(guī)則來定義一類XML的語法,它比DTD更加靈活,也更加強大,是目前W3C主推的XML驗證標準。它通過一些命名空間已經定義好的元素類型來定義我們的XML語法,如:

          <xsd:element name="visits" type="xsd:decimal" />

          這里的xsd就是我們要用到的名字空間。由于目前大部分的XML還都是使用DTD的方式,對XSD的了解就到這里吧。有興趣的可以去W3C的網站了解具體語法。

           

          主站蜘蛛池模板: 孝昌县| 上杭县| 凉山| 甘德县| 玛沁县| 温州市| 页游| 锦州市| 来宾市| 平远县| 富顺县| 密云县| 临猗县| 迁西县| 阿合奇县| 丰宁| 密山市| 凤阳县| 南涧| 西昌市| 神木县| 增城市| 西丰县| 伊宁县| 蒙阴县| 正定县| 泸溪县| 唐山市| 临沂市| 轮台县| 平和县| 丰都县| 宝坻区| 胶南市| 白银市| 龙泉市| 南城县| 巴南区| 蓝山县| 台山市| 霍邱县|