WWW INFOMATION | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML top >>DTD仕様詳細 属性リスト宣言
■属性リスト宣言 (Attribute List Declaration)
属性リスト宣言とは、各属性がどのように定義されるかを示すものです。
仕様は以下のようになります。
下の定義例は、A要素に必ずBという属性を含むことを意味しています。(属性の型、デフォルト値については、下で説明。)
<!ATTLIST A B CDATA #REQIRED >
一つの要素に複数の属性を持つ場合は、以下の仕様となります。
下の例は、要素AにB,C,Dという3つの属性が付随することを意味します。(Bは必須定義、C、Dは任意定義の属性となります。)
<!ATTLIST A B CDATA #REQIRED
C CDATA #IMPLIED D CDATA #IMPLIED > ・属性の型
属性の型に指定できる候補は以下の通りとなっています。(一般的にはCDATA以外使用することはありません。)
各属性の型を使用したサンプルを以下に示します。 ・CDATA
<?xml version="1.0" ?>
<!DOCTYPE A [ > <!ELEMENT A EMPTY > <!ATTLIST A B CDATA #REQIRED > ]> <A B="属性の値は何でも良い。"/> ・NMTOKEN、NMTOKENS
<?xml version="1.0" ?>
<!DOCTYPE A [ > <!ELEMENT A EMPTY > <!ATTLIST A B NMTOKEN #IMPLIED C NMTOKENS #IMPLIED > ]> <A B="属性の値は名前に指定できるもののみ" C="100 200 300" /> <!-- NMTOKENSは、半角スペースを区切りとして、複数の属性値を定義できることを意味する。 --> ・ID、IDREF、IDRES
<?xml version="1.0" ?>
<!DOCTYPE A [ > <!ELEMENT A (B,C)* > <!ELEMENT B (#PCDATA)> <!ELEMENT C EMPTY> <!ATTLIST B D id #REQUIRED > <!ATTLIST C E IDREFS #REQUIRED > ]> <A> <B D="1">データ1</B> <B D="2">データ2</B> <C E="1"/><!-- このEの属性値は、"データ1"と等しい --> <C E="2"/><!-- このEの属性値は、"データ2"と等しい --> </A> ※ID参照はIEでは対応していません。
<?xml version="1.0" ?>
<!DOCTYPE A [ > <!ELEMENT A (B)* > <!ELEMENT B EMPTY> <!ATTLIST B C ENTITY #REQUIRED> <!ENTITY S "世界のXML"> ]> <A> <B C="&S;"/> <!-- C="世界のXML"と書いたのと等しい --> </A> ※EMPTYはIEでは対応していません。 ・デフォルト値
当該属性の記述が必須であるか、省略が可能であるか、省略された場合はデフォルト値を使用するかどうかを示します。
以下記述例を示します。
<?xml version="1.0" ?>
<!DOCTYPE A [ > <!ELEMENT A (B,C,D,E)* > <!ELEMENT B EMPTY> <!ATTLIST B f CDATA #REQUIRED> <!ELEMENT C EMPTY> <!ATTLIST C G CDATA #IMPLIED> <!ELEMENT D EMPTY> <!ATTLIST D H CDATA #FIXED "0001" > <!ELEMENT E EMPTY> <!ATTLIST E I CDATA "0001" > ]> <A> <B f="AttributeData"/> <!-- 右の定義は正しい --> <B/> <!-- 右の定義は誤り(必須なのに属性定義がない) --> <C G="AttributeData"/> <!-- 右の定義は正しい --> <C/> <!-- 右の定義は正しい(省略されても良い) --> <D H="0001"/> <!-- 右の定義は正しい --> <D H="0002"/> <!-- 右の定義は誤り(FIXEDに定義された値と異なる。) --> <E I="0005"/> <!-- 右の定義は正しい。 --> <E/> <!-- 右の定義は正しい。(省略されたIの値は0001になる) --> </A> |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||