タイトル
 メニューにないコーナーはTopからいけます
TOP → This Page

XML > XSLT > 構造

XSLT の構造


XSLT による XML 文章の変換ルールを記述したものを XSLT スタイルシートといい、
構造は以下のようになっている。

XML 宣言
スタイルシート宣言
  テンプレート・ルール
    XSLT 命令
   
 

また、XSLT スタイルシートは XML の仕様に従って記述する(整形式)
XSLT スタイルシートを記述したものを XSLT 文章という。


<?xml version="1.0" encoding="shift_jis"?>
<xsl:stylesheet version="1.0">
  <xsl:template match="/">
    <font>
<xsl:value-of select="." />
</font>
  </xsl:template>
</xsl:stylesheet>


XML 宣言


XSLT スタイルシート自体が XML で記述されるため、XML 宣言を行う必要がある。
書式は XML 文章と同じだが、XML ファイルと同じエンコードの必要がある。

(書式)
<?xml version="バージョン" encoding="エンコード方式" standalone={"yes" | "no"}?>

(例)
<?xml version="1.0" encoding="Shift_JIS" ?>


スタイルシート宣言


(書式)
<xsl:stylesheet version="バージョン"
                xmlns:xsl="XLST名前空間 URI"
                xmlns="名前空間 URI"
                exclude-result-prefixes="指定">
</xsl:stylesheet>

(注意)
xsl:stylesheet は xsl:transform でも良い

属性 内容
version XSLT のバージョン
xmlns:xsl XSLT の名前空間(http://www.w3.org/1999/XSL/Transform)
xmlns 名前空間接頭辞省略時のデフォルト名前空間(省略可能)
exclude-result-prefixes 変換後の結果ツリーに含めない名前空間を指定
複数指定する場合は半角スペースで区切る
"#default"を指定すると xmlns で設定した名前空間を
変換後の結果ツリーに含めない
(省略可能)

(例)
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns="http://www.w3.org/1999/xhtml">

または

<xsl:transform version="1.0"
               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
               xmlns="http://www.w3.org/1999/xhtml">


テンプレート・ルール


テンプレートとパターンで構成され、パターンにマッチするノードに対して
テンプレート・ルールがインスタンス化される。


XSLT 命令


テンプレートのパターンにマッチする部分の変換内容(処理内容)を記述する。


XML 側での XLST の使用


作成した XSLT のファイルと XML 文章を関連付けるには、XML 文章の XML 宣言の
直後に以下の書式で処理命令を記述する。

(書式)
<?xml-stylesheet
    href="スタイルシートファイルの URI"
    type="スタイルシートの記述言語"
    title="タイトル"
    media="の出力媒体"
    charset="文字コード"
    alternate={"yes" | "no"}
?>

属性概要
hrefスタイルシートファイルの URI
type スタイルシートの記述言語
CSS スタイルシートを適用する場合は "text/css"
XSLT のスタイルシートを適用する場合は "text/xsl"
title適用スタイルシートを表すタイトル
省略可
mediaXML 文章の出力媒体
省略可
charsetスタイルシートの記述文字コード
省略可
alternate複数スタイルシートを使用する場合は "yes"
省略可(省略時は "no")

(例)
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<社員名簿>
	<社員>
		<氏名>山田太郎</氏名>
		<所属>管理部</所属>
	</社員>
	<社員>
		<氏名>鈴木花子</氏名>
		<所属>営業部</所属>
	</社員>
</社員名簿>


TOP → This Page
Valid CSS!