如何在文本节点内的JsonML元素中表示

时间:2014-01-15 13:16:48

标签: jsonml

JsonML能够描述这样的标记吗?

<data>
  text node a
  <innerdata>inner text node</innerdata>
  test node b
</data>

即。 innerdata位于data内部文本之间。

1 个答案:

答案 0 :(得分:2)

是的,它可以。这称为mixed mode xml。这就是JsonML使用数组而不是对象来表示元素的全部原因。它需要能够支持混合模式XML,其中一部分是需要维护子节点的原始顺序。混合模式XML在XML数据中很少见,但在标记中很常见(例如,HTML)。

您在那里的具体结构将由以下JsonML表示:

["data",
    "text node a",
    ["innerData",
        "inner text node"],
    "test node b"
]

这假设您不会将标签页和换行符视为示例的一部分。否则,如果那个空格也很重要,那么就像这样:

["data",
    "\n\ttext node a\n\t",
    ["innerData",
        "inner text node"],
    "\n\ttest node b\n"
]