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->loadXML($arquivo_xml);
// carrega objeto xslt
$xslt = new XSLTProcessor();
// carrega objeto XML para o arquivo XSL
$xsl = new DOMDocument();
$xsl->load('xsl/index.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet($xsl);
// escreve o arquivo transformado
echo $xslt->transformToXML($xml);
Enjoy