Forum und email

XSL 関数

導入

XSL エクステンションは、XSL の標準規格を実装したもので、 libxslt ライブラリを用いて » XSLT 変換 を行います。

要件

このテクステンションは » https://xmlsoft.org/XSLT/ にある libxslt を使用します。 libxslt バージョン 1.1.0 以降が必要です。

インストール手順

PHP 5には、デフォルトでXSLエクステンションが含まれており、 configureに引数--with-xsl[=DIR] を追加することにより有効にすることができます。 DIR は libxslt をインストールしたディレクトリです。

定義済みクラス

XSLTProcessor

コンストラクタ

メソッド

このリファレンスにある多くの例は、XML ファイルと XSL ファイルの両方を必要とします。 例では、以下の内容を含む collection.xmlcollection.xsl を使用します。

Example#1 collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Example#2 collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="iso-8859-1" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

XSL_CLONE_AUTO (integer)
XSL_CLONE_NEVER (integer)
XSL_CLONE_ALWAYS (integer)
LIBXSLT_VERSION (integer)
libxslt のバージョンを 10117 のように表します。PHP 5.1.2 以降で使用可能です。
LIBXSLT_DOTTED_VERSION (string)
libxslt のバージョンを 1.1.17 のように表します。PHP 5.1.2 以降で使用可能です。
LIBEXSLT_VERSION (integer)
libexslt のバージョンを 813 のように表します。PHP 5.1.2 以降で使用可能です。
LIBEXSLT_DOTTED_VERSION (string)
libexslt のバージョンを 1.1.17 のように表します。PHP 5.1.2 以降で使用可能です。

目次