基于第一个XML元素/属性调用辅助XML的XSLT
喜欢这些东西-这里的菜鸟 我有一个XSLT1.0文件,它拉入一个辅助XML(到一个变量)来构建一个表基于第一个XML元素/属性调用辅助XML的XSLT,xslt,xpath,Xslt,Xpath,喜欢这些东西-这里的菜鸟 我有一个XSLT1.0文件,它拉入一个辅助XML(到一个变量)来构建一个表 然后,我从变量中获取所需的值,例如: 我想做的是让第一个XML触发器/引导到哪里查找表数据。 我希望我可以在触发的XML中声明xpath的最后一部分“channel_1”或“channel_2”, 但显然我不能像那样动态创建xpath 拜托-我能做什么 我想做的是让第一个XML触发器/引导器指向何处 对于表数据。我希望我可以在触发的XML中声明 xpath的最后一部分是“channel_
然后,我从变量中获取所需的值,例如:
我想做的是让第一个XML触发器/引导到哪里查找表数据。
我希望我可以在触发的XML中声明xpath的最后一部分“channel_1”或“channel_2”,
但显然我不能像那样动态创建xpath
拜托-我能做什么
我想做的是让第一个XML触发器/引导器指向何处
对于表数据。我希望我可以在触发的XML中声明
xpath的最后一部分是“channel_1”或“channel_2”,
但是
显然,我不能像那样动态创建xpath
拜托-我能做什么
这可以很容易地完成,只需扩展您已有的代码
更改此设置:
<xsl:variable name="table_values" select=
"document('./table_variants/external_table.xml')/xml/channel_1"/>
<xsl:variable name="table_values" select=
"document('./table_variants/external_table.xml')
/xml/*[name() = $channelName"/>
对此:
<xsl:variable name="table_values" select=
"document('./table_variants/external_table.xml')/xml/channel_1"/>
<xsl:variable name="table_values" select=
"document('./table_variants/external_table.xml')
/xml/*[name() = $channelName"/>
不用说,变量(或全局、外部参数)
$channelName
的值应该是XPath表达式的最后一个位置步骤中要使用的元素的(字符串)名称。调用xml是什么意思?你想要一个基于一些.xml值的动态xpath吗?是的,(我相信)这就是我想要的。那么第二个文件是否只是一个模糊的问题呢?难道你不能考虑所有的可能性,使用或特定于你所有的需求吗?您甚至可以根据您的条件调用特定的命名模板。抱歉,我不认为我可以-在示例中,可能会有新的“通道”添加到表中(以及带有值的xml),但xslt是静态的。请发布您的.xml文件(其中的一小部分)所以我们可以理解你想要做什么。太棒了-谢谢你&谢谢你给其他帮助过我的人发的所有帖子-我想知道多久之前我碰到了伟大的迪米特先生本人;-)