Я иду из фона HTML
/JavaScript
/PHP
и недавно начал учиться XML
.Является ли XML более семантическим, чем HTML с классами/идентификаторами?
Я читал this excerpt от «Нет Чушь Веб-разработка XML с PHP», который включает в себя такое сравнение:
<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 - это, в основном, набор инструкций для рендеринга документов внутри веб-браузера; это не метод структурирования документов, чтобы выявить их смысл.
Автор сравнивает это XML
с этим:
Если вышеуказанный документ был создан в 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-документ является самоописательным и читается как людьми, так и программным обеспечением.
я авторскую точку в некоторой степени. Конечно, компьютер не сможет отличить смысл от этого 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. –