(PHP 5, PHP 7, PHP 8)
XSLTProcessor::transformToXml — Transformar en XML
Transforma el nodo fuente en una cadena aplicando una hoja de estilo dada por el método xsltprocessor::importStylesheet().
document
El Dom\Document, DOMDocument, SimpleXMLElement o un objeto compatible con libxml a transformar.
returnClass
Este parámetro opcional puede ser utilizado para que
XSLTProcessor::transformToDoc()
devuelva un objeto de la clase especificada.
Esta clase debe extender la clase de document
,
o ser la misma clase que la de document
.
Los siguientes errores pueden ocurrir al utilizar una expresión que invoca retrollamadas PHP.
php:function
es utilizada y el nombre del gestor
no es un string.
El resultado de la transformación como una cadena de caracteres o false
si ocurre un error.
Versión | Descripción |
---|---|
8.4.0 | Ahora lanza una Error si la retrollamada no puede ser invocada, en lugar de emitir una advertencia. |
8.4.0 | Añade soporte para Dom\Document. |
Ejemplo #1 Transformación en una cadena
<?php
// Cargar la fuente XML
$xml = new DOMDocument;
$xml->load('collection.xml');
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configurar el transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjuntar las reglas XSL
echo $proc->transformToXML($xml);
?>
El resultado del ejemplo sería:
¡Hola! Bienvenido a la increíble colección de CD de Nicolas Eliaszewicz ! <h1>Fight for your mind</h1><h2>por Ben Harper - 1995</h2><hr> <h1>Electric Ladyland</h1><h2>por Jimi Hendrix - 1997</h2><hr>
Ejemplo #2 Transformación en una cadena utilizando Dom\Document
<?php
$xml = Dom\XMLDocument::createFromFile('collection.xml');
$xsl = Dom\XMLDocument::createFromFile('collection.xsl');
// Configurar el transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjuntar las reglas XSL
echo $proc->transformToXML($xml);
?>
El resultado del ejemplo sería:
¡Hola! Bienvenido a la increíble colección de CD de Nicolas Eliaszewicz ! <h1>Fight for your mind</h1><h2>por Ben Harper - 1995</h2><hr> <h1>Electric Ladyland</h1><h2>por Jimi Hendrix - 1997</h2><hr>