通过使用php包含xsl样式表来设置xml文件的样式


styling xml-file by including xsl-stylesheet using php

多亏了这个有用的社区,我可以制作xsl样式表,从我的网站上的xml文件中提取一些元信息。当然,我不想直接在xml文件中对样式表进行编码,因为xml文件不受影响。此外,我不想在OxyGen中预处理文件并上传metainfo文件。

所以我只是在metainfo.php中尝试了一下:

<?php echo '<?xml-stylesheet type="text/xsl" href="metainfo.xsl"?>'; include ('sample.xml') ?>

不过,加载metainfo.php将显示整个xml文件。源代码看起来不错,但当我复制它,将其保存为xml并在OxyGen中打开时,代码中有一个小错误"ï»?",它被称为BOM:

<?xml-stylesheet type="text/xsl" href="metainfo.xsl"?> <?xml-stylesheet type="text/xsl" href="metainfo.xsl"?>

这可能也会导致浏览器出现问题吗?还是其他更基本的东西?

经过一些额外的工作,我自己想出了一个解决方案:

<?php
$signatur = $_GET['signatur'];
# LOAD XML FILE
$XML = new DOMDocument();
$XML->load( 'xml/'.$signatur.'.xml' );
# START XSLT
$xslt = new XSLTProcessor();
# IMPORT STYLESHEET 1
$XSL = new DOMDocument();
$XSL->load( 'metainfo.xsl' );
$xslt->importStylesheet( $XSL );
#PRINT
print $xslt->transformToXML( $XML );
?>