◆ はじめに
実は、はじめて、XML(eXtensible Markup Language)とXSLT(XML Stylesheet Language Transformation)を使ってブラウザに任意の文字列を表示をしてみました。
私は、WEB相談室のお陰様で、会社では、ちょっとしたWEBの大家になっていて、いろいろとWEB関係のことを質問されるわけです。 そして、HTMLやJavaScriptなどは、まぁまぁ答えられるのですが、最近、XML関係を質問される機会が増えて、そのたびに、『X系は、知らん!』と威張っていました。
しかし、そろそろ潮時なので、この辺ですこし勉強をはじめることにしました。
◆ XMLとXSLTの概説
XMLは、任意なタグで任意な文字列などを挟み、要素を表現します。しかし、当然、これらの要素は、HTMLではないので、このままでは、ブラウザに表示されません。そこで、任意なタグをHTMLなタグに変換してあげれば、ブラウザ表示されますよね。そこをXSLTが担当します。
以下が、今回、ブラウザに表示させたXMLとXSLTのサンプルソースです。
XMLソース(tstxml01.xml)
<?xml version="1.0" encoding="Shift_JIS" ?> <?xml-stylesheet href="tstxsl01.xml" type="text/xsl" ?> <document> <header>はじめてのXMLとXSLT</header> <paragraph>はじめて、XMLとXSLTを使って、ブラウザへ表示してみました。</paragraph> </document>
解説
1行目は、XML宣言で、UTF-8やUTF-16以外の文字コードを使う場合には、文字コードをencoding属性で指定しておきます。
2行目は、xml-stylesheet処理命令で、XSLTスタイルシートファイル(tstxsl01.xml)をhref属性へ指定します。
3行目以降は、XMLの階層的な任意の各要素になります。
XSLTソース(tstxsl01.xml)
<?xml version="1.0" encoding="shift_jis" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="document">
<html><xsl:apply-templates/></html>
</xsl:template>
<xsl:template match="header">
<h1><xsl:value-of select="."/></h1>
</xsl:template>
<xsl:template match="paragraph" >
<p><xsl:value-of select="."/></p>
</xsl:template>
</xsl:stylesheet>
解説
1行目は、XML宣言で、そう、XSLTもXMLで表現します。UTF-8やUTF-16以外の文字コードを使う場合には、文字コードをencoding属性で指定しておきます。
2行目は、xsl:stylesheet要素で、XSLTのバージョンとXSLTの名前空間の使用宣言します。
3から5行目は、ルートノードのマッピングを行っています。まず、ルートノードとは、XMLの最上位要素(今回はdocument要素)のさらに上にルートのノードがあると考えます。また、<xsl:apply-templates/>は、ルート要素の子要素であるdocument要素以下を階層構造ごとマッピングしています。
6から8行目は、document要素のマッピングを行っています。<html><xsl:apply-templates/></html>は、document要素の内容を階層構造ごとhtml要素へマッピングしています。
9から11行目は、header要素のマッピングを行っています。<h1><xsl:value-of select="."/></h1>は、header要素の文字列をh1要素へマッピングしています。
12から14行目は、paragraph要素のマッピングを行っています。<p><xsl:value-of select="."/></p>は、paragraph要素の文字列をp要素へマッピングしています。
最後の</xsl:template> と</xsl:stylesheet>は閉じタグです。
サンプルのXMLページ
上記のサンプルページです。
◆ おわりに
本講座は、ほんのさわりで、詳しくは、以下のサイト等をあたってみてください。
わかりやすいXSLT講座
以下は他所様のXSLT講座です。すごくわかりやすいです!
- XSLTスタイルシートの基礎の基礎
- XPathの書き方の基本
- XSLTの初歩的プログラミング
- XSLTによるデータのソートと変数とパラメータ
- スタイルシートをモジュール化する
- XMLデータの埋め込みと相互参照
- ファイル出力とXSLT機能拡張
わかりやすいXML講座
以下は他所様のXMLT講座です。すごくわかりやすいです!
非常に難しいXMLを非常にわかりやすく解説されていて、著者の人柄が伝わるXML講座を見つけましたので、ご紹介致します。