[解決済み】XML スキーマ(XSD)検証ツール?[クローズド]
質問
現在、会社では、与えられたスキーマに基づきXMLファイルを生成するアプリケーションを作成しています。 スキーマは.XSDファイルで持っています。
生成されたXMLがスキーマと一致しているかどうかを確認するための自動テストに使用できるツールやライブラリはありますか?
スキーマチェッカーはバンドルしないので、開発者が開発中に使えればいいのですが、商用に適したフリーのツールを希望しています。
xmlファイルを生成し、テストの中で別のプログラムを呼び出して検証を行うことができるので、その必要はないと思いますが、開発言語はC++です。
どのように解決するのですか?
いろいろ調べた結果、ベストアンサーは ゼルセス XSDのすべてを実装しており、クロスプラットフォームで、広く使われているからです。私は githubの小さなJavaプロジェクト JREのデフォルトのパーサー(通常はXerces)を使って、コマンドラインから検証を行います。これは、Windows/Mac/Linuxで使用することができます。
また XercesのC++版 を使いたい場合は、そちらをご利用ください。 その StdInParseユーティリティ を使えば、コマンドラインから呼び出すことができます。また、下のコメント欄では、次のように指摘されています。 より完全なラッパーユーティリティ .
の一部である xmllint を使用することもできます。 libxml . すでにインストールされている方も多いかもしれません。使用例です。
xmllint --noout --schema XSD_FILE XML_FILE
一つ問題があるとすれば、libxmlはすべての仕様を実装しているわけではないので、問題にぶつかる可能性があることです :(
あるいは、Windowsなら msxml しかし、これを呼び出すには、次のような GUI 用のラッパーが必要です。 DDJの記事 . しかし、Windows ではほとんどの人が Notepad++ のような XML エディタを使用しているようです ( ネイトの回答 または XMLメモ帳2007 として 提案者:SteveC (ここでは触れませんが、いくつかの商用エディタもあります)。
最後に、プログラムによって、残念ながら結果が異なることがおわかりいただけると思います。これは、XSDの仕様が複雑であることが主な原因です。いくつかのツールでスキーマをテストしてみるとよいだろう。
アップデイト : で展開しました。 ブログ記事 .
関連
-
[解決済み] テスト
-
[解決済み] XSLTのposition()関数を理解する
-
[解決済み] XML ファイルの構造から IMG タグを使用する方法
-
[解決済み] xlsxのエラーです。"レコードを削除しました。エラーを解決しようとすると、「/xl/workbook.xml 部分から名前付き範囲が削除されました」。
-
[解決済み] exclude-result-prefixesが機能しない
-
末尾のセクションにコンテンツを入れることはできません。
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み】シェルからXPathワンライナーを実行する方法は?
-
[解決済み] DTDやXSDからサンプルXMLドキュメントを生成する方法は?
-
[解決済み] .XSDファイルからJavaクラスを生成する...?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン