Языки информационного обмена

     Распродажа керамогранита в Нижнем Новгороде |   

Представление свойств


Обнаружив свойство в своей информационной модели, мы сталкиваемся с классической дилеммой: в документе XML представлять его с помощью атрибута или вложенного (порожденного) элемента. Приняв решение по этому поводу, можно приступать к остальным задачам.

Рассмотрим практические преимущества и недостатки каждого подхода.

ПреимуществаНедостатки
Атрибуты XML С помощью определений DTD можно ограничивать принимаемые значения; полезно, если имеется небольшое количество разрешенных значений, таких как "yes" и "nо"Принимает только простые строковые значения
В DTD можно определить значение по умолчаниюОтсутствует поддержка метаданных (или атрибутов у атрибутов)
Использование атрибутов типа ID и IDREFНеупорядоченность
Небольшие требования к месту на диске (существенно, когда по сети посылаются гигабайты информации)
Для некоторых типов данных (например, NMTOKENS) возможна нормализация пустых пространств, что избавляет приложение от этих действий
Легко обрабатывать с помощью интерфейсов DOM и SAX
Порожденные элементыПоддержка произвольно сложных и повторяющихся значенийНесколько более высокие требования к дисковому пространству
УпорядоченностьБолее сложное программирование
Поддержка "атрибутов у атрибутов"
Возможность расширения при изменении модели данных

Баланс всех факторов зависит от конкретного приложения.



Содержание раздела