問題タブ [xerces-c]
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.
c++ - Xerces-Cの問題; オブジェクトデストラクタの呼び出しでのsegfault
私はXerces-CXMLライブラリをいじっています。
私が遊んでいるこの簡単な例があります。
メモリリークやセグフォールトなしで実行することはできないようです。それはどちらかです。
「クリーンアップ」でパーサーオブジェクトを削除すると、常にセグメンテーション違反が発生します。
ライブラリの2.8バージョンと2.7バージョンの両方を使用してみました。
注:コードからすべての例外チェックアウトを取りましたが、コードを使用しても使用しなくても同じ結果が得られます。読みやすく簡単にするために、以下のコードから削除しました。
Xercesに精通した人が何か提案をしたいと思っていますか?
バックトレースからはあまりわかりません。スーパークラスのデストラクタに飛び込んで、そこでセグフォールトしているだけです。
バックトレース:
コード:
xerces - Xerces-CでのXPathサポート
XML解析にXerces-Cを使用するレガシーC++アプリケーションをサポートしています。私は.Netに甘やかされており、XPathを使用してDOMツリーからノードを選択することに慣れています。
Xerces-Cの制限されたXPath機能にアクセスする方法はありますか?selectNodes( "/ for / bar / baz")のようなものを探しています。これは手動で行うこともできますが、XPathは比較すると非常に優れています。
perl - XML::Xerces をインストールするにはどうすればよいですか?
モジュールのインストール中の最新のエラーを一覧表示するパート 2 を参照してください。
通常、標準の cpan> install XML::Xercers を使用して XML::Xerces CPAN モジュールをインストールしようとすると、処理後に次のエラー メッセージが表示されます。
環境変数を に設定した後、環境変数をまたはまたはまたはに指定/home/username/XML-Xerces-2.7.0-0/XML-Xerces-2.7.0-0/Xerces.pm
する必要があるかどうかはわかりませんが、今のところ環境変数を に指定しています。Xerces.pm
Xerces.cpp
Xerces-extra.pm
Xerces.i
/home/username/XML-Xerces-2.7.0-0/XML-Xerces-2.7.0-0/Xerces.pm
前述のように環境変数を設定して入力するcpan>install XML::Xerces
と、次のメッセージが表示されます。
注:手動と CPAN の両方を使用して、ダウンロードXML::Xerces
して再インストールしようとしましたが、上記のエラー メッセージが表示されます。
考えられる理由と、この問題を解決するために提案できることは何ですか?
更新: Xerces-C をビルドした後でも、XML::Xerces モジュールがビルドされず、次のエラー メッセージが表示されます。
Update2これは、何らかのバージョンの不一致があるというエラーです。
c++ - xerces-c 2.8 : 共有ライブラリの読み込み中にエラーが発生しました
Red Hat Linux 上の HP UX サーバーで実行されているプログラムをコンパイルしようとしています。
xerces-c ライブラリを使用して xml ファイルを解析します。コンパイルは問題ありませんが、実行しようとすると、次のメッセージが表示されます
./a.out: 共有ライブラリの読み込み中にエラーが発生しました: libxerces-c.so.28: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
何が起こっているのかを理解するために、非常に単純なプログラムを作成しました。
そして、次のようにコンパイルしました。
g++ test.cpp -L./xml/xerces-c_2_8_0/lib -lxerces-c -I./xml/xerces-c_2_8_0/include
驚いたことに、ファイルは実際にはそこにあります。
何かご意見は ?何かが足りない気がしますが、何がわかりません。
前もって感謝します。
c++ - Xerces C++ でのドキュメントの検証
XML ドキュメントを Xerces-C++ (Linux ではバージョン 2.8) にロードし、ドキュメントから参照されていない DTD スキーマを使用して検証したいと考えています。私は次のことを試しました:
ただし、ドキュメントが有効でない場合でも、エラーは示されません。私は何が欠けていますか?
c++ - Xerces のいくつかの XML DOM パーサー タスクで再利用するための XSD スキーマのキャッシュ
Xerces (C++) で XML を解析するときに再利用する XSD スキーマ (ディスク上にある) をキャッシュするにはどうすればよいですか?
プロセスを開始するときに XSD スキーマをロードし、XML を解析する必要があるときはいつでも、このロードされたスキーマを使用して最初に検証したいと考えています。
c++ - -icu を使用して xerces をビルドする
icu ライブラリを使用して xerces をビルドすることを認識している団体はありません。MacOS で icu 関連のすべてのオプションを指定してビルドするときに、icu オプションを使用することはありません (config.log で ICU オプションを有効にできないと最終的に表示されます)。
ログには、.... iconv トランスコーダーをサポートできるかどうかを確認しています... はい、ICU トランスコーダーをサポートできるかどうかを確認しています... 使用するトランスコーダーを確認していません (選択肢: -gnuiconv- -iconv-)... gnuiconv InMemory MsgLoader をサポートしているかどうかを確認しています... はい、ICU MsgLoader をサポートしているかどうかを確認しています... nl_types.h を確認していません... (キャッシュされています) はい ....
ICU ライブラリを使用して xerces をビルドできるように、この問題にどのようにアプローチすればよいか、誰か提案してください。
前もって感謝します、ブリジ
c++ - libxerces-c のリンク/バージョンの問題
ツールキットの例を機能させようとしていますが、make と入力した後、次のエラーが発生しました。
次のバージョンがインストールされています。
次の方法でシンボリックリンクを作成しようとしました:
しかし、何も変わりませんでした。インストールされたディレクトリのパスを特定する必要があると思いますが、この問題についてはあまり経験がないので、誰かが私を見つけるのを手伝ってくれるととてもうれしいです.
私のメイクファイルは次のようなものです。
よろしく。
c++ - xerces を使用してスキーマから要素のデフォルト値を取得する (C++)
次のように要素を定義するスキーマがあるとします。
Xerces-C++ を使用して、このスキーマに対して検証された XML ファイルを解析 (DOM パーサー) しています。要素が存在する場合、指定された for のDescription
すべての子要素を反復処理し、要素を見つけたときに使用することで、それを読み取る方法を知っています。DOMElement
Widget
DOMElement::getTextContent()
Description
しかし、特定の要素に (スキーマで許可されている) 子要素Widget
がない場合、スキーマからDescription
既定値 ( Unknown
) を取得するにはどうすればよいでしょうか?
ご回答ありがとうございます、Ashish
c++ - Xerces-C:v2.xからv3.xへの移行?
プロジェクト(私がよく知らないレガシーコード)をXerces-Cv2.xからv3.xに移行したいと思います。
Xerces-Cv3がDOMBuilderクラスを削除したことが判明しました。移行アーカイブは私にこれを教えてくれます:
...最終的なDOMレベル3仕様の適合作業の一環として、いくつかのDOMインターフェイス(DOMBuilder、DOMWriter、DOMInputSourceなど)が置き換えられました。
それはすばらしい。しかし、これらのクラスに依存するコードを新しいAPIに移行する方法に関するガイドはありますか?