元素与属性

时间:2010-11-17 11:32:26

标签: xml

我开始学习一点xml和xslt,我读了 w3c W3Schools,他们建议你使用元素而不是属性。什么是你的练习,为什么你不想要属性 -

你真的想要它们吗?

2 个答案:

答案 0 :(得分:4)

属性是元素包含的数据的规范。 例如:标题是元素,标题的语言是属性

<title lang="en">A simple title</title>

永远不需要渲染属性。它们应包含有关数据的其他信息,而不是数据本身。

答案 1 :(得分:2)

属性的主要技术限制:

  • 属性名称在其装饰元素的范围内是唯一的。

  • 属性顺序不重要; XML处理器不需要按照它们在文档中出现的物理顺序处理元素的属性。

  • 属性值必须是文本内容。它们不能包含元素,注释或处理指令。它们不能包含CDATA。它们不能包含未转义的标记字符。

这些限制非常严格地控制它的含义,并且不适合使用属性。使用属性来建模一个地图或字典,其键是XML名称,其值可以合理地表示为字符串:good。使用属性来序列化处理顺序很重要的数据:不好。 (我正在看着你,XAML。)在一个属性值中存储序列化的XML:可能,但通常表明你做错了。

元素用于数据和属性的元素是元数据的回归,这是对XML未用作通用序列化格式的回归。它被广泛忽略,主要是因为在很多情况下,简洁地表示名称/值对的能力比数据和元数据之间的分离更为明显。