Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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
如何用XSLT编写PHP_Php_Xml_Xslt - Fatal编程技术网

如何用XSLT编写PHP

如何用XSLT编写PHP,php,xml,xslt,Php,Xml,Xslt,我一直在尝试在.xsl文件中编写一个简单的php echo语句,但是当我输入一个处理指令标记时,我看到的每个站点似乎都不适合我。我甚至尝试更改php的名称空间,我不确定为什么我的代码没有输出echo语句。这是我的.xsl文件: <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http

我一直在尝试在.xsl文件中编写一个简单的php echo语句,但是当我输入一个处理指令标记时,我看到的每个站点似乎都不适合我。我甚至尝试更改php的名称空间,我不确定为什么我的代码没有输出echo语句。这是我的.xsl文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:php="http://php.net/xsl"
    exclude-result-prefixes="php" version="1.0">
    <xsl:output omit-xml-declaration="yes" method="html" />
    <xsl:template match="/">
        <html> 
            <head>
            </head>
            <body bgcolor="#000">
                    <div class="main" style="background:lightblue;">
                        <xsl:processing-instruction name="php">
                        echo 'OK IT DOESN't WORK!!!!!!!!!!!!!!!!!!!';
                        </xsl:processing-instruction>
                        <xsl:for-each select="webpage/content/main">
                            <a href="{link}" style="color:#000; text-decoration:none;">
                                <h1><xsl:value-of select="heading" /></h1>
                                <h2><xsl:value-of select="subheading" /></h2>
                                <div class="img">
                                    <img src="../images/{image}" width="100%" height="auto"/>
                                </div>
                                <xsl:value-of select="description" />
                            </a>
                        </xsl:for-each>
                    </div>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

回声“好的,它不起作用了!!!!!!!!!!!!!!!!!!!”;
我还尝试使用以下标记来包围html标记,然后在它们之间的任意位置使用处理指令标记:

<xsl:result-document href="example.php" method="html">
</xsl:result-document>


还是没有运气。有人能告诉我我做错了什么吗?

您的
xsl:processing指令不起作用的原因很简单。
您使用

<xsl:output omit-xml-declaration="yes" method="html" />
这是一种有效的处理指令。

注意:我刚刚测试过:
xhtml
也不能作为输出方法使用。

您的

xsl:processing指令
不能使用的原因很简单。
您使用

<xsl:output omit-xml-declaration="yes" method="html" />
这是一种有效的处理指令。

注意:我刚刚测试过:
xhtml
也不能作为输出方法使用。

XSLT和序列化规范(所有版本)说这应该会产生输出

XSLT和序列化规范(所有版本)假设这将产生输出

,我将method属性改为equal xml,但仍然没有成功。当我将method属性更改为php时,我将显示,而不显示处理指令。为什么这不起作用?我成功地使用了
。顺便说一句,没有名为“php”的方法属性值。我复制了输出行,它仍然没有输出我的处理指令。
xsl:output
行必须包含
method=“xml”
属性。否则它就不工作了。有些东西工作不正常。因为当我将方法更改为xml并转到index.xml文件时,它会输出我头脑中的所有css代码。我将方法属性更改为相等的xml,但仍然没有成功。当我将method属性更改为php时,我将显示,而不显示处理指令。为什么这不起作用?我成功地使用了
。顺便说一句,没有名为“php”的方法属性值。我复制了输出行,它仍然没有输出我的处理指令。
xsl:output
行必须包含
method=“xml”
属性。否则它就不工作了。有些东西工作不正常。因为当我将方法更改为xml并转到index.xml文件时,它会输出我头脑中的所有css代码<代码>结果文档
是XSLT2.0(不是1.0)方法。检查源代码(PHP可能是HTML注释),如客户端浏览器所示:不清楚要实现什么:是否要使用XSLT生成PHP解释器的输入?如何运行XSLT代码,如果希望执行PHP,如何查看或“执行”结果?如何运行此XSLT<代码>结果文档
是XSLT2.0(不是1.0)方法。检查源代码(PHP可能是HTML注释),如客户端浏览器所示:不清楚要实现什么:是否要使用XSLT生成PHP解释器的输入?如何运行XSLT代码,如果希望执行PHP,如何查看或“执行”结果?