(PHP 5, PHP 7, PHP 8)
XSLTProcessor::transformToXml — Transform to XML
Transforms the source node to a string applying the stylesheet given by the xsltprocessor::importStylesheet() method.
document
The Dom\Document, DOMDocument, SimpleXMLElement or libxml-compatible object to be transformed.
returnClass
This optional parameter may be used so that
XSLTProcessor::transformToDoc()
will return an object of the specified class.
That class should either extend or be the same class as document
's class.
The following errors are possible when using an expression that invokes PHP callbacks.
The result of the transformation as a string or false
on error.
Version | Description |
---|---|
8.4.0 | Now throws an Error if the callback cannot be invoked, instead of emitting a warning. |
8.4.0 | Added support for Dom\Document. |
Example #1 Transforming to a string
<?php
// Load the XML source
$xml = new DOMDocument;
$xml->load('collection.xml');
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
?>
The above example will output:
Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection! <h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr> <h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>
Example #2 Transforming to a string using Dom\Document
<?php
$xml = Dom\XMLDocument::createFromFile('collection.xml');
$xsl = Dom\XMLDocument::createFromFile('collection.xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
?>
The above example will output:
Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection! <h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr> <h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>