(PHP 5, PHP 7, PHP 8)
XSLTProcessor::transformToDoc — Transforma em um documento
Transforma o nó de origem em um documento (ex.: DOMDocument) aplicando a folha de estilos fornecida pelo método XSLTProcessor::importStylesheet().
documentO objeto Dom\Document, DOMDocument, SimpleXMLElement, ou outro compatível com libxml a ser transformado.
returnClass
Este parâmetro opcional pode ser usado para que
XSLTProcessor::transformToDoc()
retorne um objeto da classe especificada.
Esta classe deve estender ou ser da mesma classe de document.
Os seguintes erros são possíveis ao usar uma expressão que invoca retornos de chamada PHP.
php:function for usada e o nome do manipulador
não for uma string.
O documento resultante ou false em caso de erro.
| Versão | Descrição |
|---|---|
| 8.4.0 | Agora lança uma exceção Error se a função de retorno não puder ser chamada, em vez de emitir um alerta. |
| 8.4.0 | Adicionado suporte para Dom\Document. |
Exemplo #1 Transformando em um DOMDocument
<?php
// Carrega a fonte XML
$xml = new DOMDocument;
$xml->load('collection.xml');
$xsl = new DOMDocument;
$xsl->load('collection.xsl');
// Configura o transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // anexa as regras xsl
echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>O exemplo acima produzirá:
Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!
Exemplo #2 Transformando em um Dom\Document
<?php
$xml = Dom\XMLDocument::createFromFile('collection.xml');
$xsl = Dom\XMLDocument::createFromFile('collection.xsl');
// Configura o transformador
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // anexa as regras xsl
echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>O exemplo acima produzirá:
Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!