fkjava

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            49 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

           

          今天在看用TdataSet生成的XML中第一行里有個standalone,不知道是什么意思,查了一下資料才知道它的作用,下面就把我了解的寫下來。

              standalone 用來表示該文件是否呼叫其它外部的文件。若值是 yes 表示沒有呼叫外部文件,若值是 no 則表示有呼叫外部文件。默認值是 yes”。

              這里所指的外部文件其實就是查檢XML是不是有效的約束文件,或是DTD或是Schema,那這兩者又有什么區別呢?

              盡管XML1.0提供了一種機制,即文檔類型定義(DTD)來規范XML的格式規則。但是它天生存在一些缺點,比如,它采用了非XML的語法規則、不支持更多的數據類型、擴展性差等,為了克服這些缺點,XML Schema 出現了。W3C推薦在XML中使用XML Schema來代替DTD

              XML Schema(模式) DTD一樣,也用于定義 XML 文檔的約束。但它與DTD明顯不同的是,XML Schema遵循XML語法規則,更好地支持數據類型以及命名空間。W3C稱:XML Schema is an XML based alternative to DTD。模式在單獨的文件中定義,通常擴展名為 .xsd。每個模式定義都有一個根元素 schema,該元素屬于名稱空間http://www.w3.org/2001/XMLSchemaschema 元素可以包含可選的屬性。

              比如:

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

              elementFormDefault="qualified" attributeFormDefault="unqualified">

              這表示模式中使用的元素來自http://www.w3.org/2001/XMLSchema名稱空間。

              XML 文件使用 schema 名稱空間中的 schemaLocation 屬性鏈接到對應的模式。使用 schemaLocation 屬性必須定義 schema 名稱空間。所有這些定義都出現在 XML 文檔的根元素中。

              語法如下:

              <root_element schema_namespace_definition schema_location_definition>

              下面是一個例子:

              <Books xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"

              xs:schemaLocation="http://www.example.com Books.xsd">

              先來看看一個XML文件示例(message.xml),分別用DTDXML Schema 描述這個文件,看看它們之間的區別:

              1、使用DTD

              <?xml version="1.0" standalone="yes"?>

              <!DOCTYPE message[

              <!ELEMENT message to,from,body>

              <!ELEMENT to      #PCDATA>

              <!ELEMENT from    #PCDATA>

              <!ELEMENT body    #PCDATA>

              ]>

              <message>

              <to>rose</to>

              <from>alex</from>

              <body>Hi,My Girl!</body>

             </message>

              2、使用XML Schema

              message.xml:

              <?xml version="1.0" standalone="no"? >

              <message xmlns=http://www.example.com

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

              xsi:schemaLocation="http://www.example.com message.xsd">

              <to>Rose</to>

              <from>Alex</from>

              <body>Hi,My Girl!</body>

              </message>

              message.xsd:

              <?xml version="1.0"?>

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

              targetNamespace=http://www.example.com

              xmlns="http://www.example.com" elementFormDefault="qualified">

              <xs:element name="message">

              <xs:complexType>

              <xs:sequence>

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

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

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

              </xs:sequence>

              </xs:complexType>

              </xs:element>

          </xs:schema>

               您正在看的文章來自瘋狂軟件教育中心 www.fkjava.org

               信息咨詢:Q564205990             星老師

          posted on 2012-08-19 17:27 瘋狂軟件 閱讀(282) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 囊谦县| 咸丰县| 怀集县| 古丈县| 崇明县| 建阳市| 德兴市| 焉耆| 长顺县| 晋州市| 中宁县| 临猗县| 临沧市| 久治县| 龙南县| 永济市| 西充县| 富裕县| 易门县| 沭阳县| 永仁县| 辽宁省| 潜江市| 西昌市| 香港| 大理市| 涿鹿县| 勃利县| 儋州市| 马山县| 拉孜县| 永靖县| 宜丰县| 三明市| 聊城市| 伊金霍洛旗| 柞水县| 通城县| 常州市| 华亭县| 贞丰县|