<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)航:
     
    主站蜘蛛池模板: 亚洲男人第一无码aⅴ网站| 免费人成视频在线观看视频| 亚洲精品V天堂中文字幕| 亚洲A∨无码无在线观看| 亚洲无码黄色网址| 免费观看的a级毛片的网站| 久久99精品免费视频| 黄色免费网址大全| 国产亚洲精品欧洲在线观看| 亚洲国产日韩在线成人蜜芽| 国产成人A人亚洲精品无码| 亚洲国产精品无码久久九九| 免费看片A级毛片免费看| 1000部免费啪啪十八未年禁止观看| www免费黄色网| 国产一二三四区乱码免费| 中国国产高清免费av片| 永久免费av无码入口国语片| 久久精品成人免费观看97| 十八禁的黄污污免费网站| 一级做a爱片特黄在线观看免费看 一级做a爱过程免费视 | 色多多www视频在线观看免费| 亚洲日本国产综合高清| 亚洲熟妇AV日韩熟妇在线| 亚洲AV无码一区二区一二区 | 四虎在线免费播放| 全亚洲最新黄色特级网站| 国产成人高清亚洲| 亚洲三级电影网站| 亚洲精品无码久久| 精品国产免费人成网站| 最好看最新的中文字幕免费 | 亚洲熟妇无码av另类vr影视| 亚洲国产成人AV网站| 久久嫩草影院免费看夜色| 57pao一国产成视频永久免费| 嫩草影院在线免费观看| 国产AV无码专区亚洲A∨毛片| 亚洲不卡1卡2卡三卡2021麻豆| a免费毛片在线播放| 黄+色+性+人免费|