伸び縮みマークアップ言語 XML
■ XSLTスタイルシートの適用
XMLはデータ構造を表現するもので、XML文書をブラウザで表示させると
データ構造をツリー形式で表示することができました。
しかし、XML文書はHTML文書のように、直接タグを書き込んで レイアウトすることはできません。
では、一体どうすればXML文書をレイアウトして表示することができるのでしょうか?
XMLはタグを自由に定義できる言語です。よって、HTMLのタグを文書内に書き込んだとしても 全てレイアウト情報とは解釈されずにデータとして処理されてしまうので、 XML文書にHTMLを書き込んでもXML文書をレイアウトすることはできません。

1 XML文書をレイアウトするには

XSLTスタイルシートを使って変換する場合、対象となるXML文書内に XSLTスタイルシートを適用するという意味を持つタグを追加しなければなりません。
下記のタグをXML宣言のすぐ下に記述してください。

<?xml-stylesheet href="style.xsl" type="text/xsl"?>

hrefに指定されたXSLTスタイルシートのファイルはファイル名やURLなど
環境に合わせて変更して下さい。ここではstyle.xslというスタイルシートを使用します。
記述したら上書き保存してください。

2 スタイルシートを用意する

次に下記の例のようなスタイルを記述したテンプレートを用意してください。
(このようなファイルをスタイルシートと呼ぶ)

<?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="売上">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="商品">
<p><b>商品:<xsl:value-of select="."/></b></p>
</xsl:template>
<xsl:template match="コード">
<p><i>コード:<xsl:value-of select="."/></i></p>
</xsl:template>
<xsl:template match="単価">
<p><i>単価:<xsl:value-of select="."/></i></p>
</xsl:template>
<xsl:template match="数量">
<p><i>数量:<xsl:value-of select="."/></i></p>
</xsl:template>
</xsl:stylesheet>


HTML文書でよく利用されるスタイルシートはCSS(Cascading Style Sheet)と呼ばれるもので XML文書で利用するスタイルシートとはまったく異なるものです。

記述したら名前をつけて保存してください。
拡張子は「.xsl」です。xml文書内のスタイルシート適用の為に挿入したタグの href属性に指定したファイル名と同じ名前にして下さい。
記述したパスなども確かめてファイルの位置関係にも注意しましょう。
「.xsl」を拡張子に指定することで、そのファイルはXSLTスタイルシートとして保存されます。

XSLTスタイルシートを作成したら、XMLファイルをWebブラウザで確認してみましょう。 XML文書内のデータがHTML形式のように表示されるはずです。
記述に誤りなどがあれば、 エラーメッセージ などが表示されます。

■ XSLTの構造
上記ではXML文書をHTML文書のようにブラウザで表示してみました。
ではXSLTスタイルシートの変換機能はどう実現されているのでしょう?

■ XSL

xml文書をHTML文書のようにブラウザで表示させるためには、xmlデータを変換する機能、 レイアウト情報を付加する機能が必要になります。
データを変換する機能は、xmlのツリー上のデータをブラウザで扱える形に変換する機能のことです。 レイアウト情報を付加する機能は、いろいろなレイアウトに関する情報をxmlに付加する機能です。 これらの2つの機能は「XSL」という言語で実現可能です。

XMLはデータに意味づけを行うことができました。
このデータの表現方法を決めるのが、XSL(eXtensible Style sheet Language)です。
XSLにはXMLデータを変換する機能、レイアウト情報を付加する機能の2つを持っています。

  • 変換を行う機能は「XSLT(XSL Transformations)」
  • レイアウト情報を付加する機能は「XSL–FO(XSL Formatting Objects)」

で行います。

XSL-FO : XSL Formatting Objects
XSL-FOはxml文書などを表示するためのレイアウト情報を定義する技術です。現時点ではまだ広く使われていませんので、 XSL-FOに関する説明はしません。ここでは、HTMLへの変換について解説します。


■ XSLT

