问题标签 [xslt-3.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.

0 投票
4 回答
397 浏览

xml - 删除编码的 html 并添加换行符

我一直在尝试解决这个问题几个小时,但没有运气。XML 看起来像 -

我希望输出在没有编码<p>或标签的情况下干净,但还通过替换为<b>在部分之前插入换行符。所以输出看起来像&lt;p&gt;&lt;b&gt;<br/>

我尝试使用替换功能,但无法添加换行符。也尝试使用翻译但没有运气

任何有关如何解决此问题的帮助将不胜感激。

0 投票
2 回答
89 浏览

xml - XSL 流在小文档上的用例,而不是提前退出?

我正在研究在 XSL 中使用流式传输的用例。我知道两个明显的案例:

A. 您需要转换一个非常大的文档,整个文档无法保存在内存中。B. 你只需要文档的一小部分,而且通常那个“小部分”靠近顶部。然后,您可以通过提前退出来节省时间。

我写信是想问在实践中是否存在第三个真实用例:

C. 您有一个简单的转换并希望放弃构建 XML 树所需的 CPU 时间。举个例子,假设一家商店的货物存储在一个 XML 结构中,格式如下:

顶级 = 年份

第二级 = 月

第 3 级 = 发货日

第 4 级 = 货件 ID

第 5 级 = 装运中的单个物品

只是为了举例,考虑一个转换,其目的是在“月”级别提取信息......只需要存储在月元素属性中的数据,而不需要有关这些节点后代的任何信息。

即使必须阅读整个文档,这种转换是否有可能从流式传输中受益?我希望可以获得一些时间,因为不需要构建树,但在我有限的测试中,情况似乎并非如此。

我在 SAXON 9.5.1.3 中尝试了这样的示例,流式传输比非流式传输示例慢 20%。也许执行流所涉及的开销几乎总是比不构建树所获得的时间更糟?(至少在 SAXON 中,树的构建速度非常快。)

还是我在测试中犯了错误,并且有明显的例子表明流式传输效率更高,即使必须阅读整个文档?

0 投票
1 回答
1272 浏览

xml - 关键字 xsl:template 不能包含 xsl:next-match

有人可以解释一下为什么以下给我的错误: Keyword xsl:template may not contain xsl:next-match

虽然这个版本没有错误,但当然它只匹配一个

我的测试 xml 文件是:

(问题修订编辑)我正在使用 Msxml2.XSLTemplate.6.0、Msxml2.FreeThreadedDOMDocument.6.0 和 Msxml2.DOMDocument.6.0

0 投票
1 回答
223 浏览

xslt - 从 2.0 开始的 XSL 转换

我在将 XSLT 2.0 转换为 XSLT 3.0 时遇到问题。我想使用 XSLT 3.0 的流功能。我正在努力使用<xsl:stream>and<xsl:mode>标记,因为 XSLT 3.0 有几个限制。对于使用 XSLT 3.0 流功能,面临以下限制:

  1. “兄弟节点和祖先兄弟节点不可访问”。
  2. “您只能访问一次子节点”
  3. “您只能访问当前元素属性和命名空间声明”

我怎样才能克服这些限制?谁能帮帮我吗?

0 投票
1 回答
256 浏览

xslt - XSLT 2.0 或 3.0 中的动态转换

我有这段代码将字符串转换为在运行时确定的类型:

在 XSLT 2.0 中有没有更好的方法来做到这一点?3.0怎么样?

0 投票
2 回答
5037 浏览

xml - 如何在 XSLT 中使用地图?

我在这里阅读 XSLT 3.0 的 W3C 文档。这是我得到的:

创建地图后,我们如何使用和检索它的值?在早期版本的 XSLT 中是否有不同的方法来创建映射?

0 投票
2 回答
1582 浏览

xml - 如何使用 XSLT 3.0 中的 xsl:stream、xsl:accumulator、xs:fork?

我在这里阅读 XSLT 3.0 的 W3C 文档。我想知道如何使用这些元素:

显然,这些是一些较少使用的元素。由于此处给出的示例有限,因此此处提供的答案将使未来的 XSLT 学习者受益。有人可以演示如何使用它们吗?

我知道要回答的问题很多。所以我会赞成任何正确的部分答案,希望它对其他人有用。

0 投票
1 回答
130 浏览

xml - XSLT 中的“验证”属性是什么意思?

我在这里阅读 XSLT 3.0 的 W3C 文档。我注意到诸如 <xsl:stream> 之类的元素可以具有“validation”属性,该属性的值可以是“strict”、“lax”、“perserve”或“strip”。每个值是什么意思?有人可以演示如何使用每个值吗?

0 投票
1 回答
374 浏览

xml - XSLT 3.0 中映射函数的命名空间是什么?

XSLT 3.0 为map定义了一些函数。我注意到这些功能的前缀是“地图”。那么我们应该如何声明'map'的命名空间呢?

0 投票
1 回答
564 浏览

xml - 在 xslt 中合并两个字符串

我一直在试图找出解决这个问题的正确方法,但还没有取得任何成功。问题是我有两个变量-一个包含服务器+站点根路径,第二个包含文件的路径,例如-

我在这里尝试做的是对这两个字符串应用一个函数,以便最终结果看起来像 -

到目前为止,我尝试的是 tokenize() 字符串,然后比较每个项目,但问题是如果让我们说文件夹名称“academics”重复两次,它会停在第一个。我确信有更好的方法来解决这个问题。任何建议都受到高度赞赏。