XML自体はとっても単純なので解説は他に譲るとしてー、自分で書いてて引っかかった点だけ簡単に。
ちなみに、サンプルとしてはドラクエ7のモンスター分布をどうぞ。
XMLでは、ファイルの先頭にXML宣言(XML declaration)を入れる。[2008-06-18]
<?xml version="1.0" encoding="Shift_JIS"?>
「<?xml」で始まるのがXML宣言。
なお、「<?」で始まり「?>」で終わるのはXMLの処理命令(processing instructions)であり、XML宣言は処理命令の一種らしい。
xslファイルのxsl:stylesheetタグでxmlns:xslに
"http://www.w3.org/TR/WD-xsl" という値をセットしている。
これが何を意味するんだかよく分からないけど、1文字でも間違っていると動かない(泣)
XMLのコメントは、 「<!--」で始まり「-->」で終わる。[2002-11-03]
コメントは
ネストさせる事は出来ない。ネストさせると、内側のコメントの開始箇所で文法エラーになる。
→エラーにならないサンプル・エラーになるサンプル(ソースは、ダウンロードしてテキストエディタか何かで見て下さい)
コメント開始後、最初の「--」の直後が「>」(コメント終了)でないと「間違った構文である」と解釈される。[2008-06-18]
つまりコメント終了「-->」が来る前に「--」が入るのは不可。
例えば「<!----」や「---->」「--->」「<!--コメ--ント-->」は不可。
SGMLでは「<!>」も空コメントらしいが、XMLではダメっぽい。
XMLで使われる特殊な文字は実体参照で表す。[2008-06-18]
また、文字コードを使って表すことも出来る(文字参照)。
どちらも「&
」で始まり「;
」で終わる。
実体参照 | & |
& |
< |
< |
|
> |
> |
|
' |
' |
|
" |
" |
|
文字参照 | &#n; |
十進数で文字コードを指定 |
&#xh; |
十六進数で文字コードを指定 |
XML内ではタグを使うので、「<」「>」「&」といったXMLの解釈に使われる文字は「<」「>」「&」といった別の記号(実体参照や文字参照)を使う必要がある。[2008-06-16]
これらの文字を頻繁に使う場合は一々こういった記号にするのは面倒なので、CDATAセクション(CDATA区間)を使うとよい。
CDATAセクションは「<![CDATA[
」で始まり、「]]>
」で終わる。「]]>
」が来るまでの間、「<」でも「>」でも「&」でも自由に使うことが出来る。
「<p>」というデータを表現する例:
<タグ><![CDATA[<p>]]></タグ>
<タグ><p></タグ>
上記の2つは、全く等価。CDATAという構文は“あると便利”という程度のシロモノらしい。
「]]>
」はCDATAセクションの終わりを表すので、それ自身をデータとして表現することは出来ない。
これは、CDATAセクション1つだけで表すのは諦める。
「abc]]>zzz
」を表現する例:
<![CDATA[abc]]]]>>zzz <![CDATA[abc]]]]><![CDATA[>zzz]]>
abc]]>zzz
「]]>
」自身をデータとして表す為に、実体参照を使ってエスケープする方法が紹介されていることがあるが、それは誤り。[2010-02-01]
<![CDATA[abc]]>zzz]]>
]]の直後が>でないから、確かにCDATAセクションの終わりとは認識されない。
しかしCDATAセクションは&や>がそのまま書けるというものなので、>の「&」はそのまま使用される。つまり「>」が自動的に「>」に変換されるようなことは無い。(変換されたら、それはCDATAセクションではない)
XML参考書 | 参考にした本 | [2004-03-16] |