カスケーディングスタイルシートでXMLをどのように見せるか
XML文書の作成、DTDの作成、ブラウザでの解析は問題ありませんが、文書を表示するとどのように表示されますか? XMLは表示言語ではありません。 実際には、XMLで書かれた文書には書式設定が全くありません。
では、XMLをどのように表示するのですか?
ブラウザでXMLを表示するには、Cascading Style Sheetsが重要です。 スタイルシートを使用すると、テキストのサイズや色、テキスト以外のオブジェクトの背景や位置など、XMLドキュメントのあらゆる面を定義できます。
XML文書があるとします。
<!xml version = "1.0" standalone = "yes"> <!DOCTYPEファミリー[<!ELEMENT parent(#PCDATA)> <!ELEMENT child(#PCDATA)>]> <ファミリー>Internet ExplorerなどのXML対応のブラウザでそのドキュメントを表示すると、次のような内容が表示されます。
ジュディ・レイヤードジェニファー・ブレンダンしかし、親要素と子要素を区別したい場合はどうなりますか? あるいは、ドキュメント内のすべての要素を視覚的に区別することさえできます。 XMLでこれを行うことはできません。また、表示に使用する言語ではありません。
しかし幸いなことに、XML文書でCascading Style Sheets (CSS)を使用して、ブラウザで表示したときにそれらの文書やアプリケーションを表示する方法を定義するのは簡単です。 上記の文書では、HTML文書と同じ方法で、各タグのスタイルを定義することができます。
たとえば、HTMLでは、パラグラフタグ(
p>)内のすべてのテキストをフォントフェースVerdana、Geneva、またはHelveticaで定義し、背景色を緑にすることができます。 すべての段落がそうであるようにスタイルシートで定義するには、次のように記述します。
p {font-family:verdana、geneva、helvetica; 背景色:#00ff00; }XML文書に対しても同じ規則が適用されます。 XMLの各タグは、XMLドキュメントで定義できます。
ファミリー{色:#000000; }親{font-family:Arial Black; 色:#ff0000; ボーダー:ソリッド5px; 幅:300px; }子{フォントファミリ:verdana、helvetica; 色:#cc0000; ボーダー:ソリッド5px; border-color:#cc0000; }XML文書を作成してスタイルシートを作成したら、それらをまとめて配置する必要があります。 HTMLのlinkコマンドと同様に、XML文書の一番上に(XML宣言の下に)スタイルシートを見つける場所をXMLパーザに伝える行を置きます。 例えば:
<?xml-stylesheet type = "text / css" href = "stylesheet.css"?>上で述べたように、この行は<?xml?>宣言の下にありますが、XMLドキュメントの要素の前にあります。
XML文書をまとめてみると、次のようになります。
<!xml version = "1.0" standalone = "yes"> <?xml-stylesheet type = "text / css" href = "stylesheet.css"?> <!ELEMENT parent(#PCDATA)> < child> child> child> child>