相关疑难解决方法(0)

是否可以在xslt样式表中使用Dynamic xPath表达式?

我想在xpath表达式中使用xslt参数的值.具体来说,作为表达式中not()调用的一部分<xsl:if.

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- my_param contains a string '/foo/bar', passed in from ant -->
    <!-- the 'no' is just a default value -->
    <xsl:param name="my_param">no</xsl:param>
    <xsl:variable name="var_myparam" select="$my_param" />
    <!-- ... -->

    <!-- this works -->
    <xsl:if test="not(/foo/bar)" /> <!-- expression returns boolean true -->
        <!-- ... -->
    </xsl:if>

    <!-- I can't figure out how to do this the right way -->
    <!-- None of these appear to work -->
    <xsl:if test="not($var_myparam)" /> <!-- expression …
Run Code Online (Sandbox Code Playgroud)

xml ant xslt xpath

6
推荐指数
1
解决办法
1万
查看次数

我可以在XSLT中动态构建此XPath查询吗?

我有一个看起来像的文件

<root>
    <element>
        <subelement1 />
        <subelement2 />
    </element>
    <element>
        <subelement2 />
        <subelement1 />
    </element>
</root>
Run Code Online (Sandbox Code Playgroud)

在我的XSLT表中,/element[2]/[someNode]我希望得到一个代表距离的数字/element[1]/[someNode](即前面兄弟的数量/element1/[someNode]).例如,在的情况下/element[2]/subelement1,我想有一些办法让数字2,从远处/element[1]/element[1]/subelement2.我只需要第一个实例的给定节点名称的距离<element>.

我直觉地认为我可以构建它

 <xsl:variable name="nodename" select="name()" />
 <xsl:value-of select="/element[1]/$nodename/preceding-sibling::*" />
Run Code Online (Sandbox Code Playgroud)

但不幸的是这张表没有编译.我想在XSLT中实现什么?

xml xslt xpath

6
推荐指数
1
解决办法
5026
查看次数

XSLT Xalan dyn:评估示例

我想在样式表中使用EXSLT - DYN:EVALUATE.我添加了名称的速度,但我不知道我需要导入的.xsl文件在哪里.我不相信我已经安装了XALAN来指向导入.我该如何安装?一旦安装并将其指向.xsl它是否会获取该功能并应用它?我正在运行Windows.XSLT文件包含在XML文档的顶部.

谢谢

皮特

xml xslt xalan exslt xslt-extension

2
推荐指数
1
解决办法
4728
查看次数

标签 统计

xml ×3

xslt ×3

xpath ×2

ant ×1

exslt ×1

xalan ×1

xslt-extension ×1