(PHP 5, PHP 7, PHP 8)
XSLTProcessor::transformToDoc — Transforma en un documento
Transforma el nodo fuente en un documento (por ejemplo, DOMDocument) aplicando la 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 documento resultante 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 DOMDocument
<?php
// Carga de la fuente XML
$xml = new DOMDocument;
$xml->load('collection.xml');
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configuración del transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjuntar las reglas xsl
echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>
El resultado del ejemplo sería:
¡Hola! Bienvenido a la increíble colección de CD de Nicolas Eliaszewicz.
Ejemplo #2 Transformación en Dom\Document
<?php
$xml = Dom\XMLDocument::createFromFile('collection.xml');
$xsl = Dom\XMLDocument::createFromFile('collection.xsl');
// Configuración del transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // adjuntar las reglas xsl
echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>
El resultado del ejemplo sería:
¡Hola! Bienvenido a la increíble colección de CD de Nicolas Eliaszewicz.