このツールの動作
キーが要素に、値がその中身になります。
user:
name: Ada
born: 1815
<user>
<name>Ada</name>
<born>1815</born>
</user>
根に複数のキーがある文書は <root> で包みます。XML の根要素はちょうど一つと決まっているためです。
キーは修復する。壊れたまま出さない
XML の要素名に空白は使えず、数字で始めることもできず、使える文字も決まっています。
| キー | 要素 |
|---|---|
user name | <user_name> |
2nd | <_2nd> |
user-name | <user-name>(もともと適法) |
そのまま書けば、XML に見えて、どの解析器も受け付けないファイルになります。ずっと後になって、別の場所で失敗する類の出力です。
同じ名前に修復される二つのキー
user name と user_name はどちらも user_name になろうとします。二つ目は user_name_1 になります。
もう一つの道は、一方に他方を上書きさせることです。値が何も言わずに消えるのは、この道具が避けようとしていることそのものです。
並びは繰り返し要素になる
items:
- 1
- 2
<items>
<item>1</item>
<item>2</item>
</items>
XML に並びという型はありません。繰り返しこそが並びです。item という名前はどこかから持ってくるしかなく、YAML はそれを与えてくれません。
属性が必要なら
"@_id" と書いたキーは属性に、"#text" は要素のテキストになります。
"@_id": 1
"#text": hello
<root id="1">hello</root>
XML から YAML への方向が出す約束と同じなので、往復しても形は保たれます。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。