xslt-1.0xslt-1.0を使い始める

備考

このセクションでは、xslt-1.0の概要と開発者がなぜそれを使いたいのかを概説します。

また、xslt-1.0内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。 xslt-1.0のドキュメンテーションは新しいものなので、それらの関連トピックの初期バージョンを作成する必要があります。

インストールまたはセットアップ

XSLT変換を実行するには、XSLTプロセッサが必要です。これは通常、システムのパッケージマネージャを介してインストールできます。例えばDebianにインストールすることができます:

sudo apt-get install xsltproc

最小限の "Hellow World"変換

これは可能な限り最小限のXSLT変換です。これは、ソースXML文書の文字列値を生成します。出力形式はtextです。

ソースXML文書

<t>Hello, World!</t>

XSLT変換

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
</xsl:stylesheet>

上記で指定したソースXML文書に変換を適用した結果

Hello, World!

注記

  1. <xsl:template>宣言は使用されません。

  2. 出力の望ましいタイプは、そのメソッド属性の値として<xsl:output>宣言で指定されます。

  3. 一致するテンプレートがない場合、XSLTプロセッサはXSLT処理モデルの規則に従って、標準のXSLT ビルトインテンプレートを適用します。これにより、すべてのテキストノードをドキュメント順に連結した出力にコピーされます。この単純なケースでは、ソースXML文書には文字列値「 Hello, World! 」を持つテキストノードが1つしかありませHello, World!

「アイデンティティルール」を使用したアイデンティティ変換

この例は、ほぼすべてのXSLT変換の基盤と最も基本的なXSLT設計パターンを示しています。ソースXML文書と同一のXML文書を出力として生成します。

ソースXML文書

<t>Hello, World!</t>

XSLT変換

<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

結果任意のソースのXML文書にこの変換を適用する場合、出力はソースXML文書と同じであるXML文書です。この場合:

<t>Hello, World!</t>

注記

  1. アイデンティティルールの使用とオーバーライドは、最も基本的なXSLTデザインパターンです。これは、要素の削除/挿入/名前変更などの基本的なタスクに対するシンプルで短くて洗練されたソリューションにつながります。

  2. アイデンティティルール/テンプレートは、 W3C XSLT 1.0仕様で公開されているものです