問題タブ [xerces]

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 に答える
1339 参照

java - HttpRequest から XML を読み取る XMLEntityScanner.peekChar の ArrayIndexOutOfBoundsException

サーブレット doPost() で HttpServletRequest から XML データを読み取り、リーダーを req.getReader() から JAXB unmarshaller に渡しています。いくつかの異なる入力 XML を試しましたが、常にこの例外が発生します。

これは、ローカル開発マシンではなく、Live Web サーバーでのみ発生します。入力が何であれ (私は約 90k の入力しか試していませんが)、スタック トレースのメッセージ部分は常に "8192" と表示されます。XMLEntityScanner.java の 491 行目を調べたところ、バッファーが読み取られていることがわかります。バッファーは実際には配列です。8192 のゼロベースのインデックスを使用して 8k バッファを読み取れないことは理にかなっています。これはバグに違いありませんが、原因は何ですか?どうすればよいですか?


私は、多くの探偵の仕事を通じて、すでに答えを見つけたので、これを尋ねています。Apache はすでに修正を拒否しているので、次のかわいそうな人を手間から救いたかったのです。

0 投票する
3 に答える
5722 参照

java - XML ファイルの間違ったエンコーディングの修復

当社のプロバイダーの 1 つは、UTF-8 でエンコードされたドキュメントとしてタグ付けされているが、UTF-8 文字セットに含まれていない文字を含む XML フィードを送信することがあります。これにより、パーサーは例外をスローし、これらの文字が検出されたときに DOM オブジェクトの構築を停止します。

次の例外をスローします。

これらの問題を早期に「キャプチャ」し、例外を回避する方法はありますか (つまり、これらの文字を見つけてストリームから削除するなど)? 私が探しているのは、誤ってエンコードされたドキュメントの「ベスト エフォート」タイプのフォールバックです。正しい解決策は明らかに、問題の発生源を攻撃し、正しいドキュメントのみが配信されるようにすることですが、それが不可能な場合の適切なアプローチは何でしょうか?

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

c++ - 空の DOMElement を作成する方法

プロジェクトで Xerces-c を使用していDOMElementますが、まったく新しいDOMDocument. そのようなことは可能ですか?

0 投票する
5 に答える
897 参照

java - éが正しく解析されていません

私のアプリケーションはurlconnectionからxmlを読み取ります。xmlエンコーディングはISO-8859-1であり、é文字が含まれています。xerces saxparserを使用して、受信したxmlコンテンツを解析します。ただし、lunix OSでアプリケーションを実行している間は、éを正しく解析できません。Windowsではすべてが正常に機能します。ヒントを教えていただけませんか?どうもありがとう

0 投票する
4 に答える
2981 参照

java - getResourceAsStream() を使用してロードされる XML ファイルに DTD を含めるにはどうすればよいですか?

次の DOCTYPE を使用して DTD を定義する xml ファイル ('videofaq.xml') があります。

次を使用して、サーブレットの初期化時にクラスパスから(実際にはJARから)ファイルをロードしています。

XML は正しく検出されましたが、同じパッケージ内の DTD の場合、Xerces は FileNotFoundException を返し、最後に「videofaq.dtd」が追加された Tomcat 起動スクリプトへのパスを表示します。Xerces に DTD を適切にロードさせるために、どのようなヒントを渡すことができますか?

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

java - Grails に Xerces が必要なのはなぜですか?

grails プロジェクトで、さまざまな XML ライブラリが衝突するという問題がありました。解決策は、$GRAILS_HOME/lib から xercesImpl.jar を削除することでした。Grails はそれがなくてもうまく機能します。私の質問は、そもそもなぜ xerces-library が grails-distribution にあったのですか?

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

xml - xslt スクリプト コード サンプルを処理するにはどうすればよいですか?

メモ帳、UltraEdit、または Web に公開されたヘルプ テキストを使用して作成した XSLT スクリプトで、致命的なエラーhttp://www.w3.org/2006/xqt-errors#XPTY0004が発生します。これらのツールは奇妙な文字を何も表示しませんが、入力を手動で編集しない限りスクリプトが壊れて、すべてが 1 行になります (通常、すべての空白文字を再作成する必要があります)。コード サンプルをカット アンド ペーストするのは面倒です。(XERCES?) パーサーは、これらのツールに表示されない不正な文字を解釈していますか?

スクリプトの最初の行として追加しようとしまし<?xml version="1.0" encoding="UTF-8"?>たが、それは役に立ちません。XML パーサーがhttp://www.w3.org/2005/xqt-errors#XPTY0004を通過しない理由を説明できる人(リンクを試してください)。

0 投票する
2 に答える
4078 参照

java - Xerces で XML ドキュメントを解析するときに現在の行番号を取得することは可能ですか?

xerces API を使用して XML ドキュメントを解析する Java プログラムがあります。

私の解析クラスは org.apache.xerces.parsers.XMLDocumentParser を拡張し、startElement、endElement、characters メソッドをオーバーロードします。

これは手動で記述された複雑な XML ドキュメント (主に何らかの構成要素) であるため、xsd または dtd による従来の検証では不十分であり、XML ドキュメントが有効でないことをユーザーに返す必要があります。

しかし、私が達成できなかった1つのことは、現在解析されているエラーメッセージとエラーが発生した場所に関する行番号(および列番号ではない理由)に関する情報を追加することです。

XMLドキュメントがXML有効でない場合にパーサーによって生成される例外(org.apache.xerces.xni.parser.XMLParseException)にはこれらの情報が含まれているため、これが可能であると思います。

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

c++ - MS Visual Studio デバッガーで DOMString (apache xerces ライブラリから) を表示するにはどうすればよいですか?

Apache Xerces-Cライブラリを使用するコード (レガシー コード) に取り組んでいます。DOMStringMicrosoft Visual Studio デバッガーで (およびその他の関連する DOM オブジェクト) の値を表示しようとしていますが、無駄です。私は次のことを試しました

1)autoexp.datファイルに次を追加しました:

結果: 同じ動作で、メモリの場所が表示されます

2)「 」構文DOMStringを使用して変数をすばやく監視しようとしましたvar,su

Apache Xerces General メーリング リストでこの質問をしました。

誰かがこの問題に遭遇し、回避策を持っていた場合、それは私にとって非常に役立ちます.

0 投票する
2 に答える
569 参照

c++ - Xerces/Xalan: ドキュメント関数の引数として UNC パス?

Xerces-C 2.5 と Xalan-C 1.8 を使用して XML ドキュメントを変換しています。XSL には、ネットワーク上のファイルを参照する「ドキュメント」関数が含まれています。残念ながら、HTTP でこのファイルにアクセスすることはできません。私はUNCパスしか持っていません。

「ファイル」プロトコルはローカル ファイルに対してのみ受け入れられるため、 WinSockNetAccessor::makeNewが Xerces で呼び出されるため、Xerces は参照ドキュメントの解析を拒否します。WinSockNetAccessor::makeNewは HTTP のみに実装され、例外がスローされ、ファイルは無視されます。

自分のパーサーを作成したり、Xerces を操作したりせずに、UNC パスをローカル ファイルまたはその他の既知の回避策として受け入れるために、Xerces をだます方法はありますか?