Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 元素与属性_Xml - Fatal编程技术网

Xml 元素与属性

Xml 元素与属性,xml,Xml,我开始学习一些xml和xslt,我在w3c w3c学校读到他们建议您使用元素而不是属性。你的做法是什么?为什么你不想要属性- 您真的需要它们吗?属性是元素所包含数据的规范。 例如:标题是元素,标题的语言是属性 <title lang="en">A simple title</title> 一个简单的标题 属性不应该需要渲染。它们应该包含关于数据的附加信息,而不是数据本身。属性的主要技术限制: 属性名称在其修饰的元素范围内是唯一的 属性顺序不显著;XML处理器不需要按

我开始学习一些xml和xslt,我在w3c w3c学校读到他们建议您使用元素而不是属性。你的做法是什么?为什么你不想要属性-


您真的需要它们吗?

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

<title lang="en">A simple title</title>
一个简单的标题

属性不应该需要渲染。它们应该包含关于数据的附加信息,而不是数据本身。

属性的主要技术限制:

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

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

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

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


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

您能链接到您在w3c上看到此建议的确切位置吗?在尝试回答之前,我想了解一下这项建议的正确背景。sections element vs attributesw3schools与w3c不同。thx John,完全重复,我想我也变得更聪明了:)它们不应该被渲染吗?那么目的是什么?在我看来,这是xml的结构问题,但我不确定该使用什么。Lang=“en”也可以是标题的子标题。-1:必须不同意属性只是数据的规范。这对他们来说太局限了。我说:数据规范;更像是元信息。属性是“在语法上从属于它所修饰的另一个词或短语的词或短语;”。它是描述性的。