有人能帮助我找到一种将文本读取为 xpath 表达式的方法,我将不胜感激
例如,这是我的XML文档
<abc>
<XYZ>
<include>/citizen[./marital_status[text() ='married']]</include>
</XYZ>
</abc>
我正在写一个样式表
<xsl:template match="abc">
<xsl:call-template name="evaluate">
<xsl:with-param name="include">
<xsl:apply-templates select="$include"/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
这里的问题是<include>
元素的文本是我想成为 <xsl:apply-templates select="$include"/>
中的 xpath 表达式的东西。 这将给我已婚的公民,但在这里我只是得到字符串本身"/citizen[./marital_status[text() ='married']]"
结果。有什么可能的方法吗?
提前致谢
检查您选择的 XSLT 处理器中可用的内容:查看它是否具有某种 xx:evaluate() 扩展函数。如果没有,或者如果您想要一个可移植的解决方案,另一种方法是生成包含相关表达式的样式表(或样式表模块),然后编译并执行样式表。