Последние учебники веб-разработки
×

XML Руководство

XML ГЛАВНАЯ XML Введение XML Как использовать XML дерево XML Синтаксис XML элементы XML Атрибуты XML Пространства имен XML дисплей XML XSLT XML XPath XML XLink XML Оценщик XML DTD XML схема XML сервер XML Приложения XML Примеры XML викторина XML сертификат

XML DOM

DOM вступление DOM Вершины DOM XMLHttpRequest DOM Доступ к DOM Узел информация DOM Список узлов DOM Пересекая DOM навигационный DOM Получить значения DOM Change Вершины DOM Remove Вершины DOM Replace Вершины DOM Create Вершины DOM Add Вершины DOM Clone Вершины DOM Примеры

DOM Справка

DOM Типы узлов DOM Узел DOM NodeList DOM NamedNodeMap DOM Документ DOM Элемент DOM Атрибут DOM Текст DOM CDATA DOM Комментарий DOM XMLHttpRequest DOM синтаксический анализатор

XML DTD

DTD вступление DTD Строительные блоки DTD элементы DTD Атрибуты DTD Элементы против Attr DTD юридические лица DTD Примеры

XSD Schema

XSD вступление XSD Как XSD <schema> XSD элементы XSD Атрибуты XSD ограничения

XSD Сложный

XSD элементы XSD пустой XSD Элементы только XSD Только текст XSD смешанный XSD индикаторы XSD <any> XSD <anyAttribute> XSD подмена XSD пример

XSD Data

XSD строка XSD Дата XSD числовой XSD Разное XSD Справка

Web Сервисы

XML Сервисы XML WSDL XML SOAP XML RDF XML RSS

 

XML Атрибуты


XML элементы могут иметь атрибуты, так же, как HTML.

Атрибуты предназначены для содержат данные, относящиеся к конкретному элементу.


XML-атрибуты должны быть заключены в кавычки

Значения атрибутов всегда должны быть заключены в кавычки. Либо одинарные или двойные кавычки могут быть использованы.

Для пола человека, то <person> элемент может быть записан следующим образом :

<person gender="female">

или как это:

<person gender='female'>

Если значение атрибута сама содержит двойные кавычки, вы можете использовать одиночные кавычки, как в этом примере:

<gangster name='George "Shotgun" Ziegler'>

или вы можете использовать символьные сущности:

<gangster name="George &quot;Shotgun&quot; Ziegler">

XML Элементы против атрибутов

Посмотрите на эти примеры:

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

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

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

Там нет никаких правил о том, когда использовать атрибуты или когда использовать элементы в XML.


Мой любимый способ

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

Атрибут дата используется в первом примере:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

<date> элемент используется во втором примере:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Развернутое <date> элемент используется в третьем примере: (THIS IS MY FAVORITE) :

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Избегайте XML-атрибутов?

Некоторые вещи, чтобы учитывать при использовании атрибуты:

  • атрибуты не могут содержать несколько значений (elements can)
  • атрибуты не могут содержать древовидные структуры (elements can)
  • атрибуты не легко расширяемой (for future changes)

Не в конечном итоге, как это:

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

XML-атрибуты для метаданных

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

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

id атрибутов выше для идентификации различных нот. Это не является частью самой ноты.

То , что я пытаюсь сказать здесь , что метаданные (data about data) должны быть сохранены в качестве атрибутов, а сами данные должны быть сохранены в качестве элементов.