oracle.xml.parser.v2.XSLProcessor.processXSL重载似乎什么都不做

时间:2012-07-05 17:50:59

标签: java oracle xslt

我正在尝试使用Oracle XSLProcessor将多个XSL转换链接在一起。

第一个转换运行正常。第二个转换似乎也在运行,但根本不会改变输出。

这是我用于第一次转换的代码。

private static XMLDocumentFragment Transform(InputStream xslt_stream, InputStream src_xml_stream) throws XSLException, MalformedURLException{
    XSLProcessor proc = new XSLProcessor();
    XSLStylesheet stylesheet = proc.newXSLStylesheet(xslt_stream);

    XMLDocumentFragment frag = proc.processXSL(stylesheet, src_xml_stream, null);

    return frag;
}

我获取该变换的输出并将其传递给第二个方法。

private static XMLDocumentFragment Transform(InputStream xslt_stream, XMLDocumentFragment src_frag) throws XSLException, MalformedURLException{
    XSLProcessor proc = new XSLProcessor();
    XSLStylesheet stylesheet = proc.newXSLStylesheet(xslt_stream);

    XMLDocumentFragment frag = proc.processXSL(stylesheet, src_frag);

    return frag;
}

这是流程。

// get XSL input stream from ZD
xslt_stream = getFromZD(conn, "SELECTFF", zd_xslt_chain_1);

    // first overload
XMLDocumentFragment transformed = Transform(xslt_stream, xml_stream);

if (zd_xslt_chain_2 !=  null){
    // run second in transform chian
    xslt_stream = getFromZD(conn, "SELECTFF", zd_xslt_chain_2);

            // second overload
    transformed = Transform(xslt_stream, transformed);
}

我做了一些明显错误的事情,是否有更好的方法来运行XSLT链?让我假装我使用Oracle的XSL处理器,因为我这样做。

0 个答案:

没有答案