ネストされたXML要素からJSON Schemaを推論する

複数レベルの子要素を持つ深くネストされたXML構造が、適切なプロパティ階層を持つネストされたオブジェクトスキーマをどのように生成するかを確認します。

Basic XML

詳細な説明

ネストされたXMLからネストされたオブジェクトスキーマへ

実際のXMLがフラットであることはほとんどありません。ほとんどのXMLドキュメントには数レベル深くネストされた要素が含まれます。変換ツールは各レベルを再帰的に処理し、一致するオブジェクトスキーマの階層を生成します。

XMLの例

<company>
  <name>Acme Corp</name>
  <address>
    <street>123 Main St</street>
    <city>Springfield</city>
    <state>IL</state>
    <zip>62701</zip>
  </address>
  <contact>
    <phone>
      <office>555-0100</office>
      <mobile>555-0101</mobile>
    </phone>
    <email>info@acme.com</email>
  </contact>
</company>

生成されるスキーマ

変換ツールは3レベルのネスト構造を生成します:

  • company → object
    • name → string
    • address → object
      • street, city, state, zip → string
    • contact → object
      • phone → object
        • office, mobile → string
      • email → string

ネストの仕組み

子要素を持つ各要素に対して、変換ツールはobject型スキーマを作成し、子要素を再帰的に処理してpropertiesを構築します。テキストコンテンツのみを含むリーフ要素に到達するまでこのプロセスが続き、リーフ要素はスカラー型プロパティになります。

ツリービュー

組み込みのツリービューは深くネストされたスキーマに特に有用です。各レベルを展開・折りたたみして、大きなJSON出力をスクロールせずに構造を確認できます。各ノードはプロパティ名と推論された型をカラーコーディングで表示します — オブジェクトは青、配列は紫、文字列は緑、数値はオレンジ、ブーリアンは黄色です。

ユースケース

組織構造、ネストされたセクションを持つ設定ファイル、サブエンティティを持つ実世界のエンティティを表すXMLなど、階層的なXMLデータを扱う場合。これは変換ツールが複雑なXML構造をどのように処理するかを理解するための基礎です。

試してみる — XML to JSON Schema

フルツールを開く