Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml Xalan XSD转换花费的时间太长_Xml_Xslt_Xsd_Xalan_Gml - Fatal编程技术网

Xml Xalan XSD转换花费的时间太长

Xml Xalan XSD转换花费的时间太长,xml,xslt,xsd,xalan,gml,Xml,Xslt,Xsd,Xalan,Gml,我试图使用GML XSLT子集工具来转换GML XSD模式。平台是32位的Windows7 它被第一个命令卡住(到目前为止,在我的桌面上至少有10个小时): 是否有一个选项可以加速模式感知转换 已经尝试过的替代工具:萨克森HE、Altova XMLSpy。GML架构上的内存都已用完 编辑:还有一些事实: GML版本是3.2.1 GML XSLT子集工具来自规范中的附录G XSLT工具使用XSLT版本1.0 解决性能问题需要细节,而您没有给出任何细节。首先,源文档(即GML模式)有多大,分配了多少

我试图使用GML XSLT子集工具来转换GML XSD模式。平台是32位的Windows7

它被第一个命令卡住(到目前为止,在我的桌面上至少有10个小时):

是否有一个选项可以加速模式感知转换

已经尝试过的替代工具:萨克森HE、Altova XMLSpy。GML架构上的内存都已用完

编辑:还有一些事实:

  • GML版本是3.2.1
  • GML XSLT子集工具来自规范中的附录G
  • XSLT工具使用XSLT版本1.0

  • 解决性能问题需要细节,而您没有给出任何细节。首先,源文档(即GML模式)有多大,分配了多少内存

    考虑到您正试图处理XSD文件作为输入,而这通常是一项复杂的任务,我认为主要的问题是样式表的算法复杂性。这种问题通常可以通过明智地使用钥匙来解决


    如果GML模式的大小超过几兆字节,我会感到惊讶,因此内存问题不太可能仅仅是源文档的大小;它更可能是在样式表本身中创建的临时数据结构。但是如果没有代码,就无法解决这个问题

    Xalan是XSLT 1.0处理器,Saxon是XSLT 2.0处理器,但不支持模式,那么为什么要问“一个可以加速支持模式转换的选项”?简单地将XSD模式作为输入进行处理不是模式感知处理。至于内存问题,对于Java应用程序,可以使用命令行选项来增加内存,请参阅。输入文档有多大,运行Saxon时您授予Java应用程序的内存是多少?嗨,Michael,我很荣幸有Saxon的创建者回答我的问题!非常感谢。GML模式在磁盘上确实只有约400kb,但我怀疑它包括在线模式。如上所述,XSLT子集工具位于3.2.1规范的附录G中,但为了便于参考,我在此处包含了所有GML xsd文件和XSLT文件:。我在SaxOne中使用的命令是>Transform-o:gml.dep gml.xsd,这取决于具体情况。xsltI今天不打算讨论这个问题,我也没有办法标记SO帖子以供将来关注,因此请将此作为对的支持请求提出来。
    >xalan -o gml.dep gml.xsd depends.xslt