问题标签 [xslt-2.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xslt-2.0 - 未捕获实际元素标签
我正在使用下面的 XSL 代码构建一个跨度标记,在鼠标悬停时调用 javascript 函数。javascipt 的输入应该是一个 html 表。变量“showContent”的输出只给出了文本内容,而不是表格标签。这怎么能解决。
XSL:
实际输出:
<span onmouseout="UnTip()" onmouseover="Tip('content1')" id="d1t14"
>是我的</span
>
预期输出:
在上述 XSL 中需要对 table、tr 和 td 标记进行哪些更改才能通过?
xslt - 如何对 XSLT 中的节点列表进行重复数据删除 - 并返回遇到的最后一个节点?
我见过很多“删除此 xml 的重复数据”问题,但每个人都希望第一个节点或节点是相同的。我有一个更大的谜题。
我有一个 XML 文章列表,显示了一个相关的片段:
我想要一个节点列表,其中键是唯一的,并且返回最后一个实例,而不是第一个:对于特定键的元素,邮票(整数)总是增加。理想情况下,我想要“最大的邮票”,但它们总是井然有序,所以捷径还可以。
期望的结果:(顺序并不重要。)
我对如何获取此列表有些困惑。有任何想法吗?
如果重要的话,我正在使用 Saxon 处理器。
xml - 如何使用 XSLT 向 XML 中的根元素添加属性?
我想匹配一个根元素“FOO”并对其执行转换(添加版本属性),其余部分保持不变。到目前为止,我的转换如下所示:
但是,这不会执行任何转换。它甚至没有检测到元素。所以我需要添加命名空间以使其工作:
但这会将命名空间属性附加到 FOO 元素以及其他元素:
- 有没有办法说元素正在使用默认命名空间?
- 我们可以在默认名称空间中匹配和添加元素吗?
这是原始的 XML:
xslt - 如何在 XSLT 中对值进行分组和求和
对于每个“代理”节点,我需要找到具有相同 key1、key2、key3 值的“stmt”元素,并仅输出一个“stmt”节点,其中“comm”和“prem”值相加。对于该“机构”中与基于 key1、key2 和 key3 的任何其他“stmt”元素不匹配的任何“stmt”元素,我需要按原样输出它们。因此,在转换后,第一个“代理”节点将只有两个“stmt”节点(一个相加),第二个“代理”节点将按原样传递,因为密钥不匹配。XSLT 1.0 或 2.0 解决方案都可以……虽然我的样式表目前是 1.0。请注意,代理节点可以有任意数量的“stmt”
xslt - 如何从特定节点而不是根节点开始选择文本节点的前面节点?
如何从我知道其 id 的特定节点开始选择文本节点的前面节点,而不是从根节点获取文本节点?
当我从文本节点的模板匹配中调用以下部分时,我从根中获取所有前面的文本节点。我想修改上面的代码,只选择出现在具有特定 id 的节点之后的文本节点,比如 123。即类似于 //*[@id='123']
我如何在我使用 before::text 的地方包含条件,以便选择相对于我知道的特定节点的 id 的前面的文本节点?
xslt - 多字段分组
我正在从数据库生成 XML 文件,如下所示...
我从生成的 XSLT 中获取了前两条记录。通过使用 XSLT,我尝试根据 IFTA_LICENSE_NUMBER、IFTA_BASE_COUNTRY、IFTA_BASE_ST ATE、NAME_TYPE、ADDRESS_TYPE 对记录进行分组,但我未能像这样生成 XML。
xml - 如何在 XSLT 中应用或链接多个匹配模板?
我正在开发一个样式表,该样式表使用许多具有匹配属性的模板:
我想做的是能够“链接”上面的两个函数,以便“字符串”的输入将在输出中呈现为“字符串”。(带有句号。)我想以不需要了解任何其他模板中的其他模板的方式来执行此操作。因此,例如,我希望能够添加一个“util:add-colon”方法,而不必使用现有模板打开引擎盖和猴子。
我正在玩弄<xsl:next-match/>
完成此操作的指令。将它添加到上面的第一个模板当然会调用 util:uppercase 和 util:add-period,但输出是每个模板输出的聚合(即“STRINGstring”。)似乎应该有一种优雅的链接方式任意数量的模板一起使用类似的东西<xsl:next-match/>
,但让每个模板的输出馈送链中下一个模板的输入。我是否忽略了一些明显的东西?
xslt-2.0 - xsl:variable 在 XSLT 2.0 中不返回节点集?
我正在尝试从 xsl 变量中获取节点集以进行计算。但是我的代码只适用于 Opera,在其他浏览器中,我不断收到错误消息。
请帮我修复以使用所有浏览器运行。提前致谢。
这是xslt代码:
和xml:
visual-studio-2010 - 将 XSLT 2 架构添加到 Visual Studio 2010 以实现智能感知
我想将 XSLT 2 架构添加到 Visual Studio 2010 以提供智能感知。我已将架构添加到 C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas (删除 XSLT 1 架构),但无济于事。架构似乎已被 Visual Studio 解析,因为我可以将光标悬停在样式表 (xmlns:xsl="http://www.w3.org/1999/XSL/Transform") 中的命名空间声明上并查看来自新模式的注释,然而,intellisense 仍然指的是 XSLT 1 实现。例如,<xsl:function/> 元素具有“xsl:function 尚不可用”的警告。
我需要以某种方式注册架构吗?欢迎任何建议。
xslt-2.0 - 提高 XSL 的性能
我正在使用下面的 XSL 2.0 代码来查找包含我作为输入提供的索引列表的文本节点的 ID。该代码运行良好,但就性能而言,大型文件需要很长时间。即使对于大文件,如果索引值很小,那么结果在几毫秒内很快。我正在使用 saxon9he Java 处理器来执行 XSL。
在上述解决方案中,如果索引值太大,比如 270962,则 XSL 执行所需的时间为 83427 毫秒。在大文件中,如果索引值很大,例如 4605415、4605431,则需要几分钟才能执行。似乎变量“插入数据”的计算需要时间,尽管它是一个全局变量并且只计算一次。应该添加 XSL 还是处理器?如何提高 XSL 的性能。