如何将Saxon变压器转换为W3C文档

时间:2014-07-25 12:31:09

标签: xslt document transformation w3c saxon

我正在使用Saxon 9.4 HE来转换W3C Document对象,将其转换为像这样的DomSource:

  Processor processor = new Processor(false);
  XsltCompiler compiler = processor.newXsltCompiler();
  XsltExecutable executable = compiler.compile(new StreamSource(new StringReader(xslt)));
  XsltTransformer transformer = executable.load();
  transformer.setSource(new DOMSource(doc));
  StringWriter buffer = new StringWriter();
  Serializer output = new Serializer(buffer);
  transformer.setDestination(output);
  transformer.transform();

我希望收到转换结果为W3C Document对象,有没有办法,不使用buffer.toString()来创建一个新的Document对象?

由于

1 个答案:

答案 0 :(得分:1)

http://www.saxonica.com/documentation/html/javadoc/net/sf/saxon/s9api/DOMDestination.html因此您应该能够提供DOMDestination。我没有检查Saxon HE是否带有DOMDestination,可能只有PE和EE提供了这种灵活性。 Michael Kay总是指出,与Saxon的原生树实现相比,将DOM与Saxon一起使用效率很低,因此请考虑您是否不想使用它而不是W3C DOM。