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

DTD - 要素


DTDでは、要素が要素宣言で宣言されています。


要素の宣言

DTDでは、XML要素は次の構文で宣言されています:

<!ELEMENT element-name category>
or
<!ELEMENT element-name (element-content)>

空要素

空の要素は、EMPTYカテゴリキーワードで宣言されています。

<!ELEMENT element-name EMPTY>

Example:

<!ELEMENT br EMPTY>

XML example:

<br />

解析された文字データを持つ要素

のみ解析された文字データを持つ要素は、括弧内の#PCDATAで宣言されています:

<!ELEMENT element-name (#PCDATA)>

Example:

<!ELEMENT from (#PCDATA)>

任意の内容を持つ要素

ANY、解析可能なデータの任意の組み合わせを含めることができ、カテゴリキーワードで宣言された要素:

<!ELEMENT element-name ANY>

Example:

<!ELEMENT note ANY>

子供を持つ要素(sequences)

一つ以上の子を持つ要素は、括弧内の子要素の名前で宣言されます。

<!ELEMENT element-name (child1)>
or
<!ELEMENT element-name (child1,child2,...)>

Example:

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

要素の1回のみの宣言

<!ELEMENT element-name (child-name)>

Example:

<!ELEMENT note (message)>

上記の例では、子要素ことを宣言し"message" 、一度発生すると、一度だけの内側になければならない"note"の要素。


要素の宣言最低一つの発生

<!ELEMENT element-name (child-name+)>

Example:

<!ELEMENT note (message+)>

+上記の例で署名子要素ことを宣言し"message"内部に1回以上出現しなければならない"note"の要素。


要素の0回以上の繰り返しを宣言

<!ELEMENT element-name (child-name*)>

Example:

<!ELEMENT note (message*)>

上記の例の*記号は、子要素ことを宣言し"message"内部で0回以上発生する可能性があります"note"の要素。


要素の0または1つの出現を宣言

<!ELEMENT element-name (child-name?)>

Example:

<!ELEMENT note (message?)>

? 上記の例の記号は、子要素ことを宣言し"message"内部で0回または1回発生する可能性があります"note"の要素。


宣言のいずれか/またはコンテンツ

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

上記の例では、ことを宣言し"note"の要素が含まれている必要があります"to" 、要素を"from"要素、 "header"要素、およびいずれかの"message""body"要素。


混在したコンテンツを宣言

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

上記の例では、ことを宣言し"note" 、要素が解析された文字データの0回以上の繰り返しを含むことができます"to""from""header" 、または"message"の要素を。