- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在研究在 XSL 中使用流式处理的用例。我知道两个明显的案例:
一个。您需要转换一个非常大的文档,而整个文档无法保存在内存中。B. 你只需要文档的一小部分,而且通常那个“小部分”靠近顶部。然后,您可以通过提前退出来节省时间。
我写信是想问一下,在实践中是否存在第三个真实用例:
C.您有一个简单的转换并且想要放弃构建 XML 树所需的 CPU 时间。举个例子,假设一家商店的 cargo 存储在具有以下格式的 XML 结构中:
顶级 = 年份
第二级 = 月
第 3 级 = 发货日期
第 4 级 = 货件 ID
第 5 级 = 装运中的单个项目
举个例子,考虑一个转换,其目的是在“月”级别提取信息......只需要存储在月元素属性中的数据,而不需要关于这些节点的后代的任何信息.
即使必须读取整个文档,这样的转换是否有可能从流式传输中受益?我希望可以节省一些时间,因为不需要 build 树,但在我有限的测试中,情况似乎并非如此。
我在 SAXON 9.5.1.3 中尝试了这样一个示例,流式传输比非流式示例慢了大约 20%。也许执行流所涉及的开销几乎总是比不构建树所获得的时间更糟糕? (至少在撒克逊语中,树的构建速度非常快。)
或者我在测试中犯了错误,并且有明显的例子表明流式传输更有效,即使必须读取整个文档也是如此?
最佳答案
感谢您提供有关 Saxon 的数据。我对 20% 的开销并不感到惊讶;如果它是 60%,我不会感到惊讶。这在很大程度上与实现的成熟度有关;在你开始考虑让它变得更快之前,让流媒体工作已经够难的了。但是,如果它在文件小到足以在内存中处理的情况下变得比传统处理快得多,我会感到惊讶。这在一定程度上是因为您可以使用流式处理进行的那种转换的性能很可能受解析和序列化成本的支配,这在两种模型中都是相同的。
我知道许多领域存在优化空间(或者至少进行详细测量以发现是否存在优化空间),但首要任务是使其全部正常运行并获得足够的测试用例到位,可以在不冒引入更多错误的情况下尝试优化。
关于xml - XSL Streaming 在除提前退出以外的小文档上的用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658753/
我知道这可能看起来像一个愚蠢/新手问题,但我对 XSLT 还很陌生(尽管我开始接受它并了解它的功能)。 什么时候适合使用xsl:if,什么时候适合使用xsl:choose/xsl:when? 当我想要
在根据节点是否存在设置变量后,我尝试输出变量的文字字符串值。我认为条件检查逻辑是正确的。但它没有输出值... su
我目前正试图使用 XSL 将 XML 文档转换为 HTML。 XML 文档使用 namespace ,我对 XSL 并没有太多经验,更不用说 namespace 了。基本上我想做的就是抓取 s:t
你能否在嵌套的 xsl:when 中嵌套 xsl:if,例如:
我正在 W3Schools 上使用 XSLT 代码示例:https://www.w3schools.com/xml/xsl_client.asp 我有这部分代码在 IE 中使用基本的 xslt 处理.
我正在尝试从 XSLT 样式表动态生成 XSLT 文档。原则上这当然有效,但我没有让命名空间工作。我想让生成的 XSLT 元素以“xsl”前缀为前缀: 而不是 我玩过 xsl:element 的
我们客户的要求是提供带圆角的 PDF 表格。我只有 Apache FOP 处理器可供我使用,它不支持圆角属性。它也不支持 float ,因此无法向左和向右 float 圆形图像。 你对如何做到这一点有
我有一个关于 xsl 的问题。我有 1 个巨大的 xsl 文件(+4000 行 :p),我想将文件分成不同的部分。我使用 xsl 文件来映射 BizTalk 中的一些架构,如果我将它分成几部分,它的性
我的 FO 流程有问题,因为在一页上,标题显示在一页的末尾并在之后的页面上继续。如何向 title-element 添加属性,以便标题始终显示在同一页面上,这意味着:没有分页符。 谢谢! /丹尼 最佳
我想知道是否有人可以帮助我或指出正确的方向。我目前有从 XML 文件返回正确的元素有些麻烦。我只是尝试获取我拥有的大型 XML 文件的精简版本,以便输出另一个 XML 文件(不是很多教程都在使用的 H
我想动态创建具有动态名称的变量以供以后在我的转换中使用,但为此我需要动态生成 XSL,然后在同一脚本中运行它。 这只是我正在寻找的粗略伪代码示例。
我正在学习 XML 以及如何使用 XSL 文件。在 XSL 文件中,我发现了以下术语: xsl:template match="/" 这代表什么?我可以用什么代替 /?我可以编写 table 或任何其
是否可以将 xsl: 放到 XSL 样式表中的 XSL 标签? 例如,可以: 输入为: 编辑:样式表中包含 HTML 和 XML 节点。 谢谢,罗斯 最佳答案 实际上,您可以通过将 XSLT(“h
有什么办法不离开后第一 匹配但继续检查其他条件? 最佳答案 我相信这是一个不。正如规范所说: The content of the first, and only the first, xsl:whe
在构建 XSL 文档时,我遇到了以下问题。我想保留原文中的换行符,所以我设置了linefeed-treatment="preserve" .然而,这显然也意味着它保留了文本内容之外和实际 xml 元素
我有一个 XSL 样式表,我需要使用 xsl:function 添加一些自定义字符串操作。但是我在尝试找出在我的文档中放置该函数的位置时遇到了麻烦。 我的 XSL 简化看起来像这样,
我有以下 XML: Picture 1 Picture 2 Picture 3 虽然此 XSL 执行了预期的操作(输出第一张图片的属性):
我希望 column-count="2"只出现在页面的某些部分。 ]>
我正在为我的 XML 内容生成 xsl-fo 文档,然后将此内容传递给将生成 PDF 的第三方 DLL 之一。我需要以 45 度角显示测试。如何实现这一目标? 谢谢 最佳答案 我很确定您不能在纯 XS
在我的情况下,我必须在两个表格行之间提供高达 0.5cm 的空间。我怎样才能做到这一点。 代码:: 我用过了:
我是一名优秀的程序员,十分优秀!