XSLTはxml文書のデータをテキスト形式や、HTML形式、CSV形式に変換することができます。
XSLTスタイルシート内では、複雑なデータ処理を行うために、変数や関数、ループ処理、条件付処理 などのプログラミング機能を使うことができます。

XMLデータ
関数、変数、ループ、条件付き処理
▼▼
▼▼
XSLTのプログラミング機能
▼▼
▼▼
▼▼
別構造のXMLデータ
HTML形式
CSV形式


■ XSLTスタイルシート・XSLTプロセッサ

xml文書をXSLTスタイルシートに記述されたテンプレートを元に、XSLTプロセッサを使用して 別構造のデータに変換します。Internet Explorer 6はXSLTプロセッサ機能が搭載されています。 これにより、xml文書内にXSLTスタイルシートを適用するという記述をすると、 xmlデータをHTML形式に変換してブラウザで表示することが可能です。

XSLTスタイルシートをIE6で直接表示してみると、xml文書と同様の形式(ツリー構造)で表示されます。 XSLTはXMLのタグで記述されており、XSLTスタイルシートもXML宣言を スタイルシートの先頭行に記述します。

«««« back           next »»»»
 
XMLとは
XML文書作成の大まかな流れ
XML文書の記述
XML文書ブラウザでの表示
XSLTスタイルシートの適用
XSLTの構造
XML文書の宣言
文字コードの設定
タグ付けのルール
要素名・属性の指定について
階層構造
実体参照・文字参照について
その他・コメントや処理
DTDの記述
名前空間の指定
情報をデータ化する
階層構造の作成
データからXML文書を作成する
会員情報の記述ルールを定義したDTD..
個々のXML文書を作成する
外部実体参照
テンプレートルール
XSLTスタイルシートを記述する 【ノード】
構造を変換する仕組み
テンプレートルールの定義
テンプレートの動作確認
XPathの仕組み  【XPathの関数】
XPathの表記方法
テキストの抽出  xsl:value-of
ノードのコピー  xsl:copy-of
テキストの生成  xsl:text
コメントの生成  xsl:comment
要素の生成  xsl:element
属性の生成  xsl:attribute
属性値の生成  【属性値テンプレート】
出力方法の指定  xsl:output
変数1  xsl:variable
変数2  xsl:param
変数3  xsl:with-param
繰り返し処理  xsl:for-each
再帰処理  xsl:if test
データの並べ替え  xsl:sort
データに番号をつけて出力  xsl:number
条件式に一致時のみ変換処理を実施 xsl:if
複数条件を設定して処理 xsl:choose
XSLTに別のXSLT.. xsl:import xsl:include
XSLT関数について
データを1件表示
データを決められた件数だけ表示
テキストと要素混在時のテキスト抽出法
データを全て表示する
表示するデータを並べ替える
条件式を設定して表示を変える
データを表にして表示する
複数件のデータを1つの表にして表示
リンクを加える  xsl:element xsl:attribute
データをCSV形式で出力する
DOM(Document Object Model)
DOMとjavascript
ノードにアクセスする
ノードにアクセスする 2
ノードにアクセスする 3
XSLTスタイルシートを読み込む
XSLTスタイルシートの切り替え
DOMとjavascriptで検索機能を作成する 1
DOMとjavascriptで検索機能を作成する 2
DOMとjavascriptで検索機能を作成する 3
DOMとjavascriptで検索機能を作成する (XSLTスタイルシート適用)
SVG(Scalable Vector Graphics)
SVG(Scalable Vector Graphics)の基本
「g」タグによるグループ化
図形の座標変換 transform属性
アニメーションを作成する animate要素
アニメーションを作成する animate要素2
イベント
DOMとJavaScriptを使用したイベント処理
XMLとXSLTからSVGを生成する
msxsl.exeのオプション
エラーメッセージの表示
LINK
XML(eXtensible Markup Language) バナーはダウ
ンロードして
お使い下さい。




Copyright © 2004 - ykr414 . All Rights Reserved.