<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    dtd xsd

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

    聲明一個元素

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

    <!ELEMENT 元素名稱 類別>

    或者

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

    空元素

    空元素通過類別關鍵詞EMPTY進行聲明:

    <!ELEMENT 元素名稱 EMPTY>

    例子:

    <!ELEMENT br EMPTY>

    XML例子:

    <br />

    只有 PCDATA 的元素

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

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

    例子:

    <!ELEMENT from (#PCDATA)>

    帶有任何內容的元素

    通過類別關鍵詞 ANY 聲明的元素,可包含任何可解析數據的組合:

    <!ELEMENT 元素名稱 ANY>

    例子:

    <!ELEMENT note ANY>

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

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

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

    或者

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

    例子:

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

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

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

    聲明只出現一次的元素

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

    例子:

    <!ELEMENT note (message)>

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

    聲明最少出現一次的元素

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

    例子:

    <!ELEMENT note (message+)>

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

    聲明出現零次或多次的元素

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

    例子:

    <!ELEMENT note (message*)>

    上面的例子中的星號聲明了:子元素 message 可在 "note" 元素內出現零次或多次。

    聲明出現零次或一次的元素

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

    例子:

    <!ELEMENT note (message?)>

    上面的例子中的問號聲明了:子元素 message 可在 "note" 元素內出現零次或一次。

    聲明“非.../既...”類型的內容

    例子:

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

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

    聲明混合型的內容

    例子:

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

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

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

    聲明屬性

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

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

    DTD 實例:

    <!ATTLIST payment type CDATA "check">

    XML 實例:

    <payment type="check" />

    以下是屬性類型的選項:

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

    默認值參數可使用下列值:

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

    規定一個默認的屬性值

    DTD:

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

    合法的 XML:

    <square width="100" />

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

    #IMPLIED

    語法

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

    例子

    DTD:

    <!ATTLIST contact fax CDATA #IMPLIED>

    合法的 XML:

    <contact fax="555-667788" />

    合法的 XML:

    <contact />

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

    #REQUIRED

    語法

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

    例子

    DTD:

    <!ATTLIST person number CDATA #REQUIRED>

    合法的 XML:

    <person number="5677" />

    非法的 XML:

    <person />

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

    #FIXED

    語法

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

    例子

    DTD:

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

    合法的 XML:

    <sender company="Microsoft" />

    非法的 XML:

    <sender company="W3School" />

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

    列舉屬性值

    語法:

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

    DTD 例子:

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

    XML 例子:

    <payment type="check" />

    或者

    <payment type="cash" />

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

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

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

    實體可在內部或外部進行聲明。

    一個內部實體聲明

    語法:

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

    例子:

    DTD 例子:

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

    XML 例子:

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

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

    一個外部實體聲明

    語法:

    <!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>

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


    網站導航:
     
    主站蜘蛛池模板: 曰批全过程免费视频观看免费软件| 国产亚洲视频在线| 久久久久国产精品免费免费搜索 | 日韩a级无码免费视频| 久久精品国产亚洲av麻豆色欲 | 亚洲视频在线观看网址| 暖暖在线日本免费中文| 久久www免费人成精品香蕉| 亚洲午夜精品在线| 久久久亚洲精品蜜桃臀| 在线观看免费人成视频色9| 产传媒61国产免费| 亚洲人成电影在线观看青青| 4338×亚洲全国最大色成网站| 99热在线免费观看| 九九九国产精品成人免费视频| 亚洲欧洲精品在线| 亚洲一区视频在线播放| 麻豆一区二区免费播放网站| 精品人妻系列无码人妻免费视频| 亚洲国产日韩在线一区| 亚洲日本va在线视频观看| AV片在线观看免费| 一区二区三区观看免费中文视频在线播放 | 国产成人无码区免费内射一片色欲| 亚洲高清有码中文字| 亚洲国产成人一区二区精品区| 日韩电影免费在线| 国产成人精品久久免费动漫| 一个人看www免费高清字幕| 中文日韩亚洲欧美制服| 亚洲国产高清人在线| 亚洲人成网站色在线入口| 免费视频中文字幕| 在线观看H网址免费入口| a毛片全部播放免费视频完整18| 国产亚洲成在线播放va| 亚洲国产综合精品中文第一| 亚洲一区二区三区四区在线观看| 亚洲 小说区 图片区 都市| 国产一卡2卡3卡4卡无卡免费视频|