- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 xsltproc 解析一个 13,00,000 行长、大小为 56 MB 的输入 xml 文件。我收到以下错误:
input.xml:245393: parser error : internal error: Huge input lookup
"description" : "List of values for possible department codes"
^
unable to parse input.xml
我的 xsltproc 能够处理一个 9,30,000 行长、大小为 48 MB 的 xml 文件。
事实上,我尝试通过删除不必要的部分将 xml 行减少到 600,000 行。尽管如此,还是出现同样的错误,这很奇怪,因为它能够解析 900,000,但不能解析 600,000。
如何解决这个问题?
最佳答案
根据以下代码片段在 Python 中编写您自己的 xsltproc:
import argparse
from lxml import etree
parser = argparse.ArgumentParser()
parser.add_argument('stylesheet', help='XSLT style sheet', type=argparse.FileType('r', encoding='utf-8'))
parser.add_argument('input', help='XML input file(s)', nargs='*', type=argparse.FileType('r', encoding='utf-8'))
parser.add_argument('--output', help='The output file to create.', type=argparse.FileType('wb'))
args = parser.parse_args()
transform = etree.XSLT(etree.parse(args.stylesheet))
xml_parser = etree.XMLParser(huge_tree=True)
for xml in args.input:
transform(etree.parse(xml, xml_parser)).write_output(args.output)
这使用 lxml正如 this answer 中所建议的.
huge_tree=True 参数设置 libxml2 中相应的解析器选项,从而使其能够处理大文件。请参阅Parser options了解更多信息。
关于xml - XSLT 1.0 (xsltproc) - 无法解析巨大的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59313985/
我正在尝试使用 XSLT 样式表转换 XHTML,但我什至无法获得匹配任何内容的基本样式表。我确定我错过了一些简单的东西。 这是我的 XHTML 源文件(没什么大惊小怪的): ... 实际
我正在尝试编写一个简单的 .xslt 来处理 .xml 文件。但我一直很困惑 - 为什么标签中的文字 text也印出来了?请看例子: sample.xml Joe
所以,我想做的是使用 xsltproc 查询 XML 文件,传入服务器名称的参数。此名称包含在 XML 文档中。我想从此文件中提取用户名和密码。 因此,Name 是 User 和 Pass 的兄弟。我
我正在尝试清理一些 html。我已经用 tidy 将它们转换为 xhtml $ tidy -asxml -i -w 150 -o o.xml index.html 生成的 xhtml 最终具有命名实体
我正在尝试将一个非常简单的 xml 转换为 html。实际上xml文件是空白的。 这是我的 XSL How you doing?
您好,我必须在以下条件下合并 xml 文件: 复制新文件的所有现有节点,然后与旧文件值合并。例如: 文件 abc.xml Alpha
背景: 我们创建了一个客户端门户,它从我们的数据库中选择所需的数据点并将它们输出为 XML。客户以 XSLT 样式表的形式向我们提供了他们想要的格式。因此,我们向他们交付的文件最好是尽可能对用户最友好
我所有的输出都有 在我预期的输出之前。我该如何摆脱这个?我查看了不同的标志,但找不到与此相关的任何内容。 一些额外的细节: 使用 Fedora 8 [a@...]$ xsltproc -V 使用 li
我有这个 XSLT 语法表: 因此,我想根据正则表达式复制除某些节点以外的所有内容。我想使用 XSLT 2 的匹
我正在尝试使用 xsltproc 解析一个 13,00,000 行长、大小为 56 MB 的输入 xml 文件。我收到以下错误: input.xml:245393: parser error : in
我正在尝试为 XML 文档生成一个 postscript 文件。我可以使用 xsltproc 生成纯文本或 html 输出。 xsltproc --output output.txt xslFile.
需要使用 bash shell 将 xml 文件转换为 csv。检查我们在 Linux 主机上是否有可用的 xsltproc。如果还有其他方法可以通过 bash shell 将其转换为 csv。请告诉
我有一个项目,其中包含一堆使用 bash 脚本捆绑在一起的小程序,按照 Unix 哲学。他们的交换格式最初是这样的: meta1a:meta1b:meta1c AST1 meta2a:meta2b:m
我很难验证结合 Schematron 的 SXD 模式。 遵循此 guide 中描述的步骤我在 之间加入了 schematron XSD 文档中的标签如下:
我已经使用 xsltproc 将一些 xml 转换为另一个 xml。 xsltproc iso8859_1.xslt iso8859.xml 并且重音显示不正确(我的 Linux 中的 $LANG 是
我已经使用 xsltproc 将一些 xml 转换为另一个 xml。 xsltproc iso8859_1.xslt iso8859.xml 并且重音显示不正确(我的 Linux 中的 $LANG 是
我有很多具有以下形式的 XML 文件: 我想从文件中删除。 使用 XSLT 样式表和 Linux 命令行实用程序 xsltproc,我该怎么做? 此时在脚本中我已经有了包含我希望删除的元素的文件列表
我正在尝试将 Tomcat 用户添加到 $CATALINE_HOME/conf/tomcat-users.xml在bash带有 xsltproc 的脚本如下(tomcat-users.xml 是 Ap
我有一个如图所示的 XSL 我使用它来查找 2 个 XML 文件中
设法让我的 xsl 在 http://www.xmlper.com/ 工作(来自其他 stackoverflow 评论的好工具很好的推荐)。 但是当我在我的 mac os x 命令行上运行相同的(现在
我是一名优秀的程序员,十分优秀!