xslt_process ( resource $xh , string $xmlcontainer , string $xslcontainer [, string $resultcontainer [, array $arguments [, array $parameters ]]] )
Pozwala na wykonywanie transformacji XSLT za pomocą niemal każdego rodzaju źródła wejściowego - w pojemnikach. Jest to osiągnięte poprzez użycie argumentu buforów - pojęcie zaczerpnięte z Sablotron XSLT procesor (obecnie tylko procesor XSLT obsługuje to rozszerzenie). Wejściowe pojemniki do domyślnego pliku "zawierającego" dokumentu, które mają być przetwarzane.
Parametry:
xh- XSLT procesor Link identyfikator, utworzone z xslt_create ().
xmlcontainer-Ścieżka do pliku XML lub symbol argumentu XML
xslcontainer- Ścieżka do pliku XML lub symbol argumentu XML
resultcontainer- zwraca kontener jako domyślną nazwę pliku przeksztauconego dokumentu. Jeżeli wynik nie jest określony - tj. NULL - zwracany zostaje wynik
arguments-Zamiast plików jako XML i XSLT argumenty do xslt_process (), można określić "Argument miejsca posiadania", które następnie są zastępowane wartościami podanymi w tablicy argumentów.
parameters- Tablica na najwyższym poziomie wszelkie parametry, które zostaną przeniesione do dokumentu XSLT, można następnie uzyskać dostęp do plików na koncie za pomocą XSL <xsl:param name="parameter_name"> instrukcji. Parametry muszą mieć kodowanie UTF-8, a ich wartości będą interpretowane jako ciągi Sablotron przez procesor. Innymi słowy - nie można przenieść węzeł-określa jako parametry do dokumentu XSLT.
Pojemniki można również ustawić za pomocą argumentów array (patrz poniżej).
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu. If the result container is not specified - i.e. NULL - than the result is returned.
Listing
<?php
// Allocate a new XSLT processor
$xh = xslt_create();
// Process the document
if (xslt_process($xh, 'sample.xml', 'sample.xsl', 'result.xml')) {
echo "SUCCESS, sample.xml was transformed by sample.xsl into result.xml";
echo ", result.xml has the following contents\n<br />\n";
echo "<pre>\n";
readfile('result.xml');
echo "</pre>\n";
} else {
echo "Sorry, sample.xml could not be transformed by sample.xsl into";
echo " result.xml the reason is that " . xslt_error($xh) . " and the ";
echo "error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>
Funkcja ta jest wykorzystywana w środowisku www jeżli chcesz wydrukować wyniki bezpośrednio. Dlatego, jeśli pominie się trzeci argument do xslt_process () funkcja (lub dostarczyć NULL wartość argumentu), będzie on automatycznie powracać do wartości z transformacji XSLT, zamiast pisania go do pliku ...
<?php
// Przydzielenie nowego procesora XSLT
$xh = xslt_create();
// Proces dokument, powrót do wyników $result variable
$result = xslt_process($xh, 'sample.xml', 'sample.xsl');
if ($result) {
echo "Sukces, sample.xml został przekształcony przez sample.xsl w \ $ result";
echo "zmienna, \ $result zmiennej ma następującą treść \ n <br /> \ n";
echo "<pre>\n";
echo $result;
echo "</pre>\n";
} else {
echo "Przepraszamy, sample.xml nie może zostać przekształcony przez sample.xsl w";
echo " the \$result variable the reason is that " . xslt_error($xh);
echo " and the error code is " . xslt_errno($xh);
}
xslt_free($xh);
?>
Ranga: Administrator serwisu Punktów: 0