(PHP 5, PHP 7, PHP 8)
XSLTProcessor::transformToXml — Transforma em XML
Transforma o nó de origem em uma string 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 resultado da transformação como uma string 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 uma string
<?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 $proc->transformToXML($xml);
?>O exemplo acima produzirá:
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>
Exemplo #2 Transformando em uma string usando 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 $proc->transformToXML($xml);
?>O exemplo acima produzirá:
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>