Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 06 2016 22:52:46
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

XML и прикладное программирование


В хорошем дизайне добавление вещи стоит дешевле, чем сама эта вещь.

Thomas C. Gale

XML - универсальный строительный материал в программировании

Что такое XML

XML (eXtensible Markup Language) - это, как следует из дословного перевода, расширяемый язык разметки данных. Но не каких-то конкретных данных, а любых структурированных данных, которые можно представить в текстовом виде. Сложно оценить роль, которую XML сыграл и продолжает играть в сфере информационных технологий и, в частности, в отрасли разработки программных продуктов - она велика и даже больше, чем просто велика... Ключевое слово в его определении (аббревиатуре) – расширяемый (eXtensible), и смысл его не в том, что сам по себе XML может куда-то расширяться, а в том, что на его основе можно создавать различные расширения – специализированные языки разметки. Стандарт XML регламентирует лишь то, как должны описываться структурные элементы документа (теги) и связанные с ними атрибуты. Иными словами XML определяет обобщенный синтаксис разметки документа. Расширение XML – это конкретная грамматика, созданная на базе XML и представленная словарем тегов и их атрибутов, а также набором правил, определяющих какие атрибуты и элементы могут входить в состав других элементов. Если бы HTML появился позднее, чем XML, то он, возможно, также бы являлся его расширением. Однако, этого не случилось: HTML является производным другого обобщенного стандарта разметки документов - языка SGML (Standard Generalized Markup Language), отсюда и все синтаксические "послабления" HTML. Например, теги HTML могут не иметь соответствующих закрывающих тегов. Стоит заметить, что эта “несправедливость” частично осталась в прошлом с появлением XHTML. Более подробно про различия XML и SGML можно узнать из сравнения стандартов HTML и XHTML, которое предваряет справочник по HTML/XHTML, также размещенный на сайте codingcraft.ru.

В этой статье я не буду подробно рассматривать синтаксис XML (да и рассматривать особо нечего), а постараюсь сфокусироваться на его применении в программировании и на особенностях обработки XML документов. Буду стараться на примерах проиллюстрировать то, как он "крут", и что выигрывает тот, кто разумно его использует в своем коде. Стоит отметить, что именно "разумное" применение XML может положительно сказаться на качестве вашего программного продукта. Применение XML “без разбору” и “где попало” обычно заканчивается отказом от его использования из-за низкого быстродействия, больших (несоизмеримых с полезным эффектом) объемов занимаемой оперативной памяти и других "побочных эффектов". В заключение представлю несколько разделов о связанных с XML стандартах: о языке запросов к разделам XML документа - XPath, о спецификации описания структуры XML документа - XSD и о способах трансформации XML документов в другие форматы - XSL.

Пример не well-formed XML
Пример не well-formed XML.

Два уровня синтаксической корректности XML

Необходимо четко понимать, что существует два уровня синтаксической корректности XML документа: правильно построенный (well-formed), и валидный (valid) документ XML. С первым все просто. Если ваш XML документ не является правильно построенным, то он и не является XML документом. Правильно построенный XML документ - это текст, соответствующий его базовому синтаксису. Этот самый синтаксис, надо сказать, очень простой, но его правила не терпят исключений: про отсутствие закрывающего тега я уже упоминал. XML также не может пережить множества корневых элементов в документе и учитывает регистр символов в наименованиях тэгов и атрибутов. Такое отличие в синтаксических ограничениях XML и HTML я для себя объясняю не только порядком их появления на свет, но и различием в предназначениях этих языков разметки или, если угодно, разной степенью ответственности, возложенной на них: XML предназначен для описания и хранения структурированных данных в контексте всевозможных расширений себя самого, а HTML – для настройки представления и форматирования этих самых данных в интернет браузерах. Хотя все, безусловно, несколько сложней, поскольку более корректно сравнивать не XML и HTML, а XML и SGML или XHTML и HTML.

Валидный или действительный XML документ – это правильно построенный XML документ, удовлетворяющий дополнительному - прикладному синтаксису или набору ограничений, состав и семантику (смысловую нагрузку) которых легко можно настроить. Этот набор ограничений, в свою очередь, также представлен правильно построенным XML документом (DTD не в счет, поскольку в этом аспекте данная технология уже устарела) и называется схемой XML документа. Примеры таких схем вы легко найдете в интернете или в разделе про стандарт XSD на этом сайте.

С дальнейшими материалами про XML и связанные с ним компьютерные технологии обработки данных вы можете знакомиться последовательно, переходя по ссылкам "читать далее" (внизу каждого раздела) или сразу выбрать то, что вас интересует в первую очередь в содержании (меню сверху).

Читать далее: применение XML



Задать вопрос


Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.