我应该将XML节点放在容器元素中吗?

时间:2010-09-30 20:54:06

标签: xml hierarchy

我正在创建一个类似于这样的XML层次结构:

element A
  0+ element B
    0+ element C (has PCDATA)
      (more complex hierarchy below this one, not really relevant)
  0+ element D
  0+ element E
  0+ element F
  0-1 element G (has PCDATA)
  0-1 element H (has PCDATA)

结果,它开始在元素A下看起来有点“拥挤”。我应该添加容器元素来组织一些事情,如下所示:

element A
  0-1 B-container
    0+ element B
      0-1 C-container
        0+ element C (has PCDATA)
          (more complex hierarchy below this one, not really relevant)
  0-1 D-container
    0+ element D
  0-1 E-container
    0+ element E
  0-1 F-container
    0+ element F
  0-1 element G (has PCDATA)
  0-1 element H (has PCDATA)

或者在元素A下面有一堆不同的元素可以吗?

这个XML需要由主要由用户编写的XSL样式表使用,所以我试图找出最容易让用户与之交互的内容。

1 个答案:

答案 0 :(得分:2)

我认为它不会对创建样式表的用户造成太大的影响,任何节点都可以使用选择器选择 - 它只是不同,不一定更容易或更难。

我认为确保数据结构直观地表示数据更为重要。如果您所代表的内容是自然分层的,那么请寻找以这种方式表示的结构。然后,结构将更容易处理,因为它更容易记住和可视化,并且通常一起处理的节点将在树中彼此接近。

哦,也不要忘记属性。在处理XML时有时会让我感到困惑的一件事就是自然感觉像属性的数据 - 例如元素。