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

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

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

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    dtd xsd

    Posted on 2010-01-21 22:44 瘋狂 閱讀(890) 評論(0)  編輯  收藏 所屬分類: xml
    dtd:

    聲明一個元素

    在 DTD 中,XML 元素通過元素聲明來進行聲明。元素聲明使用下面的語法:

    <!ELEMENT 元素名稱 類別>

    或者

    <!ELEMENT 元素名稱 (元素內(nèi)容)>

    空元素

    空元素通過類別關(guān)鍵詞EMPTY進行聲明:

    <!ELEMENT 元素名稱 EMPTY>

    例子:

    <!ELEMENT br EMPTY>

    XML例子:

    <br />

    只有 PCDATA 的元素

    只有 PCDATA 的元素通過圓括號中的 #PCDATA 進行聲明:

    <!ELEMENT 元素名稱 (#PCDATA)>

    例子:

    <!ELEMENT from (#PCDATA)>

    帶有任何內(nèi)容的元素

    通過類別關(guān)鍵詞 ANY 聲明的元素,可包含任何可解析數(shù)據(jù)的組合:

    <!ELEMENT 元素名稱 ANY>

    例子:

    <!ELEMENT note ANY>

    帶有子元素(序列)的元素

    帶有一個或多個子元素的元素通過圓括號中的子元素名進行聲明:

    <!ELEMENT 元素名稱 (子元素名稱 1)>

    或者

    <!ELEMENT 元素名稱 (子元素名稱 1,子元素名稱 2,.....)>

    例子:

    <!ELEMENT note (to,from,heading,body)>

    當(dāng)子元素按照由逗號分隔開的序列進行聲明時,這些子元素必須按照相同的順序出現(xiàn)在文檔中。在一個完整的聲明中,子元素也必須被聲明,同時子元素也可擁有子元素。"note" 元素的完整聲明是:

    <!ELEMENT note (to,from,heading,body)>
    <!ELEMENT to      (#PCDATA)>
    <!ELEMENT from    (#PCDATA)>
    <!ELEMENT heading (#PCDATA)>
    <!ELEMENT body    (#PCDATA)>

    聲明只出現(xiàn)一次的元素

    <!ELEMENT 元素名稱 (子元素名稱)>

    例子:

    <!ELEMENT note (message)>

    上面的例子聲明了:message 子元素必須出現(xiàn)一次,并且必須只在 "note" 元素中出現(xiàn)一次。

    聲明最少出現(xiàn)一次的元素

    <!ELEMENT 元素名稱 (子元素名稱+)>

    例子:

    <!ELEMENT note (message+)>

    上面的例子中的加號聲明了:message 子元素必須在 "note" 元素內(nèi)出現(xiàn)至少一次。

    聲明出現(xiàn)零次或多次的元素

    <!ELEMENT 元素名稱 (子元素名稱*)>

    例子:

    <!ELEMENT note (message*)>

    上面的例子中的星號聲明了:子元素 message 可在 "note" 元素內(nèi)出現(xiàn)零次或多次。

    聲明出現(xiàn)零次或一次的元素

    <!ELEMENT 元素名稱 (子元素名稱?)>

    例子:

    <!ELEMENT note (message?)>

    上面的例子中的問號聲明了:子元素 message 可在 "note" 元素內(nèi)出現(xiàn)零次或一次。

    聲明“非.../既...”類型的內(nèi)容

    例子:

    <!ELEMENT note (to,from,header,(message|body))>

    上面的例子聲明了:"note" 元素必須包含 "to" 元素、"from" 元素、"header" 元素,以及非 "message" 元素既 "body" 元素。

    聲明混合型的內(nèi)容

    例子:

    <!ELEMENT note (#PCDATA|to|from|header|message)*>

    上面的例子聲明了:"note" 元素可包含出現(xiàn)零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。

    在 DTD 中,屬性通過 ATTLIST 聲明來進行聲明。

    聲明屬性

    屬性聲明擁使用下列語法:

    <!ATTLIST 元素名稱 屬性名稱 屬性類型 默認值>

    DTD 實例:

    <!ATTLIST payment type CDATA "check">

    XML 實例:

    <payment type="check" />

    以下是屬性類型的選項:

    類型 描述
    CDATA 值為字符數(shù)據(jù) (character data)
    (en1|en2|..) 此值是枚舉列表中的一個值
    ID 值為唯一的 id
    IDREF 值為另外一個元素的 id
    IDREFS 值為其他 id 的列表
    NMTOKEN 值為合法的 XML 名稱
    NMTOKENS 值為合法的 XML 名稱的列表
    ENTITY 值是一個實體
    ENTITIES 值是一個實體列表
    NOTATION 此值是符號的名稱
    xml: 值是一個預(yù)定義的 XML 值

    默認值參數(shù)可使用下列值:

    解釋
    屬性的默認值
    #REQUIRED 屬性值是必需的
    #IMPLIED 屬性不是必需的
    #FIXED value 屬性值是固定的

    規(guī)定一個默認的屬性值

    DTD:

    <!ELEMENT square EMPTY>
    <!ATTLIST square width CDATA "0">

    合法的 XML:

    <square width="100" />

    在上面的例子中,"square" 被定義為帶有 CDATA 類型的 "width" 屬性的空元素。如果寬度沒有被設(shè)定,其默認值為0 。

    #IMPLIED

    語法

    <!ATTLIST 元素名稱 屬性名稱 屬性類型 #IMPLIED>

    例子

    DTD:

    <!ATTLIST contact fax CDATA #IMPLIED>

    合法的 XML:

    <contact fax="555-667788" />

    合法的 XML:

    <contact />

    假如您不希望強制作者包含屬性,并且您沒有默認值選項的話,請使用關(guān)鍵詞 #IMPLIED。

    #REQUIRED

    語法

    <!ATTLIST 元素名稱 屬性名稱 屬性類型 #REQUIRED>

    例子

    DTD:

    <!ATTLIST person number CDATA #REQUIRED>

    合法的 XML:

    <person number="5677" />

    非法的 XML:

    <person />

    假如您沒有默認值選項,但是仍然希望強制作者提交屬性的話,請使用關(guān)鍵詞 #REQUIRED。

    #FIXED

    語法

    <!ATTLIST 元素名稱 屬性名稱 屬性類型 #FIXED "value">

    例子

    DTD:

    <!ATTLIST sender company CDATA #FIXED "Microsoft">

    合法的 XML:

    <sender company="Microsoft" />

    非法的 XML:

    <sender company="W3School" />

    如果您希望屬性擁有固定的值,并不允許作者改變這個值,請使用 #FIXED 關(guān)鍵詞。如果作者使用了不同的值,XML 解析器會返回錯誤。

    列舉屬性值

    語法:

    <!ATTLIST 元素名稱 屬性名稱 (en1|en2|..) 默認值>

    DTD 例子:

    <!ATTLIST payment type (check|cash) "cash">

    XML 例子:

    <payment type="check" />

    或者

    <payment type="cash" />

    如果您希望屬性值為一系列固定的合法值之一,請使用列舉屬性值。

    實體是用于定義用于定義引用普通文本或特殊字符的快捷方式的變量。

    實體引用是對實體的引用。

    實體可在內(nèi)部或外部進行聲明。

    一個內(nèi)部實體聲明

    語法:

    <!ENTITY 實體名稱 "實體的值">

    例子:

    DTD 例子:

    <!ENTITY writer "Bill Gates">
    <!ENTITY copyright "Copyright W3School.com.cn">

    XML 例子:

    <author>&writer;&copyright;</author>

    注釋: 一個實體由三部分構(gòu)成: 一個和號 (&), 一個實體名稱, 以及一個分號 (;)。

    一個外部實體聲明

    語法:

    <!ENTITY 實體名稱 SYSTEM "URI/URL">

    例子:

    DTD 例子:

    <!ENTITY writer SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">
    <!ENTITY copyright SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">

    XML 例子:

    <author>&writer;&copyright;</author>

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久精品国产亚洲AV网站| 又粗又大又硬又爽的免费视频| 久久精品国产精品亚洲人人| 亚洲欧洲精品成人久久曰| 国产成人午夜精品免费视频| 亚洲精品熟女国产| 免费看男女下面日出水来| 亚洲精品午夜在线观看| 在线观看免费av网站| 亚洲国产高清在线精品一区| 青娱乐免费视频在线观看| 亚洲国产区男人本色在线观看| 成人性生活免费视频| 在线观看亚洲电影| 免费女人18毛片a级毛片视频| 特a级免费高清黄色片 | 窝窝影视午夜看片免费| 国产亚洲色视频在线| 美女视频黄的免费视频网页 | 日韩精品视频免费观看| 亚洲成av人片在线天堂无| 免费在线观看黄网| 三上悠亚在线观看免费| 久久水蜜桃亚洲av无码精品麻豆| 一色屋成人免费精品网站| 人人狠狠综合久久亚洲| 亚洲中文字幕久久精品无码喷水 | 永久免费A∨片在线观看| 亚洲熟妇色自偷自拍另类| 在线精品免费视频| aaa毛片视频免费观看| 久久久久亚洲精品无码蜜桃| 欧美男同gv免费网站观看| 全部一级一级毛片免费看| 国产亚洲精品无码成人| 男女免费观看在线爽爽爽视频 | 久久国产精品国产自线拍免费| 亚洲入口无毒网址你懂的| 亚洲av午夜成人片精品电影| 久艹视频在线免费观看| 亚洲国产精品无码中文lv |