TOP XML XML Schema Schema
where
DTD 内で重複して同じ属性リスト宣言を行った場合は先に宣言されているものが使用される。
<!DOCTYPE ルート要素名[ 定義内容]> | <!DOCTYPE Products[<!ELEMNET Products(name, prise)><!ELEMNET name(#PCDATA)><!ELEMNET prise(#PCDATA)>]> | ドキュメント内で定義 |
<!DOCTYPE ルート要素名 SYSTEM "システム識別子"> | <!DOCTYPE Products SYSTEM "product.dtd"> | 外部ファイル参照 |
<!DOCTYPE ルート要素名 PUBLIC "公開識別子" "システム識別子"> | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> | 一般公開されている DTD を参照 |
<!DOCTYPE ルート要素名 外部DTDサブセット呼出 [ 内部DTDサブセット ] > | 内部サブセットと外部サブセットとのマージが行われる 要素宣言の重複は許されない 属性リスト宣言・実体参照宣言の重複は許される 重複があった場合は内部サブセットの内容が優先される |
種類 | 書式 | 内容 |
要素型宣言 | <!ELEMENT ・・・> | 要素名や、出現パターン |
属性リスト宣言 | <!ATTLIST ・・・> | 要素に含まれる属性名、属性の型、デフォルト値 |
実体宣言 | <!ENTITY ・・・> | 置換文字列や外部ファイルをXML文書から参照する場合に記述 |
記法宣言 | <!NOTATION ・・・> | 実体宣言で宣言している外部ファイルのうちXML 構文解析の対象としない外部ファイル(画像データファイルなど)を参照する場合、そのファイル形式について宣言 |
種類 | 内容 | XML 例 |
(#PCDATA) | 文字データ | <要素>文字データ</要素> |
(子要素) | 子要素の順番および出現回数を指定 | <要素><子要素></子要素><子要素></子要素></要素> |
(混合) | 子要素と文字データの子要素の順番および出現回数を指定 | <要素>文字データ<子要素></子要素><子要素></子要素></要素> |
EMPTY | 空要素(子要素がない) | <要素/> |
ANY | 子要素と文字データ | - |
タイプ | 内容モデル | 意味 |
接尾演算子 | A | 要素Aが1回だけ現れる |
A+ | 要素Aが1回以上出現する | |
A? | 要素Aが現れないか、1回出現 | |
A* | 要素Aが現れないか、任意回数出現 | |
接続演算子 | A | B | 要素Aもしくは要素Bのいずれか一方 |
A, B | 要素A及びBがこの順序で出現 | |
A & B | 要素A及びBが任意の順序で出現 | |
例外 | +(E) | 要素群(E)はその子孫にわたって出現して良い |
-(E) | 要素群(E)はその子孫にわたって出現してはいけない | |
その他 | ( ... ) | ...で示す要素をグループ化する |
EMPTY | 内容を持ってはならない | |
#PCDATA | 文字列 |
<!ATTLIST 要素名 属性名 属性型 デフォルト値> |
<!ATTLIST 要素名 属性名 属性型 デフォルト値 属性名 属性型 デフォルト値 ... 属性名 属性型 デフォルト値> |
where
属性型 | 型の種類 |
デフォルト値 | 属性指定を省略時デフォルト値 |
DTD 内で重複して同じ属性リスト宣言を行った場合は先に宣言されているものが使用される。
分類 | 種類 | 内容 |
文字列型 | CDATA | 文字データ |
トークン型 | ENTITY | 実体参照 |
ENTITIES | 空白区切りの実体参照 | |
ID | XML文書中で一意の値 デフォルト値は #REQUIRED か #IMPLIED を指定 | |
IDREF | ID型の属性値を参照 | |
IDREFS | 空白区切りのID型の属性値を参照 | |
NMTOKEN | 一文字目が数字・ハイフン・ピリオドの文字列 | |
NMTOKENS | 空白区切りのNMTOKEN 型文字列 | |
列挙型 | 属性の型にとりうる候補値(文字列)を | 区切りで列挙し、丸括弧()で括る(文字列は""等不要) |
<?xml version="バージョン" encoding="エンコード方式"?>
version 属性は省略可能
encoding 属性は必須
UTF-8,UTF-16 の場合は宣言は不要となる。
version 属性は省略可能
encoding 属性は必須
UTF-8,UTF-16 の場合は宣言は不要となる。
<!ENTITY % 実体名 "置換文字列">
<!ENTITY % 実体名 SYSTEM "外部実体ファイルのURI">
<!ENTITY % 実体名 PUBLIC "公開識別子名" "外部実体ファイルのURI">
<!ENTITY % 実体名 SYSTEM "外部実体ファイルのURI">
<!ENTITY % 実体名 PUBLIC "公開識別子名" "外部実体ファイルのURI">
最新コメント