シンプルな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、小数はnumber、trueとfalseリテラルはboolean、それ以外はデフォルトでstringになります。
ルート要素はスキーマのトップレベルプロパティとなり、構造全体をラップします。これは、XMLルート要素がトップレベルのオブジェクトキーに対応するJSONの規約を反映しています。
ユースケース
APIや設定ファイルからXMLデータを受け取り、バリデーション用のJSON Schemaを作成する必要がある場合。XMLベースのAPIからJSONベースのAPIへ移行する際に、新しい形式のスキーマ定義が必要な場合によく使われます。