0

camel xslt コンポーネントを使用して xhtml ファイルを変換します。ただし、ファイルを変換するために、使用される XMLReader は w3c Web サイトから xhtml dtd をダウンロードします。

xslt コンポーネントに、ローカル バージョンを使用するように xml リーダーを構成するように指示することは可能ですか (たとえば、xml カタログを使用して)?

4

1 に答える 1

0

プロセッサーを使用して、CatalogResolver を使用して XMLReader を作成し、この xmlReader を使用して SAXSource を交換に入れる方法を見つけました。

@Override
public void process(Exchange exchange) throws Exception {
    InputStream inputStream = exchange.getIn().getBody(InputStream.class);

    XMLReader xmlReader = XMLReaderFactory.createXMLReader();
    xmlReader.setEntityResolver(new CatalogResolver());
    exchange.getIn().setBody(new SAXSource(xmlReader, new InputSource(inputStream)));
}

xsltComponent によって使用される Transformer は、この xmlReader を使用します。

于 2013-05-24T09:07:16.247 に答える