アプリケーションへの入力である1つのXML(たとえば、x1.xml)を、同じスキーマの新しいバージョンに基づくわずかに異なるXML(たとえば、x2.xml)形式に変換する必要があります。x2は私のアプリケーションからの出力です。x1とx2の要素の約90%は、同じスキーマに属しているため同じです(バージョンが異なるだけです)。
変革のための最良のアプローチは何でしょうか。私はjavaとmuleesbを使用しています。
これはXSLTのパンとバターのタスクです。デフォルトで変更されていない要素をコピーするIDテンプレートルールから始めます。
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
次に、変更する要素のテンプレートルールをさらに追加します。
これは、ドキュメントのサイズ、必要な変換のタイプ、および実行する回数によって異なります。選択テクノロジーを学習するコストと、それが提供するメリットを比較検討する必要があります。
個人的には、xsltスタイルシートまたはJava DOM apiから始めます。これは、私がよく知っていることだからです。パフォーマンスが要件を満たしていない場合は、他の選択肢の1つに切り替えてください。