共用方式為


ATTLIST (屬性清單)

ATTLIST 陳述式可用來列示或宣告每個可能屬於某項目的屬性。它會先為屬性清單所適用的一或多個項目指定名稱。接著它會依名稱列出每個屬性,並指出是否為必要屬性,以及指定哪些字元資料可用來做為屬性值。

語法

<!ATTLIST  elementName  attributeName  dataType  default >

參數

  • elementName
    適用屬性清單之項目的名稱。
  • attributeName
    屬性的名稱。此參數可依需要不限次數重複使用,以列出所有可與 elementName 搭配使用的屬性。
  • dataType
    attributeName 參數中命名之屬性的資料型別必須是下列其中一項:

    • CDATA – 此屬性只會包含字元資料。

    • ID - 屬性值必須是唯一的。它不可在文件中所使用的其他項目或屬性中重複使用。

    • IDREF – 此屬性會參考文件中另一個屬性 (ID 型別) 的值。

    • ENTITY – 此屬性值必須對應於在相同 DTD 中宣告的外部未剖析 ENTITY

    • ENTITIES - 此屬性值包含多個在 DTD 中宣告的外部未剖析實體名稱。

    • NMTOKEN – 此屬性值必須是名稱語彙基元。名稱語彙基元允許字元資料值,但所受限制比 CDATA 多。名稱語彙基元可包含字母、數字,以及某些標點符號,如句號、破折號、底線與冒號。然而,名稱語彙基元值不可包含任何空格字元。

    • NMTOKENS - 此屬性值含有多個名稱語彙基元。如需詳細資訊,請參閱 NMTOKEN 與 Enumerated 的說明。

    • Enumerated – 此屬性值限定於列舉清單中的值。只有符合這些列示值的值才會有效地剖析。所有列舉的資料型別都會以一組括號括住,並以 ("|") 垂直線分隔每個值。

  • default
    attributeName 中命名之屬性的預設值。下表說明可能的預設值。

    預設值 說明

    #REQUIRED

    此屬性必須顯示在 XML 文件中,否則會產生剖析錯誤。為避免在某些情況下產生剖析錯誤,您可以選擇性地在此關鍵字之後接著使用 defaultValue 欄位。

    #IMPLIED

    此屬性可顯示在 XML 文件中,但若省略,也不會產生剖析錯誤。在某些情況下,您也可以選擇性地在此關鍵字之後直接使用 defaultValue 欄位。

    #FIXED

    此屬性值已固定於 DTD 中,不可在 XML 文件中加以變更或覆寫。若使用此關鍵字,則必須同時在此關鍵字之後直接使用 defaultValue 欄位,以宣告固定的屬性值。

    defaultValue

    預設值或固定值。當屬性遺失或未在 XML 文件中使用時,剖析器會將此值插入 XML 文件中。所有的值都必須以一組引號 (單引號或雙引號) 括住。

ms256140.note(zh-tw,VS.100).gif注意:
對於 DTD 中所建立的每個 ATTLIST 宣告,僅需使用一次 elementNameattributeNamedataTypedefault 參數可在清單中定義每個屬性,並可視需要不限次數重複執行,直到您列出及定義所有可與 elementName 搭配使用的屬性為止。

範例

此範例會宣告 <book> 項目的下列屬性:

  • 只包含字元資料的選擇性 publisher 屬性。

  • 將其值設為 "MyStore". 的固定 reseller 屬性。

  • 在 XML 文件中,必須包含識別每個 <book> 項目之唯一值的必要 ISBN 屬性。

  • 必須包含 "yes""no" 值的必要 InPrint 屬性。若未在 XML 文件中明確設定此值,預設值就會強制執行 "yes" 值。

另請參閱

概念

ELEMENT
ENTITY
NOTATION