xslt-param处理指令 - 将xml文档中的值传递给xsl样式表

时间:2013-05-20 07:37:05

标签: xml xslt parameters transform param

我做了一个单一的任务而且不能(在我的生活中)在网上找到关于“xslt-param”xml处理指令的任何信息。有关于“xsl:param”的信息,但它不是一回事。

基本上我在客户端有一个我要转换成html的xml文档。我的作业要求我使用“xslt-param”将值发送到样式表,如下所示:

<?xml version="1.0"?>
<?xml-stylesheet href="http://blah/assign/pass.xsl" type="text/xsl"?>
<?xslt-param name="user_entry" select="superman"?>
<root>
    content
</root>

样式表会像这样收到:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:param name="user_entry"/>

    <xsl:template match="/">
        <html>
            <head>
                <meta charset = "UTF-8" />

                <title>Assignment</title>
            </head>

            <body bgcolor="orange">

                <H3> RESULT...</H3>

                <p>
                    HOWDY.
                    You entered <xsl:value-of select="$user_entry" />
                </p>

                <!--xsl:apply-templates/-->

            </body>

        </html>

    </xsl:template>

</xsl:stylesheet>

这些东西大部分都在工作......

我无法在线(或从我的主管)找到有关使用CORRECT TECHNIQUE的任何信息 “XSLT-PARAM”

它几乎就像这种技术并不存在。有人知道吗?

我知道这种方法可能永远不会在现实世界中使用。但我得完成任务。

有没有人知道“xslt-param”是通过教程/官方指定记录/解释的?

由于

1 个答案:

答案 0 :(得分:2)

据我所知,Mozilla浏览器支持处理指令xslt-param,有关文档,请参阅https://developer.mozilla.org/en-US/docs/XSLT/PI_Parameters

我不确定其他浏览器是否支持。

因此,对于您的示例<?xslt-param name="user_entry" select="superman"?>,我认为您要么<?xslt-param name="user_entry" value="superman"?>(您在其中指定字符串值superman),要么您想要使用带有select的XPath表达式<?xslt-param name="user_entry" select="//superman"?>会在XML输入文档中选择名为superman的元素,或者<?xslt-param name="user_entry" select="'superman'"?>将字符串值superman指定给参数的方式不同。

原始样本<?xslt-param name="user_entry" select="superman"?>没有多大意义,因为它会选择名为superman的元素作为输入文档的根元素;但是您的输入样本有一个名为root的根元素。