<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BloveSaga

    在希臘帕爾納斯山南坡上,有一個馳名世界的戴爾波伊神托所,在它的入口處的巨石上赫然銹刻著這樣幾個大字: 認識你自己!

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      34 隨筆 :: 12 文章 :: 122 評論 :: 0 Trackbacks
    XML文檔結構包含下面三個部分:
    * 聲明部分,聲明該文檔是一個XML文檔.
    * 定義部分,定義XML數據的類型以及所使用的DTD(可選).
    * 內容部分,用XML標簽和注釋標注過的文檔類容.

    聲明

    XML文檔以XML聲明開頭,聲明本文檔是一個XML文檔.一般這樣書寫:
    <? xml version encoding standalone?>
    定義符<?和?>表示這是一條給XML解析器的處理指令.雖然聲明這條語句是可有可無的,但考慮到以后的兼容,建議讀者還是寫上為好.隨著語言的進一步發展,以后的瀏覽器如果知道文檔所用的XML版本的話,將是有好處的.這天語句必須全部用小寫.
    在上面的聲明中version表示的XML的標準版本號.encoding表示的是文檔所用的編碼.standalone用來指定在XML文檔被解析之前,是否使用外部或內部DTD,它的值只能是yes或no.如果為no,表示使用外部DTD;如果為yes表示使用內部DTD;如果不使用DTD,則不使用這個屬性.
    看下面的實際例子:
    <?xml version="1.0" encoding="UTF-8" standalone="yes">
    在XML聲明之后,緊接著是類型定義部分,定義XML文檔中數據的類型.

    文檔定義類型(DTD)

    DTD是用來定義XML文檔內容的結構的,以便按統一的格式存儲信息.DTD規定了XML文檔中可以出現哪些元素;這些元素是必須的還是可選的;這些元素有什么屬性;以及它們之間的相互位置關系,等等.XML允許用戶為自己的應用程序定義專用的DTD,這樣用戶就可以完全檢查文檔結構和內容的過程了.這一檢驗過程稱為有效化,嚴格依從一個DTD的XML文檔被稱作有效文檔.
    創建DTD的過程與在數據庫里創建數據表是類似的.在DTD中,用戶定義用來表示數據的元素,然后規定數據的結構,并規定這個元素是可選的還是必須的,這就好比創建數據表的列;然后你把數據存入XML文檔,就好比添加數據表的記錄.
    XML文檔使用的元素可以在內部DTD中定義,也可以在外部DTD中定義.

    內部DTD
    DTD可以作為文檔的一部分直接放到文檔里面,這樣的DTD只能用于包含它的這個文檔,別的文檔就不能使用了.創建內部DTD的語法如下:
    <!DOCTYPE rootelement
    [element and attribute declarations]
    >
    <!DOCTYPE標識文檔類型定義的開始,屬性rootelement指明跟元素名字.

    為部DTD
    外部DTD是一個單獨的文件,存放XML文檔中可以使用的全部元素及屬性的定義.你可以在多個文檔中同時使用同一個DTD,以便保持多個文檔之間數據結構的一致性。
    在XML文檔中引用外部DTD的語法如下:
    <!DOCTYPE rootelement [PUBLIC|SYSTEM] "name-of-file">
    其中,DOCTYPE標識這是文檔類型定義部分;rootelement代表根元素;PUBLIC表示這個DTD是存放在公用服務器上的;SYSTEM表示這個DTD是存放在本地計算機系統上的;Name-of-file是被引用的DTD文件的名稱.

    DTD字符
    下表是DTD中使用的部分專用字符及其含義.
    DTD字符含義舉例描述
    ,指定順序中的"與"Firstname ,LastnameFirstname與Lastname,以此順序
    |"或"Firstname | LastnameFirstname或Lastname
    ?"可選項',只能出現一次Lastname?可以不出現Lastname,但如果使用,則只能出現一次
    ()用于組成元素(Firstname | Lastname),Address一個Firstname或Lastname元素必須出現在Address元素之前
    *該元素可以不出現也可以出現多次(Firstname | Lastname)*可以以任何順序出現任意個數Firstname或Lastname元素
    ? 該元素至少出現一次也可以出現多次(Firstname +)可以出現多個Firstname元素

    在DTD中定義元素

    元素是XML文件的基本組成部分.每個元素都是用標簽標識的一小段數據.標簽包括了元素的名字和屬性.
    XML允許用于創建自己的元素集.因此,元素名應該取得容易記憶,并且最好有一定的含義,讓人一看到它,便對里面的數據有個大概的了解.XML是大小寫敏感的,所以要么你全用大寫,要么就一律用小寫.
    定義元素的語法如下:
    <!ELEMENT elementname content>
    在DTD中,你通過創建一個元素內容模型(element content model)來精確的規定一個元素中是否喊有其它元素,可以出現多少次以及按什么順序出現.如果元素中只包含別的元素,而不包含字符數據,我們就說它只含有元素內容.

    XML中命名元素的規則
    * 元素名至少要含有一個字母(a-z或A-Z中的一個)
    * 元素名可以用下劃線(_)或冒號( : )開頭.
    * 第一個字符后面可以是一個或多個字母,數字,連字符,下劃線或句號,但不能是空格和定位符(tab),至于標點符號只能使用連字符(-)和句號(.).

    對于完整的命名規則,請參看http://www.w3.org/XML/上的在線XML介紹

    元素類型
    元素有空元素,自由元素和容器元素三種(如下表:)
    元素類型語法 
    空元素(Empty)<!ELEMENT empty.element EMPTY><!ELEMENT empty.element EMPTY>
    自由元素(Unrestricted)<!ELEMENT any.element ANY><!ELEMENT any.element ANY>
    容器元素(Container)<!ELEMENT TITLE(#PCDATA)><!ELEMENT TITLE(#PCDATA)>
    PCDATA 表示 parsable character data,既可解析的字符數據.為了避免將這一關鍵字與普通的元素名混淆起來,在此關鍵字前加前綴字符#.

    分析下面的標簽結構:
    <student>
    <firstname> Blove </firstname>
    <lastname> Saga </lastname>
    <rollno> 49 </rollno>
    <score> 70 </score>
    </student>
    要使上面的文檔生效,必須創建一個DTD,里面包含student,firstname,lastname,rollno,score等五個元素的定義.另外,還要規定這五個元素是必須的或可選的;以規定順序或任意排序;以及它們出現的次數.用戶為這些規定編寫元素定義,每個元素的定義可能不同.
    譬如,如果firstname和lastname都是必需的元素,并且firstname要在lastname后面,那么DTD可以這樣編寫:
    <!ELEMENT student ?(firstname,lastname)><!--元素內容-->
    <!ELEMENT firstname (#PCDATA)><!--元素內容-->
    <!ELEMENT?lastname? (#CDATA)><!--元素內容-->
    注意:
    數據類型#CDATA表示元素包含字符型數據,解析器不解析這些數據,其中的標簽是不作為標記的.
    數據類型#PCDATA表示元素包含字的數據將由解析器解析,其中的標簽是被作為標記處理.
    posted on 2006-06-13 16:42 藍色Saga 閱讀(504) 評論(0)  編輯  收藏 所屬分類: Basic XML

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


    網站導航:
     
    主站蜘蛛池模板: 免费成人激情视频| 久久精品国产亚洲AV高清热| 6080午夜一级毛片免费看6080夜福利| 亚洲乱码av中文一区二区| 亚洲成a人片在线观看无码| 四虎永久免费网站免费观看| av免费不卡国产观看| 在线观看肉片AV网站免费| 亚洲avav天堂av在线网毛片| 亚洲最新黄色网址| 亚洲狠狠婷婷综合久久久久| 亚洲AV蜜桃永久无码精品| 成年女人免费视频播放体验区 | 成人无遮挡毛片免费看| 久草视频在线免费看| 成年女人A毛片免费视频| WWW亚洲色大成网络.COM| 亚洲av一本岛在线播放| 老汉色老汉首页a亚洲| 日韩亚洲人成在线综合日本 | 亚洲精品成a人在线观看☆| 亚洲黄色三级网站| 国产亚洲av片在线观看16女人| 亚洲精品国产精品乱码不卡| 波多野结衣中文一区二区免费 | 国产AV无码专区亚洲精品| 久久青青草原亚洲av无码| 亚洲国产成人a精品不卡在线 | 精品女同一区二区三区免费播放| 亚洲 日韩 色 图网站| 亚洲依依成人精品| 亚洲免费视频观看| 亚洲av成人综合网| 色噜噜亚洲男人的天堂| 亚洲自国产拍揄拍| 在线a亚洲老鸭窝天堂av高清| 亚洲人6666成人观看| 亚洲另类春色校园小说| 97久久国产亚洲精品超碰热| 国产亚洲精品bv在线观看| 精品亚洲成在人线AV无码|