Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在XSL中使用PHP_Php_Xslt_Document - Fatal编程技术网

在XSL中使用PHP

在XSL中使用PHP,php,xslt,document,Php,Xslt,Document,可以在XSL文档中使用PHP吗 总是当我尝试这样做时,我会出错。。。所以在发疯之前,我想知道这是否可能。(我绝对是个初学者) 我有一个像这样的XSL文件 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://ww

可以在XSL文档中使用PHP吗

总是当我尝试这样做时,我会出错。。。所以在发疯之前,我想知道这是否可能。(我绝对是个初学者)

我有一个像这样的XSL文件

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
 <head>
  <title></title>

   <style type="text/css">
    [...]
   </style>

 </head>
 <body>

[...]

  <div id="content">
   <?php echo $anything; ?>
  </div>

[...]

 </body>
</html>
</xsl:template>

</xsl:stylesheet>

[...]
[...]
[...]
(我删去了密码)

因此,我通过PHP包含XML文件(该XML文件使用此XSL文件进行样式设置) 现在我试着重复$anything的内容


但是它不起作用

您可以在xsl和它正在转换的xml中使用它

  • 服务器必须以php格式解析.xsl/.xml文件
  • php必须生成有效的xsl/xml

您可以使用simplexml在PHP中操作XML。这是simplexml类的引用。因此,在将XML文件加载到PHP中之后,在使用asXML()函数对其进行回显之前,可以通过simplexml接口修改XML。

如果要使用XSLTProcessor类来执行XSL,只需执行以下操作即可。对于XSL中的某些数据操作,我总是这样做。然后我可以在XSL中调用我想要的任何PHP函数或方法。

如果您正在运行XSLT处理器,那么您可以使用作为

[...]
[...]
什么都可以;
?
[...]

请指定如何尝试。哪些错误?您到底想做什么,为什么要用这种方式而不是另一种方式?它是如何在正在转换的XML中使用的?
<xsl:processing-instruction name="php">
    echo "hello world!";
?</xsl:processing-instruction>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
 <head>
  <title></title>

   <style type="text/css">
    [...]
   </style>

 </head>
 <body>

[...]

  <div id="content">

        <xsl:processing-instruction name="php">
            echo $anything;
        ?</xsl:processing-instruction>

  </div>

[...]

 </body>
</html>
</xsl:template>

</xsl:stylesheet>