⌘K でツールを切替
FORMAT & CONVERT
XML → XSDスキーマジェネレーター
XMLからXSDスキーマ定義を生成します。
xml-xsd
A best-effort schema inferred from one sample. Types default to xs:string.
§01 このツールについて
概要
XMLドキュメントを貼り付けると、出発点となるXSD(XML Schema Definition)を
生成します。要素ツリーを走査し、要素名ごとに xs:complexType を作成、
子要素を xs:sequence に列挙、属性を xs:string として宣言し、同じ親の下で
繰り返される子要素には maxOccurs="unbounded" を付与します。スキーマのない
XMLフィードを引き継ぎ、バリデーションやコード生成の起点が必要なときに便利です。
使い方
- XML 欄にドキュメントを貼り付けます。
- XSD (inferred) 出力に生成されたスキーマが表示されます。入力のたびに再生成されます。
- 入力が不正な場合は
Invalid XMLエラーが表示されます。
使用例
<books><book id="1"><title>A</title></book></books>からは、booksTypeとbookTypeのcomplexType、xs:string型のtitle要素、xs:stringとして 宣言されたid属性を持つスキーマが生成されます。
注意事項
同じタグ名の要素は同一の型とみなされ、名前空間は解析されません。出力は スキャフォールドとして扱い、データ型・出現回数の制約・列挙値は実際の仕様に 合わせて厳密化してください。
FAQ
XMLはサーバーに送信されますか?
いいえ。ドキュメントはブラウザ内蔵のDOMParserでパースされ、スキーマ生成もローカルで完結します。アップロードは一切ないため、社外秘のデータも安全に貼り付けられます。
推定されるスキーマの精度はどの程度ですか?
1つのサンプルから構造を推定するベストエフォートです。要素名・属性名は捕捉され、繰り返される子要素には maxOccurs="unbounded" が付きますが、リーフ要素と属性の型はすべて xs:string になります。型や制約は手で調整してください。
生成されたXSDでオプショナルな要素は検出できますか?
できません。サンプルが1つでは必須と任意を区別できないため、観測されたすべての要素がsequenceに含まれます。省略され得る要素には自分で minOccurs="0" を追加してください。