エンタープライズ:特集 2003/09/24 14:41:00 更新

[JAVA Developer特別企画]2003年11月号
XMLプログラミング初歩の初歩 〜DOMの基本テクニック〜 (3/6)

JAVA Developer 2003年11月号より転載

●コメント
 XML文書では、マーク付け(※4)の外であればコメントを記述することが可能です。書式は次のとおりで、<!--ではじまり、-->で終わるところまでがコメントとなります。


<!--コメント内容-->

※4 XMLは、文字データとマーク付けで構成されています。ここでいうマーク付けとは、開始タグ、終了タグ、空要素タグ、実体参照、文字参照、コメント、CDATAセクションの区切り子、文書型宣言および処理命令です。

 コメント文はXML文書で使用できるすべての文字を組み合わせることができます。ただし、--(二連ハイフン)はSGMLとの互換性のため(※5)に使うことができません。XMLプロセッサによってエラーメッセージは異なるようですが、必ずエラーになるようです。

※5 「互換性のためには(for compatibility)」は、XMLの用語として定義されています。このように表現されているものは、XMLがSGMLと互換であることを保証するためだけに導入されるものです。

 コメントは、XML文書内と後述する文書型定義に記述でき、文書型定義では「DTDDoc」というJavadocのような使い方で使用されることもあります。

●CDATAセクション
 要素内の内容で、XMLとして解析してほしくないときに使います。XML文書のマーク付け以外であればどこにでも記述することができます。書式は次のとおりで、<![CDATA[ではじまり、]]>で終わるところまでがCDATAセクションとなります。]]>で終わることからもわかるように、CDATAセクションを入れ子にすることはできません。


<![CDATA[CDATAセクション内容]]>

 CDATAセクション内容には、XMLでは実体参照となっている<や>、&をそのまま使用できます。また、&lt;と記述しても実体参照にはならず、記述したままの文字となります。
 CDATAセクションは、要素の内容として、HTML文書のタグのようにXMLで実体参照される文字を扱いたい場合にも使用されます。たとえば、次のような記述が可能です。


<![CDATA[
<body>
<h2>CDATAの例</h2>
<p>CDATAセクションでは、HTMLのようなタグ表記交じりの文章をそのまま記述できます。</p>
</body>
]]>

●処理命令(PI)
 アプリケーションになんらかの処理命令(PI:Processing Instruction)を渡したいときに使用します。書式は次のとおりで、XML宣言に似ています。


<?PIターゲット PI内容 ?>

 PIターゲットは、「xml(英大・小文字を問わず)」が予約されているため、それ以外の名前を使用します。PI内容は、アプリケーションに渡され、PI内容は渡されたアプリケーションに委ねられます。
 よく利用されるものでは、xml-stylesheetがあります。


<?xml-stylesheet type="test/
xml" href="book.xml" ?>

 このように、PI内容は属性の形式で複数記述することが可能です。

●名前空間
 さまざまなデータが記述されるXML文書には、同じ名前の要素が属性の異なる用途で使用されることが考えられます。名前空間の目的の1つは、こうした同じ名前で異なる用途に使われるものを区別するために使われます。また、関連する要素や属性をグループ化することで、認識しやすくする目的で使われることもあります。
 具体的な記述は図7のとおりで、2つの名前を:の前後に記述する書式で表現します。なお接頭辞に関しては、「xml(英大・小文字を問わず)」が予約されているため使用できません(※6)。

図7
図7 有修飾名(名前空間の書式)

※6 XMLでは、すでに紹介したxml:spaceのほかにxml:langという属性が定義されています。これは、その要素の言語コードを示すもので、英語なら「en」、日本語なら「ja」というように、ISO 639で定義された言語コードを記述します。

 なお、接頭辞を指定していない場合は、デフォルト名前空間(default namespace)として扱われます。

[JAVA Developer特別企画]
XMLプログラミング初歩の初歩
 〜DOMの基本テクニック〜
・XML−基礎編
・文書型宣言
・XML−利用編

関連リンク
▼JAVA Developer
▼定期購読のご案内
▼バックナンバー販売協力店

JAVA Developer11月号表紙 JAVA Developer 11月号

大特集
DBチューニング大会

特集2 AS徹底解説番外編
[特別企画]
・動的画像生成
・DOMの基本テクニック
・目指せ最強! 最速! CodeRally
・WS-Iの最新事情レポート

前のページ | 1 2 3 4 5 6 | 次のページ

[松浦 武範,JAVA Developer]