1
6
不,这是
在哪里 QName is defined as :
基本上,这可以归结为“只有字符,没有表达式”。正如其他答案强调的那样, 是 事实上,做一些等效的事情的方法,但是直接的方法/na_ve方法是行不通的。 |
2
11
这不可能完全如您所描述的那样,但是如果您希望能够在运行时基于在其他地方设置的某个值选择模板,那么有一个技巧可以做到这一点。其思想是让命名模板在不同的模式下匹配具有相应名称的节点(这样它就不会扰乱您的正常转换),然后再进行匹配。例如:
请注意,您可以使用
此外,上面的代码比您可能需要的要长一些,因为它试图避免使用任何XSLT扩展。如果处理器支持
有关详细信息,请参阅 FXSL -它是一个基于这个概念的XSLT函数编程库。 |
3
3
供将来参考: 下面是一个基于PavelMinaev答案的工作示例。我这方面没有什么独到的想法。;-)我将它切换为使用msxml:node-set,正如他所描述的(或多或少),这样它就可以在.NET中工作。
|
4
2
更新 :下面的链接已更新为指向web.archive.org——不幸的是,IDEAlliance已经 exteme标记语言 会议进程不可用… 在适当的时候,我会为这两篇文章找到一个更永久的位置。 这是在 FXSL . 对fxsl的主要原理有很好的解释。 见以下两条: “ 使用fxsl库在xslt中进行函数编程 “(对于XSLT1.0),(pdf)网址: (HTML)在: http://conferences.idealliance.org/extreme/html/2003/Novatchev01/EML2003Novatchev01.html
“ 使用xslt 2.0和fxsl进行高阶函数编程 “(PDF)AT: (HTML)在: http://conferences.idealliance.org/extreme/html/2006/Novatchev01/EML2006Novatchev01.html
|
5
2
我想我或多或少和你有同样的问题。我有一个“外部”模板,想要根据运行时设置的一些变量调用不同的“内部”模板。我通过谷歌搜索找到了你的问题
输入XML(在运行时生成)包含以下内容:
“外部”模板中的XSL具有:
(The
最后是“内部”模板,作为
(再一次,
通过这种方式,我可以通过简单地从输入XML控制一个动态的“称为”模板。 这可能与您试图解决的问题不同,但我认为它非常接近,而且比本页其他地方提到的FSXL解决方案简单得多。 |
6
0
这个怎么样?:
您可以使用变量简化模板的“调用”,与前面的贡献中描述的类似:
请注意,可选
|
Pjoern · 在XSLT中包装没有属性的节点组 6 年前 |
user2093335 · XSLT:基于现有属性值替换属性值 6 年前 |
Leth · 字符串串联functoid不将映射值返回到目标记录 6 年前 |
shawn · XSLT 3.0在应用模板中使用变量进行动态选择? 6 年前 |
user9238790 · 将XML转换为数据帧 6 年前 |
Vanessa · xsl:当两个节点相等时,显示第一个节点的子节点 6 年前 |
Adi · 并行读取大型XSLT字符串 6 年前 |
Brian Arthur · XSLT从另一个上下文获取信息 6 年前 |