Являются ли XML атрибуты и элементы взаимозаменяемыми? - PullRequest
0 голосов
/ 13 апреля 2020

После поиска я знаю разницу в синтаксисе между атрибутом и элементом.

Я не спрашиваю, должен ли я использовать какой, но если они интерпретируются одинаково, например, сервером.

На w3schools.com написано, что следующие примеры " содержат абсолютно одинаковую информацию ";

<!-- document A using an attribute -->
<note date="2008-01-10">
    <to>Tove</to>
    <from>Jani</from>
</note>


<!-- document B using an element -->
<note>
    <date>2008-01-10</date>
    <to>Tove</to>
    <from>Jani</from>
</note>

Мой вопрос: "Должны ли два документа быть 'exchangeable'? "

т.е. сервер ожидает документ формата A, но получает документ B. Будет ли сервер" обязан "анализировать и принимать документ B по xml стандартам?

1 Ответ

1 голос
/ 13 апреля 2020

Нет, эти два документа не являются взаимозаменяемыми. Используемая схема XML, которая должна быть согласована между сервером и клиентом, определяет возможные атрибуты и возможные подэлементы каждого типа элемента. Это два разных набора.

Это правда, что в случае данных, которые не имеют внутренней структуры, для передачи информации может использоваться либо атрибут, либо подэлемент. Но это решение схемы Разработчик должен сделать. При принятии этого решения важно принять во внимание то, имеет ли базовая структура внутреннюю структуру. В их самом сложном, атрибуты могут быть списками токенов. (Или микросинтаксис, такой как ваша дата.) С другой стороны, подэлементы могут быть произвольно богатыми по структуре. Таким образом, они «содержат одну и ту же информацию» только в той степени, в которой информация, которую они содержат, не очень сложна.

...