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