2009-05-09 17 views
2

DOMパーサを使用して、javaのスキーマを使用してxmlを検証できます。しかしここでは、スキーマとXMLファイルの両方に名前空間があります。スキーマのjava xml検証問題

今、スキーマを使用して名前空間を持たないxmlを検証したいと考えています。動作するようになっていないので、この

おかげ BAPI

答えて

1

を達成するためにどのように基本的には、あなたの文書は、スキーマと一致していません。理想的には、XML文書を修正して適切な名前空間を持つようにします。またはスキーマを使用して非名前空間構造を検証します。

しかし、それがうまくいかないとすれば、問題のXMLコンテンツを前処理し、要素/属性を予想される名前空間に変更することができます。これは、DOM、SAXまたはStax処理を使用して行うことができます。 DOMは通常SAXソースから構築されるので、要素、属性の名前空間を「追加」する単純な連鎖SAXコンテンツハンドラを持つのが最も簡単かもしれません。これは、チェーンハンドラを呼び出す前にコールバックを受け取り、引数を変更することによって行われます。 私はあなたがGoogleのコード例であることができると確信していますが、これはかなり一般的な使用例です。特に多くの開発者がXMLネームスペースのしくみを理解するための時間をとっていないからです。名前空間はロケット科学ではありませんが、プレフィックスと名前空間URIの役割を誤解する可能性はまだあります。

これが役に立ちます。