2016-03-29 9 views
0

私は、次の形式のファイルxml持っている:私は、ブラウザでファイルを開くと、それは自動的に/path/to/transformer.xslに基づいて、それを正しく解析しJava:href属性に基づいてXSLT変換を実行できますか?

<?xml version='1.0' encoding="ISO-8859-1"?> 
<?xml-stylesheet href="/path/to/transformer.xsl" type="text/xsl"?> 
Content... 

を。

私はxmlファイルへのパスを取り、xml-stylesheethref属性に基づいてhtml出力を生成するJavaプログラムを書きたいです。擬似コードで:

private void transform(String inputPath, String outputPath) { 
    // Open a xml file found in inputPath 
    // Perform an XSLT transformation based on the href attribute 
    // Write the result to a html file in outputPath 
} 

私はこれはおそらく、正規表現を使用して属性値を取得することによって行うことができるが、私はそれを行うための滑らかな印象の方法を探していたことを認識しています。私は全体をxml-stylesheetとみなし、ブラウザのやり方で変換を実行したいと考えています。

答えて

0

JAXP APIでは、TransformerFactory.getAssociatedStylesheet()はソース文書を入力として受け取り、xml-stylesheet処理命令で参照されるスタイルシートにSourceオブジェクトを返します。 factory.newTemplates()またはfactory.newTransformer()を使用して、通常の方法でこのスタイルシートをコンパイルできます。

サクソンのs9apiインターフェイスは、同様の方法XsltCompiler.getAssociatedStylesheet()を持っています。

関連する問題