Transformação XSL de XML via PHP

Publicado por em Programação [Abr 27 2011]


Estudando as possibilidades do XML acabei descobrindo mais um uso que achei fantástico (para quem não viu o outro está aqui: xml+xsl com jquery. A possibilidade de transformar um arquivo XML com XSL diretamente via PHP, serve tanto para todo o site como para partes dele.
Só coloco duas resalvas, tags como <br /> e <img /> não são fechadas como deve ser em XHTML (ficam <br> e <img>), ainda não descobri um modo de fazer isso ser automático, faço a substituição usando preg_replace.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// carrega arquivo XML

$arquivo_xml = file_get_contents();

// objeto xml

$xml = new DOMDocument();
$xml-&gt;loadXML($arquivo_xml);

// carrega objeto xslt

$xslt = new XSLTProcessor();

// carrega objeto XML para o arquivo XSL

$xsl = new DOMDocument();
$xsl-&gt;load('xsl/index.xsl', LIBXML_NOCDATA);

$xslt-&gt;importStylesheet($xsl);

// escreve o arquivo transformado

echo $xslt-&gt;transformToXML($xml);

Enjoy

Tags: , , ,

nenhum comentário

Deixar uma resposta