XML
Зачем нужны языки разметки
Идея решения проблемы обмена документами между различными компьютерами и приложениями через Internet основана на языке разметки гипертекста HTML (HyperText Markup Language). Этот язык был создан более 15 лет назад как стандарт оформления документов и был принят подавляющим большинством пользователей Internet, а главное, - всеми производителями программного обеспечения и оборудования для Web. Документы, размеченные согласно HTML, могут читаться на любом компьютере, на котором установлена всего лишь одна программа просмотра таких документов - браузер.
Благодаря языку разметки HTML, клиент Web может на экране своего компьютера просмотреть документ в том виде, в каком его задумал разработчик: с определенными размерами шрифта и разбивкой на абзацы, с определенным расположением рисунков, гиперссылок и проч. ссылок.
- Текстовый документ, составленный на HTML, имеет размер в байтах в несколько раз меньший, чем размер аналогичного документа, подготовленного в текстовом процессоре (например, Word).
- В основу разрабатываемого языка Бернерс-Ли (разработчик) положил язык SGML и приемы работы с гипертекстом, с чем и связано название созданного им языка - HTML. Новый язык использовал основные конструкции SGML для описания документов и гипертекстовых.
Что такое XML?
- XML - аббревиатура от англ. eXtensible Markup Language (пер. расширяемый язык разметки).
- XML - язык разметки, который напоминает HTML.
- XML предназначен для передачи данных, а не для их отображения.
- Теги XML не предопределены. Вы должны сами определять нужные теги.
- XML описан таким образом, чтобы быть самоопределяемым.
Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Расширение XML - это конкретная грамматика, созданная на базе XML и представленная словарём тегов и их атрибутов, а также набором правил, определяющих, какие атрибуты и элементы могут входить в состав других элементов.
Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.
XML является подмножеством SGML.
Почему именно XML?
XML используется во многих аспектах веб-разработки, но основная его задача - облегчение хранения и передачи данных.
XML отделяет данные от HTML
Если вам в HTML документе необходимо отображать динамические данные, то это будет занимать слишком много времени, если всякий раз, когда эти данные изменились, редактировать сам HTML документ.
С XML данные можно хранить в отдельных файлах XML. При этом вы сосредотачиваетесь на использовании HTML/CSS для отображения и шаблонизации и можете быть уверены, что поступающие новые данные не потребуют каких-либо изменений в коде HTML документа.
XML упрощает распределение данных
В реальном мире компьютерные системы и базы данных используют данные в несовместимых форматах.
XML данные хранятся в простом текстовом формате. Это обеспечивает программную и аппаратную независимость.
Это позволяет легко создавать данные, которые могут использоваться самыми разными приложениями.
XML упрощает передачу данных
Одной из самых время затратных проблем разработчиков всегда была и остается до сих пор проблема обмена данными между несовместимыми между собой системами.
Передача данных в виде XML значительно снижает сложность этой проблемы, так как данные в этом формате могут быть прочитаны разными несовместимыми приложениями.
XML упрощает модификацию платформы
Переход на новые системы (аппаратные или программные платформы) всегда занимает много времени. Множество данных необходимо конвертировать в новые форматы. При этом часто несовместимые данные теряются.
XML данные хранятся в текстовом формате. Это значительно облегчает расширение или модернизацию операционных систем, переход на новые приложения или браузеры без опасности потерять данные.
XML делает ваши данные более доступными
Доступ к вашим данным могут получать не только HTML документы, но и любые другие приложения.
Благодаря XML ваши данные становятся доступными для всех видов "машин чтения" (голосовых машин, новостных каналов и т.д.), что позволяет значительно проще обращаться к ним людям с ограничениями по зрению и другими физическими проблемами.
XML используется для создания новых интернет-языков
С использованием XML было создано множество языков программирования в Интернете. Вот несколько примеров:
- XHTML
- WSDL для описания доступных веб-сервисов
- WAP и WML как языки разметки для портативных устройств типа КПК
- RSS языки для новостных каналов
- RDF и OWL для описания ресурсов и онтологии
- SMIL для описания мультимедиа для сети
Какие проблемы решаются использованием XML
XML решает ряд проблем, которые не решает HTML, например:
- Представление документов любого (не только текстового) типа, например, музыки, математических уравнений и т.д.
- Сортировка, фильтрация и поиск информации.
- Представление информации в структурированном (иерархическом) виде.
Что такое DOM и SAX?
DOM
- Деревовой синтаксический анализатор (Object based) (Дерево узлов).
- DOM загружает файл в память и затем анализирует файл.
- Имеет ограничения памяти, так как он загружает весь XML-файл перед parsingом.
- DOM считывается и записывается (может вставлять или удалять узлы).
- Если XML-контент мал, то предпочитайте парсер DOM.
- Поиск назад и вперед возможен для поиска тегов и оценки информации внутри тегов. Таким образом, это дает легкость навигации.
- Медленнее во время выполнения.