是否有可能在一个XSLT样式表使用动态的XPath前pression? [英] Is it possible to use a Dynamic xPath expression in a xslt style sheet?
问题描述
我想使用XSLT参数的值在XPath前pression。具体而言,在℃的
前pression 不是()
调用的一部分; XSL:如果
I'd like to use the value of an xslt parameter in an xpath expression. Specifically, as part of a not()
call in an <xsl:if
expression.
<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 returns boolean false -->
<!-- ... -->
</xsl:if>
<xsl:if test="not({$var_myparam})" /> <!-- complains Required attribute 'test' is missing -->
<!-- ... -->
</xsl:if>
<xsl:if test="not({$myparam})" /> <!-- complains Required attribute 'test' is missing -->
<!-- ... -->
</xsl:if>
<xsl:if test="not($myparam)" /> <!-- expression returns boolean false -->
<!-- ... -->
</xsl:if>
</xsl:transform>
我在正确的语法是什么在XSLT样式表中创建动态的XPath前pression有点不清楚。我还对paramater,变量之间的差的有点模糊,以及如何都作品expanstion。例如,参数,我知道有时候我需要的支架,有时候我不知道。
I'm a little unclear on what the correct syntax is for creating a dynamic xpath expression in an xslt style sheet. I'm also a little fuzzy on the difference between a paramater, a variable, and how expanstion of both works. For example, with parameters, I know that sometimes I need the brackets, and sometimes I don't.
<!-- when creating an element, it seems I need brackets -->
<xsl:element name="{$my_param}" />
<!-- when selecting an element value for the output stream, no brackets are needed -->
<xsl:value-of select="$my_param"/>
任何一般/特殊帮助将不胜AP preciated。
Any general/specific help would be greatly appreciated.
推荐答案
查看 http://www.exslt.org/ 。
具体看动态:评估模块。
Check out http://www.exslt.org/. Specifically look at the dynamic:evaluate module.
这篇关于是否有可能在一个XSLT样式表使用动态的XPath前pression?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!