PHP - Funzione XSLTProcessor :: transformToDoc ()
Definizione e utilizzo
XML è un linguaggio di markup per condividere i dati sul Web, XML è sia leggibile dall'uomo che dalla macchina. L'estensione XSL è un'implementazione dello standard XSL per eseguire la trasformazione XSTL utilizzando la libreria libxslt.
Il XSLTProcessor::transformToDoc() La funzione accetta un oggetto della classe DOMNode come parametro e lo trasforma in un DOMDocument applicandovi un foglio di stile.
Sintassi
XSLTProcessor::transformToDoc($doc);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | doc(Mandatory) Questo è un oggetto della classe DOMNode che rappresenta il documento che deve essere trasformato. |
Valori restituiti
Questa funzione restituisce un oggetto della classe DOMDocument in caso di successo e un valore booleano che è FALSE in caso di fallimento.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.
Esempio
Di seguito è riportato un esempio di questa funzione:
sample.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="example.xsl"?>
<Tutorial>
<Title>JavaFX</Title>
<Authors>
<Author>Krishna</Author>
<Author>Rajeev</Author>
</Authors>
<Body>Sample text</Body>
</Tutorial>
sample.xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
Title - <xsl:value-of select="/Tutorial/Title"/>
Authors: <xsl:apply-templates select="/Tutorial/Authors/Author"/>
</xsl:template>
<xsl:template match="Author">
- <xsl:value-of select="." />
</xsl:template>
</xsl:stylesheet>
sample.php:
<?php
//Loading an XSL document
$xsl = new DOMDocument();
$xsl->load("sample.xsl");
//Loading an XML document
$xml = new DOMDocument();
$xml->load("sample.xml");
//Creating an XSLTProcessor
$proc = new XSLTProcessor();
//Importing the XSL document
$proc->importStyleSheet($xsl);
//Transforming the style to XML
$res = $proc->transformToDoc($xml);
print_r($res);
?>
Questo produrrà il seguente risultato:
DOMDocument Object
(
[doctype] =>
[implementation] => (object value omitted)
[documentElement] =>
[actualEncoding] =>
[encoding] =>
[xmlEncoding] =>
[standalone] => 1
[xmlStandalone] => 1
[version] => 1.0
[xmlVersion] => 1.0
[strictErrorChecking] => 1
[documentURI] =>
[config] =>
[formatOutput] =>
[validateOnParse] =>
[resolveExternals] =>
[preserveWhiteSpace] => 1
[recover] =>
[substituteEntities] =>
[nodeName] => #document
[nodeValue] =>
[nodeType] => 9
[parentNode] =>
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] =>
[attributes] =>
[ownerDocument] =>
[namespaceURI] =>
[prefix] =>
[localName] =>
[baseURI] =>
[textContent] =>
Title - JavaFX
Authors:
- Krishna
- Rajeev
)