問題タブ [xerces2-j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
108 参照

java - IBM SBT SDK 1.1.0 (Java) および Apache xerces

私は、IBM SBT SDK (Java) との IC 統合を、まだ xerces 2.4.0 (2009 年 3 月現在) を使用している既存のプロジェクトに追加しています。

ここでは IBM SBT SDK 1.0.x を使用しても問題は発生しませんでしたが、1.1.0 の XML シリアライゼーションの実装は、org.w3c.xml.ls.DOMImplementationLS などに完全に依存しており、2004 年頃に xerces を "xercesImpl" に移動した後に導入されました。 .

ただし、このプロジェクトには、xerces および xml-apis に基づいて XML を操作する多くのコードが含まれており、これらのライブラリの「より最新の」バージョンに急いで移行するのは危険に思えます。したがって、「絶対に必要以上に」移動したくありません。

maven のおかげで、pom.xml で直接参照されていない場合、アーティファクトのどのバージョンがロードされているかを誰も直接見ることができません。したがって、私の質問:

IBM SBT SDK 1.1.0 で「本当に」必要な xercesImpl のバージョンはどれですか? SBT SDK で使用されるいくつかのメソッドがまだ実装されていないため、2.4.0 では不十分です...

0 投票する
0 に答える
2188 参照

java - エンティティ "entityname" が参照されましたが、宣言されていません

それに関して1つの質問を見つけましたが、それは古い質問であり、回答がJava XML処理エンティティの問題で機能しなくなったようです?

だから私の問題は、私が実際にXMLファイルを使用していて、Entity References. DocumentBuilderこれらのエンティティ参照をそのままにして、解析しないようにしたいと思います。ただし、それを解析しようとすると、The entity "entityname" was referenced, but not declared.例外が発生します。

これは私のXmlParserクラスコンストラクターです:

DocumentBuilderFactory.newInstance()また、パラメーターなしで使用しようとしたところ、同じエラーが発生しました。

この問題を解決するにはどうすればよいですか?

XML の例:

その例外:

0 投票する
0 に答える
430 参照

java - XInclude 対応の XMLReader を XMLFilter にチェーンして、フィルターが変更された要素に対して XInclude の包含が実行されるようにする方法は?

Java XML 解析 - xi:include の出力のマージで、投稿者は XInclude を使用しようとしましたが、include要素で間違った名前空間を使用していました。XMLFilter が名前空間の修正を処理する XInclude 認識パーサーの前に配置された XMLFilter は、この問題を解決できると考えました (修正された名前空間を持つ中間ファイルを最初に作成する別の処理ステップを使用せずに、ファイルをそれぞれ手動で編集する必要はありません)。 .

そこで、SAX が提供する をXMLFilter拡張して、次のように記述しました。XMLFilterImpl

次に、XInclude 対応の SAXParser をそれぞれ作成して、XMLReaderそのフィルターにチェーンし、サンプル ドキュメントをSAXSourceそのフィルターからデフォルトにロードして、次のTransformerようにビルドしDOMResultます。

file3.xml私が使用したサンプル ドキュメントxi:xincludeには、適切な XInclude 名前空間に 1 つの要素と、サポートされていない古い名前空間に1 つの要素があります。

私の期待は、フィルターが最初に名前空間を修正し、次に XMLReader が両方の要素に対して XInclude を実行することです。ただし、Java 1.8 でコードを実行すると、出力は次のようになります。

そのため、フィルターは 2 番目の要素の名前空間を修正しましたが、XMLReader は最初の要素includeに XInclude の包含のみを適用しました。include

どこで間違ったのですか?フィルターと XInclude 対応の XMLReader をチェーンして名前空間を修正し、名前空間が修正された要素に対して XInclude インクルードを実行するにはどうすればよいですか?

完全を期すために、次のreuse.xmlとおりです。

簡単なテストを可能にする Java プログラムの完全なコード:

また、Apache の最新の Xerces Java をクラスパスに配置して、問題が解決するかどうかを確認しようとしましたが、出力は同じままです。

0 投票する
1 に答える
92 参照

html - XercesLib が無効な XML の解析に失敗する

XercesLib c++ ライブラリを使用して html ファイルを解析しています。私の場合、html ファイルのタグ コンテンツ内に山かっこが含まれている場合があります。

現在、XercesLib は mo タグのコンテンツの解析に失敗しています。タグにエスケープされていない文字が含まれていると、空の出力が返されます。

同じファイルは JavaScript ライブラリ (MathJAx) で問題なく解析できるため、エスケープされた入力ファイルを提供するようにソースに指示することはできません。

XercesLib でこの問題を解決するにはどうすればよいですか?