我知道在Java中使用XSL转换到XMLS的方法。
javax.xml.transform.transformer转换器
这种方法适用于小型xml数据。但当涉及到基于dom的方法由于内存限制而难以使用的大型xml数据时,这就变成了一场噩梦。
我想知道对大型xml应用xsl转换的最佳方法是什么。有没有在sax而不是dom上运行的转换器?
最佳答案
在Java中实现JAXP的XSLT处理器有不同的实现方式。saxon 9.3是一个xslt 2.0处理器,它还实现了xslt 3.0工作草案的一些流特性,请参见http://www.saxonica.com/documentation/sourcedocs/streaming.xml。
即使您不使用最新的实验性saxon 9.3特性,通常也最好不要向处理器提供domsource,而是让处理器通过提供streamsource来使用自己的树实现。