<分区>
Possible Duplicate:
Should I use Elements or Attributes in XML?
我一直想不通什么时候使用 xml 属性。我总是使用元素。我刚刚读了this w3schools article .文章指出使用属性是不好的做法,因为:
- 属性不能包含多个值(子元素可以)
- 属性不容易扩展(以备将来更改)
- 属性不能描述结构(子元素可以)
- 属性更难被程序代码操纵
- 属性值不容易根据 DTD 进行测试
它指出的唯一异常(exception)是当您将 id 分配给标签时。
这是正确的吗?为什么属性甚至存在呢?这是xml的设计错误吗?我在这里缺少什么吗?
我能想到的使用属性的唯一原因是一对一关系。即:名称。但它必须与原始(或字符串)的东西是一对一的关系。因为将来您不想将其分成几个不同的部分很重要。即:
<date> May 23, 2001 </date>
到:
<date>
<month> May </month>
<d> 23 </d>
<yr> 2001 </yr>
</date>
因为这对于属性来说是不可能的。
额外的问题:在日期示例中是否可以这样做:
<date>
<default> May 23, 200 </default>
<month> May </month>
<d> 23 </d>
<yr> 2001 </yr>
</date>
要为 future 的应用程序提供更多(或不同的)信息,同时仍以相同格式提供现有应用程序?或者你必须这样做:
<date> May 23, 2001 </date>
<NEWdate>
<month> May </month>
<d> 23 </d>
<yr> 2001 </yr>
</NEWdate>