Latest web development tutorials

элементы XML и атрибуты сравнения

В XML, и не существует каких-либо положений, когда использовать атрибуты, и когда использовать дочерние элементы.


Использование элементов vs. атрибутов

Данные могут быть сохранены в дочерних элементов или атрибутов.

Давайте посмотрим на эти примеры:

<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

<person>
<sex>female</sex>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

В первом примере, "пол" является атрибутом. В одном примере, обратно, "секс" является суб-элементом. Но оба дают ту же информацию.

Никаких специальных положений относительно того, когда использовать атрибуты, и когда использовать дочерние элементы. Мой опыт показывает, что использование нескольких атрибутов в HTML тяжелый, но в XML, использование вспомогательных элементов, он будет чувствовать себя, как данные.


Мне нравится, как

Я хотел бы хранить данные в дочерних элементах

Следующие три XML-документы содержат точно такую ​​же информацию:

В этом примере используется атрибут "Date":

<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

В этом примере используется элемент "Date":

<note>
<date>12/11/2002</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

В этом примере используется элемент "Date" (расширение: Это мой любимый способ):

<note>
<date>
<day>12</day>
<month>11</month>
<year>2002</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


Избегайте использования атрибутов?

Вы должны избегать использования атрибутов?

Некоторые атрибут имеет следующие проблемы:

  • Атрибуты не могут содержать несколько значений (дочерние элементы могут)
  • Атрибуты не легко расширяемой (для будущих потребностей изменить)
  • Атрибуты не могут описать структуры (дочерние элементы могут)
  • Атрибуты труднее манипулировать программный код
  • Значения атрибутов не так легко проверить DTD

Если вы используете свойство в качестве контейнера данных, полученный XML-документ будет трудно читать и поддерживать. Попробуйте использоватьэлементы для описания данных.для описания данных. Данные только предоставляет ненужную информацию, когда мы рекомендуем использовать собственность.

Не конец, как это (который не должен использоваться XML):

<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>


Исключение из правила собственности

Существует всегда одно правило

Правила собственности у меня есть исключение.

Иногда я использую элементы, указанные ID. Эти приложения могут быть использованы в качестве ID атрибута имя или идентификатор для доступа к XML-элементов в HTML в той же ситуации много. Следующий пример иллюстрирует этот подход:

<messages>
<note id="p501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

<note id="p502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not!</body>
</note>
</messages>

XML-документы в приведенных выше примерах, идентификатор только одного счетчика, или уникальный идентификатор для идентификации различных заметок, а не как часть данных.

Я хочу сказать, в том, что метаданные (данные о данных) должны быть сохранены в виде атрибутов, а сами данные должны быть сохранены в качестве элементов.