Java 6では、xerces XMLパーサー/シリアライザーの実装全体がJavaランタイム(rt.jar)に含まれるようになりました。パッケージはcom.sun。*名前空間の下に移動され、クライアントコード内で明示的に参照できるように立ち入り禁止になっています。これは、javaxAPIで定義されたファクトリを介してインスタンス化されるパーサーを使用する場合は問題になりません。
ただし、このコードではxercesシリアル化(org.apache.xml.serialize。*)も使用しています。AFAICT、SerializerとOutputFormatのインスタンスを作成するためのjavax.xmlAPI定義のファクトリはありません。これは、取得する唯一の方法がcom.sun.org.apache.xml.serialize。*APIを明示的に呼び出すことであることを意味しているようです。
javax.xml.streamでシリアル化クラスを見つけましたが、xercesOutputFormatクラスのような出力フォーマット制御を提供していないようです。
質問:
xerces.jarを含めずに、またcom.sun。*クラスを明示的にインスタンス化せずに、javax標準APIを介してxercesシリアル化機能(rt.jarにある)にアクセスする方法はありますか?
そうでない場合、同じ効果を達成するためのjavax API準拠の方法はありますか?