我正在学习 来自 W3Schools 的 XML 属性。
作者提到了以下几点(强调我的观点) :
XML 元素与属性
<person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
<person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
在第一个例子中,sex 是一个属性。最后,性是一个元素。两个示例提供了相同的信息。
没有关于何时使用属性和何时使用元素的规则
避免 XML 属性?
使用属性的一些问题是:
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不容易扩展(对于未来的更改)
属性很难阅读和维护。对数据使用元素。对与数据无关的信息使用属性。
那么,作者的观点是一个著名的观点,还是 XML 中的最佳实践呢?
应该避免 XML 中的属性吗?
W3学校还提到了以下内容(重点是我的内容) :
元数据的 XML 属性
有时,ID 引用被分配给元素。这些 ID 可以用来标识 XML 元素,其方式与 HTML 中的 ID 属性非常相似。这个例子说明了这一点:
<messages> <note id="501"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <note id="502"> <to>Jani</to> <from>Tove</from> <heading>Re: Reminder</heading> <body>I will not</body> </note> </messages>
上面的 ID 只是一个标识符,用于标识不同的注释。这不是音符本身的一部分。
这里我想说的是,元数据(关于数据的数据)应该存储为属性,而数据本身应该存储为元素。