Такая разметка позволит интерпретатору XML порубить документ на кусочки в соответствии с его теговой структурой. После этого в действие вступает другое приложение — его задачей может быть, например, автоматическое индексирование документа, занесение его в базу данных или (чаще всего) форматирование в соответствии с приложенной к документу стилевой спецификацией. (В нашем примере можно было бы, скажем, раскрасить разные части речи разными цветами.) Однако важно понимать, что все эти задачи лежат уже за пределами собственно языка XML, — который, таким образом, свободен от заботы о визуальном (или каком–либо ином) представлении документа и позволяет сфокусироваться на его логической структуре.
Конверсия. Возможность использовать произвольные теги означает, в частности, что любой HTML-документ очень легко преобразовать в XML. Изменения, требуемые для этого преобразования, немногочисленны и сугубо формальны:
• все значения атрибутов должны быть взяты в кавычки;
• регистр букв в открывающих и закрывающих тегах должен совпадать (в отличие от HTML, язык XML чувствителен к регистру);
•
XML также допускает особую сокращенную запись для пустых элементов:
Существуют утилиты, переводящие HTML в XML «тег в тег» с соблюдением всех перечисленных выше правил. Толку от такой конверсии, правда, немного: хотя результат ее будет «правильно структурированным» документом с точки зрения интерпретатора XML, его разметка не станет ни на йоту более структурной. Только заменяя на соответствующие логические теги унифицированные HTML-блоки (стр. 45), имеющие наряду с форматирующей еще и определенную
НАДСТРОЙКИ
Создатели XML прекрасно понимали, что простота и изящество логического подхода к разметке имеют оборотную сторону — язык, не предоставляющий достаточно мощных и притом стандартизированных средств определения семантики тегов, вряд ли сможет составить серьезную конкуренцию HTML. Поэтому с момента появления черновой спецификации XML в ноябре 1996 года разработчики заняты в основном выбором и стандартизацией расширений языка — надстроек над XML, которые позволили бы формально описывать различные семантические аспекты тегов.
В отличие от HTML, многочисленные «расширения» которого больше похожи на заплаты на расползающейся ткани, модульная структура XML является одним из важнейших преимуществ этого языка. Авторы XML прилагают все усилия к тому, чтобы логический базис и семантические надстройки удобно стыковались, не теряя при этом как формальной, так и содержательной независимости друг от друга.
XLL. Почти одновременно с самим XML Консорциумом W3 был стандартизован XLL (extensible Linking Language, «Расширяемый язык ссылок») — механизм создания гипертекстовых ссылок в XML-документах. Этот аспект языка значительно усовершенствован в сравнении с HTML. Вот основные черты гипертекстовой модели XML:
• XML-ссылки реализованы не на уровне тегов (как в случае тега А языка HTML), а с помощью зарезервированных имен атрибутов. Это позволяет с легкостью превратить в гипертекстовую ссылку любой элемент документа, просто расширив его список атрибутов.
• Для XML-ссылки можно указать, будет ли она обычной ссылкой, активизируемой пользователем (щелчком мышью, к примеру), или же броузер, встретив в документе эту ссылку, должен активизировать ее сам, не дожидаясь команды пользователя.
• Для ссылки можно указывать результат ее активации, а именно: вывести ли документ, на который она ссылается, вместо текущего (например, в том же окне броузера), создать ли для него новый контекст вывода (например, новое окно), или же содержимое нового документа нужно вставить внутрь текущего документа.
• Важные усовершенствования внесены в синтаксис URL-адресов, использующихся в ссылках. Выше я уже упоминал, что адреса могут содержать параметры вызова программы или идентификатор фрагмента документа, отделяемые от основной части адреса соответственно символами? и # (стр. 30). XML расширяет синтаксис этих конструкций, благодаря чему, не теряя обратной совместимости с существующими адресами, они позволяют адресовать практически любой фрагмент любого XML- или HTML-файла. При этом не требуется, чтобы автор файла, на который ссылаются, как–то по–особому разметил этот фрагмент (в HTML, как вы знаете, его нужно пометить тегом А с атрибутом name). Более того, вырезание этого фрагмента из документа можно переложить на сервер, на котором документ хранится, тем самым избежав пересылки по сети документа целиком (правда, для этого нужно, чтобы сервер умел обрабатывать такие «расширенные» запросы).
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии