作者提到以下内容(强调我的):
XML 元素与属性
<person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
<person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
在第一个示例中,性别是一个属性。最后,性是一个元素。这两个示例都提供了相同的信息。
没有关于何时使用属性和何时使用元素的规则。属性在 HTML 中很方便。在 XML 中,我的建议是避免使用它们。改为使用元素。
避免使用 XML 属性?
使用属性的一些问题是:
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不易扩展(以备将来更改)
属性难以阅读和维护。使用数据元素。对与数据不相关的信息使用属性。
那么作者的观点是著名的,还是 XML 中的最佳实践?
应该避免使用 XML 中的属性吗?
W3Schools 还提到了以下内容(强调我的):
元数据的 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 只是一个标识符,用来识别不同的音符。它不是笔记本身的一部分。
我在这里想说的是元数据(关于数据的数据)应该作为属性存储,而数据本身应该作为元素存储。