は、私はこのように、関連するXSLファイルを参照するXMLファイルがあります。JavaのXML <?xml-stylesheet ...?>ディレクティブを呼び出す方法は?
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="my-transform.xsl"?>
<my-root> .....
を、私は変換を適用すること、org.w3c.dom.Document
としてそれを読んでもらいたいです。
XPATH /processing-instruction('xml-stylesheet')
を使用してスタイルシート処理命令を抽出してから、XSLファイルを手作業でロードしてTransformer
で適用することを検討しています。
しかし、これを手動で行う必要があります。ファイルを読み込んで自動的に埋め込み変換を適用する方法はありますか?
更新:TransformerFactory.getAssociatedStylesheet(...)
は、xml-stylesheetの値がSource
と非常に近いことを確認するため、@raphaëλに感謝します。それ以上に自動化されたものはありますか?
XSLをXMLに埋め込む必要がありますか、他の方法は問題ありませんか? – nawazlj
'getAssociatedStylesheet'(https://docs.oracle.com/javase/8/docs/api/javax/xml/transform/TransformerFactory.html#getAssociatedStylesheet-javax.xml.transform.Source-java.lang)を使用できます。 String-java.lang.String-java.lang.String-) 'Source'を取得する –
@nawazlj XMLはスタイルシートを指定するのが理想的です。なぜなら実際にXMLはダウンストリームのクライアントユーザによって書き込まれるからです。私は彼らにXSLTファイルを与えさせることでXMLをカスタマイズするというアイデアを売っているので、XMLと一緒に自分の簡略表記を開発して私に送ることができます。実際には、彼らはすでにその短縮形を開発しましたが、それはビルドプロセスにあり、私はそれらを私のサービスの一部として持ってきています。ですから、それらのスタイルシートが適用されなければならないのは、それらのスタイルシートのうちのどれを適用するかです。 – SusanW