⌘K でツールを切替
FORMAT & CONVERT

XML → XSDスキーマジェネレーター

XMLからXSDスキーマ定義を生成します。

local
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フィードを引き継ぎ、バリデーションやコード生成の起点が必要なときに便利です。

使い方

  1. XML 欄にドキュメントを貼り付けます。
  2. XSD (inferred) 出力に生成されたスキーマが表示されます。入力のたびに再生成されます。
  3. 入力が不正な場合は Invalid XML エラーが表示されます。

使用例

  • <books><book id="1"><title>A</title></book></books> からは、booksTypebookType のcomplexType、xs:string 型の title 要素、xs:string として 宣言された id 属性を持つスキーマが生成されます。

注意事項

同じタグ名の要素は同一の型とみなされ、名前空間は解析されません。出力は スキャフォールドとして扱い、データ型・出現回数の制約・列挙値は実際の仕様に 合わせて厳密化してください。

FAQ
XMLはサーバーに送信されますか?
いいえ。ドキュメントはブラウザ内蔵のDOMParserでパースされ、スキーマ生成もローカルで完結します。アップロードは一切ないため、社外秘のデータも安全に貼り付けられます。
推定されるスキーマの精度はどの程度ですか?
1つのサンプルから構造を推定するベストエフォートです。要素名・属性名は捕捉され、繰り返される子要素には maxOccurs="unbounded" が付きますが、リーフ要素と属性の型はすべて xs:string になります。型や制約は手で調整してください。
生成されたXSDでオプショナルな要素は検出できますか?
できません。サンプルが1つでは必須と任意を区別できないため、観測されたすべての要素がsequenceに含まれます。省略され得る要素には自分で minOccurs="0" を追加してください。