gpt4 book ai didi

xml - XSLT——将文本节点的值解释为 XPath 查询(并在转换中使用它)

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:38 24 4
gpt4 key购买 nike

我一直在努力想出一个像样的解决方案,但我什至找不到一个不雅的。

我有一个看起来有点像这样的 XML 文件:

<Root>
<Something>
<SomethingElse>Value of SomethingElse</SomethingElse>
</Something>

...

<Map>
<Node>
<Path>/Root/Something/SomethingElse</Path>
</Node>
<Map>

...

</Root>

我想做的是编写一个采用 <Path> 的 XSL 转换。元素并使用其 text()值作为 XPath 查询以将转换应用于 <SomethingElse>元素,导致类似于例如:

<text>Value of SomethingElse</text>

我首先想到的是:

<xsl:template match="Path">
<text><xsl:value-of select="{text()}"/></text>
</xsl:template>

但这当然不能像select那样工作不是值属性。

我不知道该怎么做。 Google 搜索只返回有关如何使用 XPath 获取文本值的结果,而不是相反的结果。

我还想对返回的 <SomethingElse> 应用进一步的转换元素,但一旦我弄清楚如何做到这一点,那应该是小菜一碟。

非常感谢你们走到这一步,
斯兰皮斯科

最佳答案

对于纯 XSLT 1.0 甚至 2.0,您需要使用两个样式表,第一个获取输入并使用您要使用的 XPath 表达式创建第二个样式表作为其结果,然后针对原始输入运行第二个样式表。

或者您需要检查您的 XSLT 处理器是否支持将字符串作为路径表达式求值的扩展函数,就像 Saxon 的 http://www.saxonica.com/documentation/extensions/functions/evaluate.xml或者像 AltovaXML 的 altova:evaluate 函数一样 http://manual.altova.com/AltovaXML/altovaxmlcommunity/index.html?xextaltova_general.htm .

关于xml - XSLT——将文本节点的值解释为 XPath 查询(并在转换中使用它),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com