2009-07-29 22 views
32

は私がXSDスキーマを検証しますか?

。私たちのパートナーはで私たちにデータを送信する必要がありますフォーマットを記述するためのXMLスキーマ(XSD)を書いていると私は私が持っているXSDスキーマファイルを検証できるツールを見つけるのに苦労しています書きました。

私が今までに見つけた最良の方法は、最初に入力XMLファイルの例を書いてから、とXSDを検証することです。しかし、それはベストプラクティスのような気分にはならない。

XMLスキーマをどのように検証する必要がありますか?

+2

良い質問です。 xsdに対してxmlを "検証"するとき、おそらく "検証する"というのはここでは最良の動詞ではありません。しかし、私は同じプロセスを経て、xsdをチェックするための入力例を使用し、テストされなかったコーナーケースのためにxsdを後で変更する必要があることを発見しました。 –

+2

@ダニエル、あまりありません。商用ツールを含むスキーマそのものを検証するためのツールはかなり存在します。 Apache Xercesライブラリに基づいてビルドすることもできます。 – lavinio

+1

商用編集者の中にはすでに言及されているものもあるので、その間にもっと合理的な価格で利用できるツールもあります。例:[XML ValidatorBuddy](http://www.xml-tools.com)XMLバッチ検証もサポートしています。 – lichtfusion

答えて

10

短期間の場合はのようなツールの評価版を使用できます。

長期間のメンテナンスの場合は、StylusのようなXMLスキーマエディタ、またはOxygenまたはAltovaを購入することを検討してください。

ソース言語は指定していませんが、Javaまたは.NETでスキーマ検証ツールを記述するコードはほんの数行です。

+1

お互いを参照するスキーマを生成するプロジェクトの開始時、またはWSDLからWSDL to Schemaになっている場合は、Altova SchemaAgentを参照してください。そのような参照を視覚化して検証するだけでなく、組織やインターネットに一連のスキーマを提供することもできます。 –

+6

私が見つけたオープンソースツールはxmllintです。これは次のように使用します: xmllint --noout --schema http://www.w3.org/2001/XMLSchema.xsd mySchema.xsd –

+0

@AlexanderKjäll答え。 – HankCa

7

Java SDKには、xjcという標準ツールが付属しています。このツールは、スキーマを解析するクラスを生成します。このコードを使用してパートナーの入力を検証することができます。

も参照してください:http://www.java2s.com/Tutorial/Java/0440__XML/ThexjcTool.htm

+2

これは、オンラインフォームをダウンロードまたは使用するツールを探すよりもはるかに簡単でした。 –

+1

[xjc]の公式Java 8ドキュメント(https://docs.oracle.com/javase/8/docs/technotes/tools/unix/xjc.html) – ktulinho

13

W3Cはhttp://www.w3.org/2001/03/webdata/xsvでXMLスキーマのためのオンラインバリデータを持っています。 W3CはXML Schema仕様のソースなので、バリデータは信頼できるものでなければなりません。

+1

(18か月後...)リンクを確認してください。壊れているようだ。新しいサイトはどこですか? – chharvey

+0

少なくともChromeでは、とにかく。 SafariとFirefoxで完全に動作します。 – chharvey

+0

@ TestSubject528491ここでChromeを実行すると正常に動作します。 –

1

XMLスキーマ(XSD)をどのように検証する必要がありますか?

ご質問はお勧めです。ちょうど "それを羽ばたく"は困ってしまうでしょう。 Wikipediaの記事XML Schema Editor(強調鉱山)から:

[W3C XML Schemaの]標準、プログラミングのためにこのような継承と型作成などの 概念をできるように、汎用性のあるが、それは複雑です。 標準自体は非常に技術的であり、と3つの異なる部分で公開されており、をコミットすることなく がなければが分かりにくくなります。

W3C XML Schema標準の複雑さを考えると、作成するスキーマがその標準に準拠していることをどのように確認できますか?

XSD標準で作業するとき、ユーザーが直面する問題は、グラフィカルな編集ツールを使用して 軽減することができます。同じWikipediaの記事から。 テキストベースのエディタを使用してXMLスキーマを編集することはできますが、グラフィカルな エディタを使用すると効果的です。ドキュメントの構造を とグラフィカルに表示し、検証サポート、エントリヘルパー などの便利な機能で編集することができます。

ウィキペディアの記事の一番下には、XMLスキーマエディタのリストがあります。そのリストの一部は「フリーソフトウェア」としてライセンスされています。 (Windows上のgit-のbashまたは類似含む)の* nixで

0
cd /the/dir/with/your/schema 
curl -O https://www.w3.org/2012/04/XMLSchema.xsd 
xmllint.exe --noout --schema XMLSchema.xsd <your schema> 

、スキーマは、他の$? == 0$? == 1有効である場合。私は確信しているいくつかのpowershell同等です...

@AlexanderKjällのコメントは@lavinioの別の場所でここにあります。私は@AlexanderKjällがこれを答えに加えるべきだと言う私自身のコメントを追加しました。しかし(私にとっては少なくとも)、リモートファイルURIを使用しても動作しないので、それは正しくありませんでした。そして、私の答え。もしあなたがこれをアップヴォートするなら、彼らのコメントをアップしてください。

関連する問題