Чем работать с XML - обзор онлайн-сервисов и xml редакторов
Структуризация данных – вещь полезная, и пригодится в самый неожиданный момент. Например, если структурировать свое ближайшее будущее, то можно увидеть размер своей зарплаты. И можно решить, с какой отдачей проработать весь этот месяц.
Конечно, фантастика, но для структуризации в программировании был придуман специальный язык (xml). А для редактирования данных, представленных в этом формате, созданы специализированные xml редакторы:

Что такое XML
Многие знают, что основой любого веб-ресурса является HTML. С помощью языка гипертекста можно очень легко и удобно задавать иерархию всех элементов на веб-странице. Частично он позволяет решать проблему и стилевого оформления. Вся эта иерархия создается (структурируется) с помощью встроенных тегов и их атрибутов, набор которых хоть и не малый, но все же ограниченный.
Поэтому HTML позволяет решать лишь одну единственную задачу структуризации в интернете: расстановки и создания элементов веб-страницы для ее последующей разметки (создания дизайна). А как же структурировать остальные данные, передаваемые в бесчисленном количестве между ресурсами во всемирной паутине? Как без ограничений организовать их выборку, поиск и фильтрацию?
Все эти «недочеты» могут быть исправлены с помощью XML. Перед началом обзора редакторов xml давайте более подробно разберемся, что это за язык и какова область его применения в виртуальном пространстве:

Аббревиатура XML в переводе с английского означает «расширяемый язык разметки» (Xtensible Markup Language). Он стандартизирован и рекомендован к использованию W3C. А это значит, что его применение является наиболее оптимальным и «беспроблемным» способом создания веб-документа.
Кроме описания документов XML также частично влияет на работу специальных системных программ. Препроцессоры этого языка предназначены для перевода данных с машинного кода в понятный для пользователя вид. Такие препроцессоры лежат в основе всех редакторов xml файлов.
Язык расширяемой разметки обладает следующими положительными сторонами:
- Является идеальным средством для описания структуры и разметки любого веб-документа;
- В XML нет ограниченного набора элементов, с помощью которых осуществляется структуризация. Вместо этого пользователь сам задает иерархию и имена всех элементов, опираясь лишь на правила описания языка;
- XML обладает простым, понятным, а главное расширяемым синтаксисом;
- Язык построен на основе основных кодировок Юникода;
- Широко применяется не только для описания обычных веб-страниц, но и легко подключается к коду большинства языков программирования. В том числе и тех, которые используются в веб-программировании (PHP, ASP. NET и другие).
Синтаксис XML
Каждый документ, написанный на XML, состоит из сущностей. Сущность – это самая маленькая единица (элемент). Каждая из сущностей содержит в себе символы.
Они делятся на:
- Символы разметки - теги, комментарии (< тег>, <!- -комментарий - ->);
- Буквенные символы – из них состоит основное содержимое, заключенное между тегами.
Логическая структура языка представляет собой иерархически вложенные друг в друга элементы. Самый верхний из них называется корневым. Любой из элементов включает в себя открывающийся и закрывающийся тег. И должен закрываться в том корневом для него элементе, в котором был открыт:
<hello>
<greeting>Hello, world!</greeting>
</hello>
Кроме корневого элемента XML документ состоит из пролога. Он расположен в самом начале кода. В состав пролога могут входить:
- Объявления;
- Инструкции обработки;
- Комментарии.
Более наглядно основные составляющие XML показаны на следующем скриншоте документа, созданного в простом xml редакторе:

Более подробно с синтаксисом языка можно ознакомиться с помощью технической документации к XML.
Обзор редакторов для XML
- Microsoft Visual Studio – представляет собой мощную среду разработки, объединившую в себя большое количество инструментов и средств для написания программного кода. В ее состав также входит «навороченный» редактор XML. Кроме всего прочего он поддерживает создание и визуализацию XML схем. К сожалению, в Visual Studio поддержка PHP реализована слабо. Эта среда больше «заточена» под создание веб-приложений с помощью ASP.NET:

- Adobe Dreamweaver – еще одна мощная среда разработки. Весь ее инструментарий полностью направлен на создание сайтов. Поддерживается синтаксис нескольких языков программирования. В состав Dreamweaver также входит встроенный редактор xml таблиц:

- XMLSpy XML Editor – мощное средство для работы с различными форматами данных XML. Поддерживается не только простое редактирование данных, схем, подсветка синтаксиса, но и графическая визуализация иерархических связей между элементами:

Визуальный xml редактор доступен в двух редакциях стоимостью 399 и 799 евро. Самый дорогой вариант включает в себя поддержку синтаксиса нескольких языков программирования и отладчик. Более дешевый вариант полностью совместим с наиболее популярными средами разработки (Visual Studio, Eclipse), и может выступать в качестве их полноценной надстройки:

- XML Notepad - бесплатный редактор xml. Имеет встроенную подсветку синтаксиса, средство валидации. А также поддержку построения схем. Приложение отличается простым и понятным интерфейсом:

Обзор онлайн-сервисов
- XML Schema Generator – сервис позволяет из обычного документа XML создать схему (XSD). Интерфейс сервиса отличается простотой и выполнен в черно-белых тонах. Кроме этого радует полное отсутствие рекламы;
- xmlvalidation.com – данный ресурс позволяет произвести полную валидацию содержимого XML документа, скопированного в специальное поле или загруженного в виде файла:

- XSL Transformation – служит для преобразования обычного XML кода с помощью указанных шаблонов стилей XSLT. Также в состав сервиса входит еще несколько десятков полезных для веб-мастера инструментов, в том числе и онлайн-валидатор XML.
Как видно из обзора, для работы с расширяемым языком разметки лучше всего применять обычный xml редактор, инсталлированный собственный компьютер или ноутбук. Набор инструментов специализированных онлайн-сервисов не так широк, и позволяет лишь проверить код XML документа на валидность. Или преобразовать его содержимое в схему.
Да и количество подобных специализированных ресурсов во всей всемирной паутине ограничено. При этом большая часть из них имеет англоязычный интерфейс.