xslt_process

(PHP 4 >= 4.0.3)

xslt_process -- XSLデータを有する文字列によりXMLデータを変換する

説明

bool xslt_process (string xsl_data, string xml_data, string result)

警告

この関数は、 実験的なステータスにあります。これは、この関数の 動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告 なく変更される可能性があることを意味します。注意を喚起するとともに自分 のリスクでこの関数を使用して下さい。

xslt_process() は、XSLT スタイルシートを有する 文字列を最初の引数、変換したいXMLデータを有する文字列を2番目の引 数、変換結果を有する文字列を3番目の引数とします。 xslt_process() は、成功時に TRUE、失敗時に FALSE を返します。エラーが発生した場合にエラー番号とエラー文字列 を得るには、関数 xslt_errno() および xslt_error() を使用して下さい。

例 1 3つの文字列を変換するために xslt_process() を使用する


<?php

$xslData = '<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="article">
    <table border="1" cellpadding="2" cellspacing="1">
        <tr>
            <td width="20%">
             &#160;
            </td>
            <td width="80%">
                <h2><xsl:value-of select="title"/></h2>
                <h3><xsl:value-of select="author"/></h3>
                <br/>
                
                <xsl:copy-of select="p"/>
            </td>
        </tr>
    </table>
</xsl:template>

</xsl:stylesheet>';

$xmlData = '<?xml version="1.0"?>
<article>
    <title>Learning German</title>
    <author>Sterling Hughes</author>
    <p>
        Essential phrases:
        <br/>
        K&#246;nnen Sie mir sagen, wo die Toilette ist?<br/>
        Ein grosses Bier, bitte!<br/>
        Noch eins, bitte.<br/>
    </p>
</article>';

if (xslt_process($xslData, $xmlData, $result)) {
    echo "Here is the brilliant in-depth article on learning";
    echo " German: ";
    echo "<br>\n<br>";
    echo $result;
} else {
    echo "There was an error that occurred in the XSL transformation...\n";
    echo "\tError number: " . xslt_errno() . "\n";
    echo "\tError string: " . xslt_error() . "\n";
    exit;
}
?>