条件付きセクション
conditional section
DTDの内部において、特定の部分を、含める機能と、除外する機能がある。これをパラメタ実体と併用することで、便利に利用できる場面がある。
以下の例は、book要素に関する定義を含め処理の対象とすることを指定している(以下の例は、XML 1.0勧告より引用)。
<![INCLUDE[ |
それに対して、以下の例は、book要素に関する定義を除外し、処理の対象としないことを指定している。
<![IGNORE[ |
これだけなら、あまり意味がある機能ではない(除外したければ最初から書かなければよい)。しかし、パラメタ実体と併用することで効果を発揮する。
たとえば、以下のようにDTDを記述しておく。
<![%draft;[ |
<![%final;[ |
このDTDを処理する際に以下のいずれかのパラメータ実体を定義する。
<!ENTITY % draft 'INCLUDE' > |
<!ENTITY % draft 'IGNORE' > |
どちらのパラメータ実体を定義するかによって、book要素に関する異なる定義を切り替えることができる。切り替える内容は多いときには便利なテクニックである。これを条件付きセクションという。
しかし、条件付きセクションはDTDに強く依存したテクニックであり、DTDへの依存度が低くなりつつあるXML界において、利用される機会は多くない。
XML & SOA フォーラム 新着記事
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|