2013-07-27 74 views
2

检测是否<xsl:with-param>调用select属性或使用<xsl:with-param>的文本节点。换句话说,如果检测参数类型是否为字符串或节点的xpath表示法?检测参数类型xslt

+1

目前还不清楚“xpath node of node”的含义。这与'select'属性'(这是一个XPath表达式可能计算为字符串还是节点)'相同?我想我的主要问题是,你问如何检测传递参数的类型,或者它传递的语法? (两个不同的问题) – LarsH

+0

我检测参数数据类型的主要目标是节点或字符串。我没有找到任何方法来检测参数类型。所以我想检测是否有可能知道一个参数是通过'select'或它的文本节点值传递的。 – varuog

回答

3

有在确定已经通过什么类型的参数的XSLT 1.0没有可靠的方法。您需要以不同的方式设计界面以消除此要求,例如通过传递一个额外的参数。

+0

我认为这将是我的最后手段。 – varuog

2

在XSLT 2.0中,您可以使用instance of操作:

<xsl:if test="$p instance of xsd:string"> 
+0

我一定会使用XSLT 1.0的任何其他解决方法吗? – varuog