我來自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的限制。 –