XML インスタンス ドキュメントから XSD スキーマを生成するツールはありますか?[閉まっている]
質問
XML インスタンス ドキュメントを取得し、対応する XSD スキーマを出力するツールを探しています。
手動でスキーマを作成する場合と比較すると、生成される XSD スキーマが制限されることは確かに認識しています (オプション要素や繰り返し要素、データ制約はおそらく処理されません) が、少なくとも素早い開始点としては機能する可能性があります。
解決
の Microsoft XSD推論ツール は無料の優れたソリューションです。XmlSpy (@Garth Gilmour が言及) や OxygenXML Editor などの多くの XML 編集ツールにもその機能があります。ただし、かなり高価です。BizTalk Server には XSD 推論ツールもあります。
編集:.netを発見しました。 XmlSchema推論 クラスなので、.net を使用している場合はそれを考慮する必要があります
他のヒント
オープンソースおよびクロスプラットフォームのオプションを使用できます。inst2xsdから ApacheのXMLBean. 。とても便利で簡単だと思います。
ダウンロードして解凍し、プレイするだけです (Java が必要です)。
トラン ここでは最良の選択肢です。オープンソースおよびクロスプラットフォーム (ただし Java が必要)
トランのウェブサイトより:
Trang は、XML の異なるスキーマ言語間で変換を行います。以下の言語をサポートしています
- リラックスNG(XML構文)
- RELAX NG のコンパクトな構文
- XML 1.0 DTD
- W3C XML スキーマ
サポートされているスキーマ言語のいずれかで作成されたスキーマは、サポートされている他のスキーマ言語に変換できます。ただし、W3C XML スキーマは入力ではなく出力のみでサポートされます。
Trang は、1 つ以上の XML ドキュメントの例からスキーマを推測することもできます。
VS2010 では、XML ファイルをエディターにロードする場合、[XML] メニュー >> [スキーマの作成] をクリックします。
もあります XML schema learner
で利用可能です ギットハブ.
かかることがあります 複数の XML ファイル そして これらすべてのファイルから共通の XSD を抽出します.
.Net がインストールされている場合、XSD スキーマとクラスを生成するツールがデフォルトですでに組み込まれています。
私の場合、XSD ツールは次の構造でインストールされます。これは、インストール ディレクトリによって異なる場合があります。
C:\Program Files\Microsoft Visual Studio 8\VC>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.
xsd.exe -
Utility to generate schema or class files from given source.
xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]
通常、このツールが生成するクラスとスキーマは、特に .Net 言語で使用する場合には、かなりうまく機能します。
通常、私は目的の XML ドキュメントを取得し、それを XSD ツールにプッシュします。 /o:<your path>
フラグを使用してスキーマ (xsd) を生成し、次に、 /classes /L:VB (or CS) /o:<your path>
日常の .Net プロジェクトでインポートして使用できるクラスを取得するためのフラグ
XSD だけが必要な場合は、LiquidXML に XSD を実行する無料バージョンがあり、それに GUI が付いているので、必要に応じて XSD を微調整できます。とにかく、最近私は自分で XSD を手書きしていますが、それはすべてこのアプリのおかげです。
Java の世界で働いている場合 - インテリジェントなアイデア また、xsd 生成および xsd 生成からのサンプル xml を含む広範な xml サポートもあり、プラグインを使用すると xslt デバッガーを入手できます。- 特に、後で jaxb などのツールを使用する予定がある場合に便利です。
Altova XmlSpy はこれをうまく実行します - 概要を見つけることができます ここ
これは古いスレッドですが、このリンクを投稿すると役に立つと思います。このツールを見つけました:xsd-gen XML から XML スキーマを生成
そしてそれは私が必要なことをしてくれました。