我来自HTML/JavaScript/PHP背景,最近开始学习XML。XML是否真的更具语义,即带有class/id的HTML?
我读this excerpt从“用PHP没有废话XML Web开发”,其中包括这个比较:
Product One
Product One is an exciting new widget that will simplify your life.
Cost: $19.95
Shipping: $2.95
好好看看这个 - 诚然简单 - 代码示例从计算机的角度来看, 。一个人当然可以阅读这个文档,并做出必要的语义飞跃来理解它,但是一台计算机不能。 ...
试图解密此文档的计算机程序(甚至某些人)将无法进行必要的语义跳跃来理解它。计算机将只能够使用与每个标签相关联的样式将文档呈现给浏览器。 HTML主要是一组用于在Web浏览器中呈现文档的指令;它不是一个结构化文件来表达它们意义的方法。
如果上述文件是在XML创建的,它可能看起来有点像这样:
Product One
Product One is an exciting new widget that will simplify your life.
$19.95
$2.95
笔者再此与此相比,XML
理论上,我们应该可以查看任何XML文档,并且可以立即理解发生了什么。在上面的示例中,我们知道产品列表包含产品,并且每个产品都有名称,说明,价格和运费。您可以正确地说,每个XML文档都是自描述的,并且可以被人类和软件读取。
我得到了作者的观点在一定程度上。当然,电脑无法辨别这个HTML的含义,没有上下文。我不希望HTML这样写。相反我期望HTML使用classes和/或ids到提供必要的上下文更像:
Product One
Product One is an exciting new widget that will simplify your life.
Cost: $19.95
Shipping: $2.95
鉴于这种例子,我的问题是:
是XML真的比HTML更多的语义是利用classes/ids为其包含的数据提供上下文?
(注意我简化了代码示例,以避免TL; DR)
+2
我会争辩说,一个html类是一个样式构造。它不应该用于数据上下文。你可以按照你所显示的方式使用它,但它不是标准的,因此在你的个人领域之外使用有限。另外,与xml标签不同,类属性的值不受xsd的限制。 –