問題タブ [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.
c++ - Xerces C++ による DOM 部分の XML シリアル化
私は Xerces C++ と XML のすべてに不慣れなため、かなり苦労してきましたが、現在取り組んでいるプロジェクトで XML を使用する必要があります。
私の質問は、XML インスタンス ドキュメント (私が作成したスキーマに対して検証済み) から既に解析および作成した DOM ツリーの一部をシリアル化して、多くの新しいインスタンス ドキュメント (まだのルート要素を含む) を作成できるようにする方法です。元のドキュメント) が私のスキーマに対して有効なままであるか?
より具体的に言うと、単一のルート要素内に数千のセットが含まれる大きなインスタンス ドキュメントがあり、後で処理するために個別のファイルに個別に配置する必要があります。基本的に、それぞれを個別のファイルに配置し、個別に検証する必要があるセットの大規模なセット。
これを行う方法のプロセス全体で迷っています。私は、DOM ツリーの一部をシリアライズする例を見つけることができず、XML 関連のドキュメントを取り巻く多くの用語が役に立たないことに気付きました。
c++ - Xerces から XML データを取得する (c++)
私は XML の後発者です。XML ファイルを解析する必要があります。私たちの会社はすでに xerces を使用しているので、ファイル内のすべてのデータを表示するサンプル アプリ (SAX) をまとめることができました。ただし、解析が完了した後、パーサーまたはファイルの内部表現を持つ他のエンティティを呼び出して、フィールド/データを反復処理できると期待していました。
基本的に、いくつかのキーまたはその他の文字列を渡して、文字列またはキーと値のペアのコレクションを取得できるようにしたいと考えています。わかりません。それが良いことであることは私には明らかです。何か不足していますか?
DOMは私が望むものを解析していますか、それとも不十分ですか?
java - SolarisではStackOverflowErrorですが、Linux/Windowsではそうではありません
LinuxとWindowsでは正常に動作するXercesを使用して大きなxmlスキーマ(.xsd)を解析するJavaアプリケーションがありますが、Solarisではまったく同じ入力と構成でStackOverflowErrorが発生します。Xercesが再帰を使用してxmlスキーマを検証することは知っていますが、WindowsとLinuxで問題が発生しなかったため、どこでも実行できると確信していました。
なぜこれが起こるのですか?回避策はありますか?
delphi - Delphi "DOMVendor" Open XMLおよびXerces:既知の制限?
DelphiのIXMLDocumentインターフェイスを備えたDOMベンダーとしてMSXMLの代わりにOpenXMLを使用しても安全ですか?
私が知っておくべき基本的な機能に既知の制限はありますか?
また、Open XMLとXercesの実装はどのように異なりますか?(Xercesには追加のライブラリが必要ですが、Open XMLは実行可能ファイルiircに含まれているようです)
c++ - Xerces: 重複したノードをマージするには?
私の質問はこれです:
次の XML があるとします。
次に、次のパスを追加します。
その結果、
これを次のように変換できるようにしたい:
自分で実装する以外に (今日車輪を再発明する気はありません)、Xerces (2.8、C++) でそれを行う特定の方法はありますか?
もしそうなら、ノードのマージは DOMDocuments ライフのどの時点で行われますか? 挿入ごとに?ドキュメントの執筆時、明示的に要求に応じて?
ありがとう。
java - GWT で Gears API をインポートするときに org.apache.xerces.jaxp.SAXParserFactoryImpl が見つからない
Gears API for Google Web Toolkitをインポートしようとするまで、完全に機能していた Eclipse を使用してGWTプロジェクトを作成しました(ホスト モードと Google App Engine の両方で実行できました) 。私のJavaソースファイルに次の行を追加した後:
コンパイルしようとすると、次のエラーが発生します。
既に gwt-gears.jar ファイルを \war\WEB-INF\lib ディレクトリに追加しており、次のように Eclipse で参照しています。
gwt-gears.jar ファイルを開いて、org/apache/xerces/jaxp/SAXParserFactoryImpl.class が存在することを確認しました。上記のエラーが発生する理由について、誰かが私に何か指針を与えることができますか?
xml - XSD のサブ要素と名前空間
XML スキーマを使用して、アプリケーションに XML ファイルをロードする際に XML ファイルを検証する方法を理解しようとしています。その部分は機能していますが、スキーマにルート要素以外を有効なものとして認識させることができないようです。たとえば、次の XML ファイルがあります。
次の XSD を使用します (ビジュアル エディターから生成されたことは確かです。私はただの人間にすぎません)。
しかし今、Eclipse の組み込み (Xerces ベース?) バリデーターを使用すると、次のエラーが発生します。
では、XSD が機能するように修正するにはどうすればよいでしょうか? これまでに見たすべての検索結果は、「…だから、検証をオフにした」または「…だから、名前空間を削除した」と言っているようですが、それは私がやりたいことではありません。
補遺:
ここで、スキーマを次のように変更するとします。
今は機能していますが、その方法<actvity>
は、ドキュメントのルートに置くことが許可されていることを意味しますか? そして、ref
をそのまま置換する必要がある場合、なぜ に置換できないref="actvity"
のname="activity" type="xsd:string"
でしょうか?
追加の補遺: 常にこれを実行してください。そうしないと、壁に頭をぶつけて何時間も費やすことになります。
java - 安全な XML パーサー
典型的な Java アプリケーションでは、XML パーサーは XALAN/XERCES ですが、セキュリティを考慮して作成されていません。セキュリティに関して、より堅牢なパーサーがあるかどうか知りたいです。
java - Javaで、サードパーティのツールによって返されるDOMに独自のxmlサブクラス化された要素を作成するにはどうすればよいですか?
そのため、org.w3c.dom互換のDOMを返すHTMLCleanerを使用しています。ここで、独自のサブクラス化された要素(domの外部に追加機能を実装する)をこのdomツリーに挿入します。これは可能ですか?
Document.createElement()を使用する場合、要素の実装を作成する必要があるとは言えません。理想的には、クラスにElementを実装させたくないので、Nodeはすでに実行されたすべての作業を手動で実行する必要があります。XercesからElementImplをサブクラス化し、それを自分のDOMに追加できると思いました。ただし、Xercesは、CoreDocumentImplなどを実装するDOMに作成されることを想定しています。
エレガンスの観点からすると、それは残念なことです。プレーン要素を使用し、属性/名前などでそれらを識別しなければならない場合、それぞれがインデックス内の特定の位置を指す必要があるためです。
java - 複数のスキーマ定義に対してXMLファイルを検証する
いくつかの異なるスキーマに対してXMLファイルを検証しようとしています(不自然な例についてはお詫びします)。
- a.xsd
- b.xsd
- c.xsd
特にc.xsdはb.xsdをインポートし、b.xsdはa.xsdをインポートします。
<xs:include schemaLocation="b.xsd"/>
私は次の方法でXercesを介してこれを行おうとしています:
しかし、これは3つのスキーマすべてを正しくインポートできず、名前'blah'をa(n)'group'コンポーネントに解決できません。
Pythonを使用してこれを正常に検証しましたが、Java6.0とXerces2.8.1で実際の問題が発生しています。ここで何が問題になっているのか、またはXMLドキュメントを検証するためのより簡単なアプローチを誰かが提案できますか?