シンプルなXML要素からJSON Schemaを推論する

単一のXML要素とテキストコンテンツが、文字列・数値・ブーリアンの自動型推論を含むJSON Schemaプロパティにどのようにマッピングされるかを学びます。

Basic XML

詳細な説明

XML要素からJSON Schemaプロパティへ

最もシンプルなXMLからJSON Schemaへの変換は、テキストコンテンツを持つ単一の要素を型付きプロパティのスキーマに変換します。ツールは実際のテキスト値を検査して最も具体的な型を決定します。

XMLの例

<product>
  <name>Widget</name>
  <price>29.99</price>
  <quantity>100</quantity>
  <inStock>true</inStock>
</product>

生成されるJSON Schema (Draft 7)

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": { "type": "string" },
        "price": { "type": "number" },
        "quantity": { "type": "integer" },
        "inStock": { "type": "boolean" }
      }
    }
  }
}

型推論ルール

XMLテキスト値 推論されるJSON Schema型
Widget string
29.99 number(小数)
100 integer(整数)
true / false boolean

動作の仕組み

変換ツールはブラウザ組み込みのDOMParserを使用してXMLをDOMツリーに解析します。ツリーを再帰的に走査し、テキストのみを含む各要素(子要素なし)に対して、テキストコンテンツを分析して最適なJSON Schema型を決定します。整数はinteger、小数はnumbertruefalseリテラルはboolean、それ以外はデフォルトでstringになります。

ルート要素はスキーマのトップレベルプロパティとなり、構造全体をラップします。これは、XMLルート要素がトップレベルのオブジェクトキーに対応するJSONの規約を反映しています。

ユースケース

APIや設定ファイルからXMLデータを受け取り、バリデーション用のJSON Schemaを作成する必要がある場合。XMLベースのAPIからJSONベースのAPIへ移行する際に、新しい形式のスキーマ定義が必要な場合によく使われます。

試してみる — XML to JSON Schema

フルツールを開く