Как изменить файл xml? Создание и редактирование XML-файла в Excel
И XPointer. Широкое распространение XML вызывает необходимость знать инструментальные средства работы с данной технологией и их функциональные возможности. К XML-обработке относятся форматирование, синтаксический анализ, редактирование, проверка корректности и преобразование в другие форматы. Подавляющее большинство средств работы с XML, присутствующих на рынке, предоставляют множество функциональных возможностей. В данной статье исследуются различные категории инструментальных средств для работы с XML и приводятся соответствующие примеры инструментов от различных производителей программного обеспечения.
При выборе инструментальных средств для работы с XML-технологиями сначала необходимо определить требования. Например, если предполагается выполнять с XML различные задачи (редактирование, проверка корректности и т.д.), рассмотрите возможность использования XML IDE с соответствующими функциями. Для решения конкретной задачи (сравнение XML-файлов или создание карты сайта) рассмотрите возможность использования более специализированного средства для конкретной задачи.
В данной статье рассматриваются следующие категории инструментальных средств для работы с XML:
- Программы для разработки и проверки XML-карт сайтов.
- Генераторы RSS-фидов.
- Генераторы XML-схем.
- Программы для проверки корректности XML.
- Программы форматирования XML.
- Редакторы XML.
- Инструментальные средства для работы с XML.
- Инструментальные средства с открытыми исходными кодами для работы с XML.
- Интегрированные среды разработки XML.
- Средства сравнения XML
- Инструментальные средства для работы с XQuery.
- Инструментальные средства для работы с XPath.
Программа для создания XML-карт сайтов
XML-карта сайта представляет собой список всех URL-адресов Web-сайта. Карта сайта информирует поисковую систему об URL-адресах Web-сайта, доступных для сканирования и включения в базу данных поисковой системы. Большинство программ для создания карт сайтов основаны на Web-технологиях и запрашивают URL-адрес Web-сайта вместе с несколькими параметрами, такими как частота изменений и дата последнего изменения.
Существует несколько генераторов карт сайтов:
- Google SiteMap Generator автоматически генерирует карту сайта, основываясь на обновлениях и трафике вашего Web-сайта, развернутого на Web-сервере.
- Gsite Crawler - это Windows-приложение для создания карт сайтов.
Кроме загружаемых инструментальных программ, карты сайтов можно генерировать с помощью различных интерактивных приложений; вот два примера:
- Sitemaps Builder создает карты сайтов для Google, HTML и текстовых URL.
- XML Sitemaps создает карты сайтов в форматах XML, ROR, Text или HTML.
Программы проверки корректности XML-карт сайтов
Программы проверки корректности карт сайтов используются для проверки карт, сгенерированных для Web-сайтов. Такая программа проверяет, подходит ли карта сайта для использования поисковой системой.
Ниже приведен список программ проверки корректности карт сайтов:
- Automapit sitemap validator проверяет корректность карты сайта, гарантируя ее соответствие критериям поисковых систем.
- Sitemap XML validator проверяет карту сайта на корректность XML-кода, чтобы вы смогли исправить ошибки до ее отправки в поисковые системы.
- XML sitemaps validator идентифицирует все проблемы карты для их устранения перед отправкой карты в поисковые системы.
- Online Merchant sitemap checker проверяет корректность XML-заголовков в файле sitemap.xml.
Генераторы RSS-фидов
Новостные фиды RSS - это отличный способ держать посетителей вашего сайта в курсе последних изменений его содержимого. Генераторы RSS-фидов популярны, например, среди пользователей, которые хотят просматривать заголовки новостных сайтов (например, CNN) или знать о последних спортивных новостях.
Разработчики Web-сайтов могут генерировать RSS-фиды при помощи следующих инструментальных средств:
- IceRocket RSS builder - программа с простым интерфейсом, позволяющая добавлять темы, ссылки и содержимое с целью создания RSS-фидов для вашего Web-сайта.
- Feedity создает RSS-фиды для Web-страниц, новостей или товаров.
- RSSPect настраивает RSS-фиды для Web-сайтов, документов или подкастов.
Генераторы XML-схем
XML-схемы можно генерировать из экземпляра XML.
Доступные инструментальные средства:
- - программа, запускаемая из командной строки, генерирует XML Schema Definition (XSD) из XML.
- XMLBeans - программа из проекта Apache, предоставляющая несколько функций, в том числе генерирование схемы при помощи inst2xsd (Instance to Schema Tool).
- XML for ASP BuildXMLSchema - интерактивный генератор XML-схем.
Программы для проверки корректности XML
Экземпляры XML-кода можно проверять на соответствие их схемам.
Используйте одно из следующих интерактивных инструментальных средств:
- XMLValidation.com проверяет соответствие XML-документа XML-схеме или DTD, указанным в документе, либо, при отсутствии объявления схемы или DTD, проверяет синтаксис.
- DecisionSoft.com Schema Validator проверяет корректность одной схемы и экземпляра документа и выводит список ошибок.
- W3C XML validator - сервис проверки схем с URI пространства имен http://www.w3.org/2001/XMLSchema.
Программы форматирования XML
Форматирование XML - это операция, часто выполняемая с XML-данными для облегчения их чтение. Большинство настольных приложений, работающих с XML, предоставляют эту функциональность. Для выполнения быстрого форматирования XML-содержимого без установки каких-либо инструментальных средств попробуйте один из следующих интерактивных сервисов.
Редакторы XML
XML-редакторы помогают интерпретировать XML-документ, выделяя цветом элементы, атрибуты или обычный текст и отступы. Еще одно преимущество использования XML-редакторов состоит в том, что они имеют функции, ориентированные на содержимое, например, древовидное представление, которое позволяет пользователю легко просматривать различные узлы XML-документа. Они также проверяют корректность кода и отображают список предупреждений и ошибок при отсутствии закрывающих XML-тегов.
- Xerlin XML Editor - Java™-программа, которая создает и проверяет XML-содержимое. Редактор имеет открытый исходный код, поддерживает XSLT и может проверять XML на соответствие DTD и схемам.
- - еще один XML-редактор с открытыми исходными кодами на языке Java. Поддерживает экспорт содержимого в формат PDF и предварительный просмотр HTML с использованием XSLT; работает на нескольких платформах.
- XMLFox - бесплатный XML-редактор с программой проверки корректности, позволяющий создавать грамматически правильные XML-документы и схемы. Этот редактор поддерживает и другие операции с XML.
Инструментальные средства для работы с XML
XSLT-преобразования полезны при преобразовании одной формы XML в другую с использованием таблиц стилей. В этом могут помочь многочисленные инструментальные средства; в качестве примеров можно привести Tiger XSLT Mapper и Kernow.
- Tiger XSLT Mapper - программа для преобразования XML-структур, которую могут легко использовать новички. Она автоматически создает преобразования, которые можно редактировать, используя графический интерфейс, построенный по принципу перетаскивания.
- - это Java-интерфейс, выполняющий преобразования программным способом. Kernow - это хороший выбор для разработчиков, которым нужно периодически выполнять XSLT-преобразования при помощи визуального интерфейса.
Также полезны несколько интерактивных XSLT-программ:
Разработчики, предпочитающие подключаемые к браузеру плагины, могут использовать следующие полезные плагины для работы с XML:
- XSL Results Add-on отображает результаты XSLT-преобразования (XSLT 1.0 или XSLT 2.0 through Saxon-B) документа.
- XML Developer Toolbar добавляет в панель инструментов стандартные инструменты для работы с XML.
- XML Tree отображает XML-данные в удобном для пользователя виде.
- XML Viewer - инструмент просмотра XML-документов для Google Chrome.
Инструментальные средства с открытыми исходными кодами для работы с XML
Пользователям, которые не могут купить коммерческие программы для работы с XML, будут полезны инструментальные средства с открытыми исходными кодами. Активная работа сообщества позволила создать очень хорошие программы для работы с XML.
Предоставляет ряд функциональных возможностей для обработки XML-документов:
- Проверка на соответствие DTD.
- Автоматическое завершение кода с использованием DTD.
- Пользовательские шаблоны.
- Обработка XSLT.
- Редактирование по частям.
Это XML-редактор, работающий в Eclipse. Среди его возможностей:
- Поддержка пространства имен.
- Автоматическое завершение тегов и атрибутов.
- Проверка корректности XML.
Эти инструментальные средства предоставляют также возможности для работы с Java-элементами:
- Автоматическое завершение названий классов.
- Открытие определения класса.
Это Java-программа с открытыми исходными кодами, обладающая следующими функциональными возможностями:
- Форматирование и завершение кода.
- XSL-преобразования.
- Генерирование DTD и схемы.
- Проверка корректности XML.
Интегрированные среды разработки XML
Интегрированные среды разработки (IDE) для работы с XML выполняют практически все операции, связанные с XML. Имеется ряд IDE с различными функциональными возможностями.
XMLSpy - это XML IDE для создания, редактирования и отладки XML, XML-схем, XSL/XSLT, XQuery, WSDL и SOAP. Дополнительные возможности:
- Генератор кода.
- Преобразователь файлов.
- Отладчик.
- Профайлер.
- Поддержка интеграции в Visual Studio.NET и Eclipse IDE.
- Мастер импорта из базы данных, позволяющий импортировать данные из Microsoft® Access®.
XML Marker - это XML-редактор, использующий синхронизированные табличное дерево (table-tree) и текстовый дисплей для отображения XML-данных в табличном и иерархическом виде. Эта программа может загружать очень большие документы (размером в сотни мегабайт и даже несколько гигабайт). Другие функциональные возможности:
- Редактор с подсветкой синтаксиса.
- Сортировка таблиц.
- Автоматический отступ.
- Проверка синтаксиса при вводе.
Liquid XML Studio - пакет из нескольких программ для работы с XML. Предоставляет следующие инструментальные средства:
- Редактор XML-схемы.
- Генератор кода связывания XML-данных.
- Редактор WSDL.
- Редактор XML.
- Интеграция с Microsoft Visual Studio.
- Тестовый клиент Web-сервисов.
- Компоновщик XPath-выражений.
- Генератор HTML-документации.
- Редактор и отладчик XSLT.
- Редактор больших файлов.
- XML Diff - сравнение XML-файлов.
На рисунке 1 показан редактор Liquid XML с набором панелей для работы с XML-содержимым.
< oXygen /> XML Editor - это полнофункциональная интегрированная среда разработки XML с поддержкой разнообразных операций, связанных с XML. Ее возможности будут полезны опытным пользователям. Перечислим некоторые из них:
- Интеллектуальный редактор XML.
- Проверка корректности XML.
- Поддержка XSL/XSLT.
- Поддержка XQuery.
- Поддержка XPath.
- XML-публикация из одного источника.
- Поддержка документов Microsoft Office.
На рисунке 2 показан редактор < oXygen /> XML Editor с исходным кодом и древовидным представлением XML-документа. (Увеличенная версия рисунка 2.)
Stylus Studio предлагает следующие функциональные возможности:
- Профайлеры XSLT и XQuery.
- Поддержка EDI.
- Инструментальные средства работы с корпоративными Web-сервисами.
- XML-конвейер.
- Взаимодействие XML-схемы с XSLT 2.0 и XQuery 1.0.
- Средства публикации XML.
XML Notepad от Microsoft помогает разработчикам создавать XML-документы. Эта бесплатная программа содержит инструмент XMLDiff, который можно использовать для сравнения двух XML-файлов. Ее интерфейс прост и удобен в использовании. Программа работает на платформе.Net. Вот некоторые ее возможности:
- Древовидное представление, синхронизированное с текстовым.
- Поддержка пространства имен при копировании и перемещении текста.
- Инкрементный поиск в древовидном и текстовом представлениях.
- Поддержка перетаскивания при редактировании.
- Неограниченное количество операций отмены изменений и повтора изменений при редактировании.
- Поддержка поиска с использованием регулярных выражений и XPath.
- Мгновенная проверка на соответствие XML-схеме.
- Технология Intellisense (автодополнение), основанная на ожидаемых элементах, атрибутах и значениях перечисляемых простых типов.
- Поддержка специализированных редакторов для типов данных date, dateTime, time и других типов, например, color.
- Встроенный просмотрщик HTML.
- Поддержка XInclude.
На рисунке 3 показан редактор XML Notepad с древовидным представлением XML-файла и панелью ошибок. (Увеличенная версия рисунка 3.)
Это быстрый XML-редактор с поддержкой проверки корректности. Наличие вкладок позволяет редактировать несколько файлов одновременно. Другие функциональные возможности:
- Проверка на соответствие DTD/XML Schema/RELAX NG.
- Поддержка XSLT и XPath.
- Форматированный вывод на печать и цветовая подсветка синтаксиса.
- Свертывание и завершение тегов.
- Импорт и экспорт документов Microsoft Word без потери информации.
- Поддержка XHTML, XSL, DocBook и Text Encoding Initiative (TEI).
XRay XML Editor - бесплатная интегрированная XML IDE. Эта программа проверяет корректность XML-документа при вводе. Имеет встроенную поддержку стандартов W3C. Также имеет HTML-просмотрщик для предварительного просмотра Web-страниц, созданных с помощью XML. Можно создавать три типа схем, включая XSD, DTD и External Data Representation (XDR). Среди других функциональных возможностей:
- XSLT-обработка в режиме реального времени.
- Проверка корректности схемы в режиме реального времени.
- Интегрированное интерактивное учебное руководство по XML.
XMLSpear - бесплатный XML-редактор, написанный на языке Java и доступный для многих платформ. Обладает расширенными функциональными возможностями, такими как интерактивная проверка на соответствие схеме, расширенная панель XPath и др. XML отображается в трех различных форматах, включая древовидную таблицу, просмотр элементов и просмотр исходного кода. XMLSpear доступен в виде Web-программы на Java или в виде автономного приложения. Дополнительные функциональные возможности:
- Поддержка XPath и XSLT.
- Способность генерировать завершенные XML-документы из схемы.
- Поддержка нескольких форматов кодирования.
- Интегрированный текстовый и HTML-плагин.
- Проверка на соответствие схеме или DTD в режиме реального времени.
- Генерирование схемы из экземпляров XML.
- Древовидный редактор для работы с узлами.
XMLmind - многофункциональный XML-редактор, использующий технологию Java и доступный для нескольких платформ. Более подходит опытным пользователям, а не новичкам. Представляет инновационный способ редактирования XML-документов и требует наличия Java-платформы. Среди функциональных возможностей XMLmind:
- Преобразование XML-документов в HTML, PDF, Eclipse и многие другие форматы.
- Наличие DITA-преобразователя.
- Поддержка DocBook, JavaDoc, XHTML и встроенных шаблонов для них.
- Поддержка создания MathML-документов.
- Редактируемые команды.
- Интегрированный анализатор XML и механизм XSLT.
ElfData XML Editor - программа для пользователей Mac OS. Эта среда XML IDE имеет поддержку Unicode и может выполнять проверку XML-документов на грамматическую правильность с DTD и без него. Доступны два режима представления: в виде дерева и в виде кода. Поддержка технологии drag-and-drop позволяет перетаскивать на документ XML-элементы. Поиск облегчается благодаря наличию двух режимов: поиск по коду и поиск по дереву. Среди других функциональных возможностей:
- Совместимость с XML 1.0.
- Интерфейс пользователя в стиле Macintosh.
- Подробные сообщения об ошибках с предоставлением помощи в их отладке.
- Функция "Send to Browser" (отправка в браузер), позволяющая просматривать документ в браузере.
- Возможность сохранять страницы в виде XHTML с DTD.
XMetaL похож на текстовый процессор. Аналогично большинству XML IDE, он может выполнять проверку корректности XML-документов и поддерживает схемы, DTD и XInclude. Другие функциональные возможности:
- Проверка орфографии и автоматическое завершение кода.
- Поддержка вывода в формате Web-справки.
- Способность преобразовывать XML-документы в PDF, HTML и многие другие форматы.
- Коннектор XMetal интегрируется с системами управления контентом (CMS) и системами управления версиями, например, SVN.
- Поддержка Unicode позволяет создавать XML-документы на различных языках.
- Поддержка DITA (с такими возможностями, как визуализация и ориентированный на темы пользовательский интерфейс) для создания DITA-содержимого.
Средства сравнения XML
Разработчикам, редакторам и авторам часто бывает нужна программа сравнения двух версий XML-документа для отслеживания изменений. Хотя имеются многочисленные средства сравнения, наиболее эффективным решением для многих операций является программа сравнения, специально предназначенная для работы с XML-документами.
< oXygen /> XML Diff & Merge может сравнивать файлы, каталоги и ZIP-архивы. После загрузки в программу исходного и целевого документов отображаются выделенные цветом различия; изменения в исходном и целевом файлах можно редактировать. Программа имеет много встроенных алгоритмов сравнения и способна автоматически выбирать алгоритмы на основе содержимого документа и его размера. Программа может выполнять пословное и посимвольное сравнение. При сравнении каталогов и архивов за основу сравнения можно выбрать следующие параметры:
- Временная отметка.
- Содержимое.
- Двоичное сравнение.
Liquid XMLDiff имеет много специфичных для XML функций, например, удаление пробелов, комментариев и директив процессора. Эта программа достаточно функциональна, чтобы спрогнозировать, являются ли элементы новыми, удаленными или перемещенными. Программа доступна также в составе Liquid XML Studio в редакции для дизайнера и разработчика.
ExamXML - это мощное средство визуального сравнения и синхронизации различий между XML-документами. Входным XML для сравнения может быть либо файл, либо поле из базы данных. ExamXML может также сравнивать и сохранять части XML-документа; также можно выполнять импорт или экспорт из документов Microsoft Excel®. ExamXML работает на различных версиях Microsoft Windows®. Другие функциональные возможности:
- Проверка корректности XML на соответствие DTD и XML-схеме.
- Нормализация дат и чисел.
- Поддержка drag-and-drop.
- XML-документы отображаются в виде дерева.
DeltaXML позволяет искать, сравнивать, соединять и синхронизировать изменения в XML-документах. Поддерживает Java API, что облегчает программное сравнение XML-документов. Может работать с большими файлами. Программа может выдавать дельта-файл с результатами сравнения. Этот файл можно отобразить непосредственно либо использовать XSL; можно обработать этот файл в других XMKL-программах. Программа DeltaXML Sync может сравнивать три XML-документа и визуализировать различия. Кроме функции сравнения XML-документов, имеет несколько инструментов форматирования:
- Сравнение DeltaXML DITA.
- Сравнение DeltaXML DocBook.
- Сравнение DeltaXML ODT.
- Слияние DeltaXML ODT.
Инструментальные средства для работы с XQuery
Язык XQuery может быть очень полезен опытным пользователям XML для выполнения запросов и извлечения содержимого из больших XML-документов. Специализированные программы для работы с XQuery помогут воспользоваться преимуществами XQuery и позволят использовать такие высокоуровневые функции, как отображение, отладка и профилирование. Эти программы предоставляют полезные функции, такие как проверка корректности, автоматическое завершение кода и предварительный просмотр. Ссылки на все перечисленные инструментальные средства приведены в разделе Ресурсы.
Редактор XMLSpy XQuery Editor предоставляет подсветку синтаксиса и контекстно-чувствительные меню для XQuery. Его функции автоматического завершения кода облегчают создание XQuery-документов. Он также позволяет разрабатывать XQuery для баз данных, поддерживающих XML. Другие функциональные возможности:
- Изоляция ошибок.
- Упрощенная отладка.
- Улучшенная производительность кода.
- Улучшенный просмотр текста.
Программа Stylus Studio XQuery Editor имеет интегрированный редактор XQuery с широким набором функциональных возможностей, включая интеллектуальную проверку кода, автоматическое завершение кода, конструкторы элементов, функции, path-выражения и многое другое. Редактор основан на открытой архитектуре XQuery с поддержкой процессора Saxon XQuery. Окно дерева исходного кода XQuery поддерживает технологию drag-and-drop, а также удобные символы и пиктограммы. Дополнительные функциональные возможности:
- Создание сценариев XQuery.
- Предварительный просмотр XQuery.
- Отображение результатов XQuery в XQuery-выражения.
Средства разработки XQuery для Eclipse помогают создавать, отлаживать и выполнять XQuery в среде Eclipse. Эти средства предоставляют также:
- Поддержку обновлений XQuery и расширений функций работы со сценариями.
- Завершение кода и шаблоны кода.
- Проверку семантики и быстрое исправление.
- Проверку корректности при вводе.
Инструментальные средства для работы с XPath
Специализированные инструментальные средства XPath полезны для визуализации результатов оценки XPath и помогают при создании и проверке XPath-выражений. К полезным функциям, предоставляемым этими средствами, относятся отладка XPath-выражений, автоматическое завершение кода, поиск в база данных с использованием XPath. Ссылки на все перечисленные инструментальные средства приведены в разделе Ресурсы.
Программа SketchPath - это XPath-редактор и средство анализа и тестирования XML. Она предоставляет IDE для разработки и тестирования XPath-выражений с XML-документами. Программа использует.NET Framework для работы с XPath 1.0 и Saxon.NET для XPath 2.0. Другие функциональные возможности:
- Использование XPath-переменных в выражениях.
- Помощник по функциям XPath.
- Встроенный пошаговый трассировщик и отладчик.
- Цветовая подсветка синтаксиса для выражений.
XPath Visualizer - это бесплатная программа Microsoft Windows, выполняющая XPath-запросы к XML-документам и визуализирующая результаты. Входной информацией может быть файл в файловой системе или URL-адрес; также можно скопировать содержимое файла непосредственно в программу в виде текста. В программе можно вводить полные XPath-запросы. Другие функциональные возможности:
- Автоматическое обнаружение и отображение пространств имен XML.
- Проверка корректности XPath-запросов.
- Автоматическое добавление пространства имен XML по умолчанию в выражение запроса и возможность удалить пространство имен XML из любого документа.
Доступны также Web-программы для работы с XPath, например:
- XPath Query Expression Tool (XMLME.com).
- XSLT Tryit Editor (W3Schools.com).
Данные, хранящиеся в XML файле, можно редактировать прямо в клиентском браузере.
Открытие, редактирование и сохранение XML
В этой главе будет показано как открывать, редактировать и сохранять XML файл, хранящийся на сервере.
Для этого мы будем использовать XSL, чтобы преобразовать XML документ в HTML форму. Значения XML элементов будут записываться в поля ввода в HTML форме. HTML форму можно будет редактировать. После редактирования данные можно будет отправить на сервер, и XML файл будет обновлен (мы покажем соответствующий код на PHP и ASP).
XML и XSL файлы
Для примера возьмем следующий XML документ ("tool.xml"):
И соответствующую таблицу стилей XSL ("tool.xsl"):
Tool Information (edit):