最新のWeb開発のチュートリアル
 

DTD - 属性


DTDでは、属性は、ATTLIST宣言で宣言されています。


属性の宣言

属性宣言の構文は次のとおりです。

<!ATTLIST element-name attribute-name attribute-type attribute-value>

DTD example:

<!ATTLIST payment type CDATA "check">

XML example:

<payment type="check" />

attribute-type次のいずれかになります。

タイプ 説明
CDATA 値は、文字データであります
( en1 | en2 |..) 値が列挙されたリストからいずれかでなければなりません
ID 値は固有のIDです。
IDREF 値は、他の要素のidです
IDREFS 値は、他のIDのリストです。
NMTOKEN 値が有効なXML名であります
NMTOKENS 値が有効なXML名のリストです
ENTITY 値は、エンティティであります
ENTITIES 値は、エンティティのリストです
NOTATION 値は表記の名前です。
xml: 値は、事前に定義されたXML値であります

attribute-value次のいずれかになります。

説明
value 属性のデフォルト値
#REQUIRED 属性は必須です
#IMPLIED 属性はオプションです
#FIXED value 属性値は固定され

デフォルトの属性値

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

Valid XML:
<square width="100" />

上記の例では、 "square"要素が持つ空の要素であると定義されている"width" CDATA型の属性。 何幅が指定されていない場合は、デフォルト値の0を有します。


#必須

構文

<!ATTLIST element-name attribute-name attribute-type #REQUIRED>

DTD:
<!ATTLIST person number CDATA #REQUIRED>

Valid XML:
<person number="5677" />

Invalid XML:
<person />

あなたはデフォルト値のオプションを持っていない場合#REQUIREDキーワードを使用しますが、それでも存在すると属性を強制したいです。


#IMPLIED

構文

<!ATTLIST element-name attribute-name attribute-type #IMPLIED>

DTD:
<!ATTLIST contact fax CDATA #IMPLIED>

Valid XML:
<contact fax="555-667788" />

Valid XML:
<contact />

あなたは属性を含めるように著者を強制したくない場合は#IMPLIEDキーワードを使用して、あなたはデフォルト値のためのオプションがありません。


#一定

構文

<!ATTLIST element-name attribute-name attribute-type #FIXED "value">

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

Valid XML:
<sender company="Microsoft" />

Invalid XML:
<sender company="w3ii" />

あなたは属性が著者はそれを変更することができずに固定値を持つようにしたいとき#FIXEDキーワードを使用します。 著者は別の値が含まれている場合、XMLパーサーはエラーを返します。


列挙された属性値

構文

<!ATTLIST element-name attribute-name (en1|en2|..) default-value>

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

XML example:
<payment type="check" />
or
<payment type="cash" />

あなたは属性値が正当な値の固定セットの一つになりたいときに列挙型属性値を使用します。