Как настроить смартфоны и ПК. Информационный портал

Знакомство с современными средствами работы с XML. Краткий обзор бесплатных XML редакторов

Хороший XML редактор бережет нервы разработчика и делает процесс работы с XML легким и приятным. Вот так я подумал, когда начал пользоваться редактором Altova XMLSpy. Эта программа, безусловно, стоит своих денег.

Но руководство поставило задачу найти бесплатный аналог. Результатом поиска краткий обзор бесплатных XML редакторов.


Требования.

Работа с XML/XSLT/XSD
- Удобный редактор с подсказками и подсветкой
- XSLT процессор и дебагер.

Бесплатные XML редакторы

Обзор

Exchanger XML Lite V3.2. Возникли проблемы с установкой. Инсталляция проходила почти до конца и замирала. А жаль. По описанию на сайте у него очень богатый набор функций.

EditiX Lite Version. Хороший редактор. Умеет делать XSLT трансформации. Но подсказки выдаются в виде выделения похожих частей кода, а не выпадающим списком и табличного представления документа.

Serna Free. Этот редактор понравился мне меньше всех. Он прячет XML теги и жутко тормозит. Работать очень не удобно.

XML Marker. Очень понравился. Показывает XML в табличном виде доступном для редактирования. Жаль нет подсказок и возможности делать XSLT трансформации.

XMLPad. Понравился больше всех. Показывает XML в табличном виде и в виде дерева. Есть подсказки. Есть возможность делать XSLT трансформации.

Стравнение

Выводы

Ни один из рассмотренных бесплатных редакторов не может полностью заменить хороший платный редактор. Больше всех поставленным требованиям соответствует XMLPad. Но XML Marker можно одновременно редактировать код и видеть результат в табличном виде.

P.S. Уважаемые читатели если вы знаете хороший бесплатный редактор, то пишите в комментариях. С удовольствием дополню обзор.

UPD. Большой обзор XML редакторов «Choosing an XML editor»

UPD. Письма читателей.

Добрый день Александр,

Не являюсь участником сообщества "Хабрахабр", поэтому, с Вашего позволения реагирую почтой на Ваш пост.

Хотел бы отметить, что Ваш обзор редактора Syntext Serna в разрезе редактора XML-файлов абсолютно некорректен.
Основное назначение Syntext Serna -- не редактирование XML-конфигов или создание файлов XML Scheme и XSLT, а
визуальное создание и поддержка документации в формате XML (например, DocBook или DITA). Именно поэтому "Он прячет XML теги" (цитата), т.к.
основным пользователем редактора является технический писатель, которому не нужно иметь глубокие знания XML и уж
тем более, допускать ошибки в несбалансированных тэгах. Если требуется поправить XML-документ в невизуальном режиме,
то для этих целей в Syntext Serna существует режим "Plain mode".

Если возможно, буду благодарен, если разместите данное замечание в Вашем посте.

Спасибо,
--
With best regards,
Andrew Sichevoi, thekondor.net

Данные, хранящиеся в XML файле, можно редактировать прямо в клиентском браузере.

Открытие, редактирование и сохранение XML

В этой главе будет показано как открывать, редактировать и сохранять XML файл, хранящийся на сервере.

Для этого мы будем использовать XSL, чтобы преобразовать XML документ в HTML форму. Значения XML элементов будут записываться в поля ввода в HTML форме. HTML форму можно будет редактировать. После редактирования данные можно будет отправить на сервер, и XML файл будет обновлен (мы покажем соответствующий код на PHP и ASP).

XML и XSL файлы

Для примера возьмем следующий XML документ ("tool.xml"):

HAMMER HG2606 32456240 $30.00

И соответствующую таблицу стилей XSL ("tool.xsl"):

Tool Information (edit):


Код в приведенном выше XSL файле в цикле проходит по элементам XML файла и создает поле ввода для каждого XML элемента-"поля".

Значение атрибута "id" XML элемента-"поля" добавляется одновременно в атрибуты "id" и "name" каждого HTML поля ввода. Значение каждого XML элемента "value" добавляется в атрибут "value" каждого HTML поля ввода. В результате мы получаем редактируемую HTML форму, содержащую значения из XML файла.

Наконец, мы определяем вторую таблицу стилей XSL: "tool_updated.xsl". Этот XSL файл будет использоваться для отображения обновленных XML данных. Данная таблица стилей формирует не HTML форму, а статическую HTML таблицу:

Updated Tool Information:

PHP файл

В файле "tool.xsl" указываем в атрибуте action формы файл "edittool.php".

Файл "edittool.php" содержит две функции: функция loadFile() загружает и преобразовывает XML файл для дальнейшего отображения, а функция updateFile() применяет сделанные изменения в XML файле:

load($xml); $xslDoc = new DOMDocument(); $xslDoc->load($xsl); $proc = new XSLTProcessor(); $proc->importStyleSheet($xslDoc); echo $proc->transformToXML($xmlDoc); } function updateFile($xml) { $xmlLoad = simplexml_load_file($xml); $postKeys = array_keys($_POST); foreach($xmlLoad->children() as $x) { foreach($_POST as $key=>$value) { if($key == $x->attributes()) { $x->value = $value; } } } $xmlLoad->asXML($xml); loadFile($xml,"tool_updated.xsl"); } if($_POST["btn_sub"] == "") { loadFile("tool.xml", "tool.xsl"); } else { updateFile("tool.xml"); } ?>

Примечание : Все преобразования и изменения XML файла делаются на сервере. Это кросс-браузерное решение. Пользователь получит только HTML страницу, что будет работать в любом браузере.

ASP файл

В файле "tool.xsl" указываем в атрибуте action формы файл "edittool.asp".

Файл "edittool.asp" содержит две функции: функция loadFile() загружает и преобразовывает XML файл для дальнейшего отображения, а функция updateFile() применяет сделанные изменения в XML файле:

<% function loadFile(xmlfile,xslfile) Dim xmlDoc,xslDoc "Загружаем XML и XSL файлы set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) set xslDoc = Server.CreateObject("Microsoft.XMLDOM") xslDoc.async = false xslDoc.load(xslfile) "Преобразовываем файл Response.Write(xmlDoc.transformNode(xslDoc)) end function function updateFile(xmlfile) Dim xmlDoc,rootEl,f Dim i "Загружаем XML файл set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) "Устанавливаем переменную rootEl равную корневому элементу Set rootEl = xmlDoc.documentElement "Цикл по набору формы for i = 1 To Request.Form.Count "Убираем элементы кнопок в форме if instr(1,Request.Form.Key(i),"btn_")=0 then "Метод selectSingleNode запрашивает XML файл на наличие одиночного узла, "соответствующего запросу. Данный запрос ищет элемент value, который "является потомком элемента field, у которого атрибут id соответствует "текущему ключу в Form Collection. Когда соответствие будет найдено, "установить свойство text равным значению текущего поля в Form Collection. set f = rootEl.selectSingleNode("field[@id="" & _ Request.Form.Key(i) & ""]/value") f.Text = Request.Form(i) end if next "Сохранить модифицированный XML файл xmlDoc.save xmlfile "Освобождаем все ссылки на объекты set xmlDoc=nothing set rootEl=nothing set f=nothing "Загружаем модифицированный XML файл с таблицей стилей, "которая позволит пользователю увидеть отредактированную информацию loadFile xmlfile,server.MapPath("tool_updated.xsl") end function "Если форма была отправлена, обновить XML файл и отобразить результат "Если нет, преобразовать XML файл для редактирования if Request.Form("btn_sub")="" then loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl") else updateFile server.MapPath("tool.xml") end if %>

В данном разделе предлагается для скачивания программы XML Конвертер / XML Конструктор / XML Отчёты / Просто Подписать / XML Контакт — Росреестр.

Примеры формирования электронных версий документов с помощью программы XML Конструктор и их печатных аналогов с помощью программы XML Отчёты можно скачать в разделе . Также предлагаем посмотреть раздел , в котором вы найдете различные бесплатные утилиты, библиотеки и другое.

Программа XML Конвертер настроена для преобразования XML-файлов/документов Росреестра таких как кадастровые выписки, кадастровые планы территории в другие, удобные для использования форматы, такие как MIF/MID, DXF, CSV, TXT, HTML.

Программа XML Конструктор настроена на создание электронных версий в формате XML, таких документов для кадастровой деятельности как межевые планы, технические планы, карта(план) и др., а также уведомлений о залоге движимого имущества и уведомлений согласно закону FATCA.

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

Программа Просто Подписать предназначена для создания и проверки электронных цифровых подписей (ЭЦП).

Программа XML Контакт-Росреестр предназначена для взаимодействия с веб-сервисом Росреестра, т.е. создания заявлений на постановку на кадастровый учет земельных участков и объектов недвижимости, запросов сведений кадастра, получения результатов по данным заявлениям и запросам.

Все программы (кроме Просто Подписать и XML Контакт-Росреестр) имеют демонстрационный режим длительностью 30 дней, позволяющий использовать функционал программ без ограничений. После истечения периода действия демонстрационного режима полагается либо приобрести полные версии программ, либо прекратить их использование. Программа Просто Подписать является бесплатной программой и не имеет ограничений в использовании. Программа XML Контакт-Росреестр находится на стадии бета-тестирования и в настоящее время ее использование бесплатно.

ВАЖНО! Для преобразования с помощью программы XML Конвертер или XML Конструктор XML файлов большого размера нужно скачать и установить внешний обработчик запросов XQuery и перед преобразованием указывать его в соответствующем поле программы. В настоящее время поддерживается два свободно распространяемых обработчика запросов AltovaXML 2010 (разработчик www.altova.com) и Saxon-HE 9.5 (разработчик www.saxonica.com). Скачать их можно с сайта производителя или с данного сайта по ниже приведенным ссылкам:

ВАЖНО! Перед тем как приступить к работе с программами необходимо ознакомиться с инструкциями. Особенно это важно для программы XML Конструктор, т. к. перед работой необходимо понять принцип работы данной программы. Инструкции находятся в той же папке, что и исполнительный файл программы, т. е. для XML Конструктора в папке «c:\ProgramFiles\XMLCON\XMLConstructor\XMLConstructor-help.rtf». Вызвать инструкцию можно через ярлык из главного меню программ Windows, т. е. для XML Конструктора «Пуск->Программы->XMLКонструктор->XML Конструктор — Инструкция». Для программы XML Конструктор инструкция также доступна через меню Справка.

XML – расширяемый вид языка разметки Markup Language. Внутри файла с таким расширением могут храниться базы данных, настройки приложений, данные программных комплектов и другая информация. Подобные документы имеют широкое распространение среди пользователей, поэтому вопрос, как открыть XML, возникает достаточно часто.

Использование текстовых редакторов

Внутри XML-документа находится текстовая информация, поэтому для его просмотра в читаемом виде не требуется платное программное обеспечение. Можно воспользоваться браузером, любым текстовым редактором, встроенным в Windows или от сторонних разработчиков, или специальными программами для работы с форматом XML.

Блокнот Windows и его аналоги

В составе Windows изначально есть программа, которая умеет работать с любым текстом – Блокнот. Найти её можно в списке стандартных приложений в меню «Пуск». Вместе с ним предустанавливается еще один текстовый редактор – WordPad. Его также можно использовать для просмотра документов с расширением XML.

Если щелкнуть по XML-файлу правой кнопкой, то сразу под пунктом «Открыть» будет строка «Изменить». При нажатии на неё содержимое документа отобразится в Блокноте. Если так открыть файл не получается, или вы хотите использовать для просмотра WordPad, раскройте меню «Открыть с помощью».

Для чтения и редактирования XML-документов можно использовать и блокноты от сторонних разработчиков: например, NotePad++. В нем реализована подсветка синтаксиса, что может показаться удобным при редактировании файла.

Пакет Microsoft Office

Вместо Блокнота, WordPad и других подобных программ можно использовать приложения из пакета Microsoft Office – Word и Excel.

  1. Запустите Word.
  2. Укажите путь к XML-документу.

Минус Word в том, что в нем тяжело редактировать XML. Поэтому если вы хотите изменить какие-то данные, то лучше использовать Excel.

  1. Запустите Excel.
  2. Раскройте главное меню, нажмите «Открыть».
  3. Выберите XML-документ.
  4. Укажите на необходимость открыть его как XML-таблицу.

Если вместо пакета приложений Microsoft Office на компьютере установлена библиотека приложений OpenOffice, то ничего страшного: открыть XML можно через OpenOffice Calc, аналог Excel.

Редакторы XML

Если необходимо не просто увидеть содержимое таблиц, а еще и отредактировать их, то рекомендуется применять специальный софт, разработанный для работы с форматом XML. Можно использовать следующие редакторы:

  • XML Editor от Oxygen
  • XML Marker
  • Xsemmel
  • EditiX Lite Version

Программы отличаются предоставляемыми возможностями: в одних есть функция XSLT трансформации для преобразования XML-документов, подсказки в виде выделенных участков кода; другие предлагают только просмотр и минимальное редактирование.

Выбор зависит от потребностей и навыков пользователя, так как софт является специализированным. Однако скачать перечисленные программы можно бесплатно.

Просмотр через браузер

Если на компьютере вдруг не оказалось ни одного текстового редактор, или XML не открывается в читаемом виде, можно воспользоваться браузером или посмотреть содержимое файла онлайн.

Браузеры

Все современные браузеры поддерживают чтение формата XML. Однако нужно понимать, что раз в документе нет сведений о том, как отображать данные, веб-обозреватели показывают их «как есть». Чтобы использовать для открытия браузер (на примере Chrome):


Аналогичным образом запуск выполняется через другие браузеры. В обозревателе откроется новая вкладка, внутри которой отобразится содержимое документа XML.

В Mozilla Forefox можно открыть файл другим способом:


Если файл поврежден, то браузер при попытке открыть документ может вывести сообщение об ошибке. В таком случае рекомендуется воспользоваться одним из редакторов XML, указанных выше.

С таким расширением? Эти и другие подобные вопросы можно нередко встретить среди пользователей, посещающих различные форумы, посвященные веб-дизайну и языкам программирования. Но для начала следует разобраться, что вообще такое документ в формате XML, какую структуру он имеет и для чего предназначен.

Назначение

XML-документ является иерархической структурой, содержащей в себе как сами данные, так и их описание. Благодаря тому, что он представляет собой простой текстовый файл, он не зависит от используемой операционной системы и может быть создан с помощью любого языка программирования. Его необыкновенная гибкость дает возможность описать какие угодно данные. Одним из важных достоинств XML-документов является то, что они легко читаются не только программами - даже человек может разобраться, какая информация содержится в файле. Использование XML активно продвигается многими серьезными компаниями, такими как Borland, Microsoft, Sun и другими. Все универсальные языки программирования имеют библиотеки поддержки этого формата. В новых версиях различных СУБД присутствует возможность получения данных с помощью стандартных запросов в виде XML-файла. Этот язык поддерживается интернет-серверами и всеми популярными интернет-браузерами. При передаче динамическим страницам данных в формате XML значительно увеличивается скорость работы приложений, которые взаимодействуют с базами данных.

Структура

Если открыть файл в XML-формате, несложно заметить, что он очень напоминает стандартную HTML-страницу. В нем также присутствуют инструкции (или теги), которые заключаются в угловые скобки и размечают основной текст документа, а также определяют его элементы, их атрибуты и другие конструкции языка. Каждый XML-файл обязательно начинается с инструкции, в которой может содержаться информация о номере версии языка, кодовой странице, а также другие параметры, которые требуются программе-анализатору для осуществления разбора документа.

XML-формат - чем открыть

Итак, переходим к основному вопросу. Теперь вы знаете, что такое XML-формат, чем открыть его, мы расскажем далее. Самый легкий способ сделать это - с помощью стандартного приложения "Блокнот". Однако в этом случае от пользователя понадобятся определенные знания языка XML (как минимум - за что отвечают те или иные теги), поскольку открыв файл в этом текстовом редакторе, вы увидите просто набор строк кода и, собственно, текст. Тем же юзерам, кто не силен в этом либо желает сразу видеть результаты редактирования, мы рекомендуем использовать специальные программы. Несмотря на их огромный выбор и разный уровень реализации, все они работают примерно одинаково. Различие состоит только в функциональности, то есть в наборе доступных инструментов. В качестве рабочего инструмента для редактирования XML-файлов мы рекомендуем воспользоваться бесплатным редактором Serna Free. Это достаточно мощная и в то же время удобная программа с открытым кодом. Выбрав ее, вы без труда сможете сделать статью, книгу, техническую документацию и многое другое. Создание и правка XML-файла с помощью данного редактора во многом напоминает процесс обработки текста в Word и не требует от пользователя глубоких знаний языка разметки. Кроме этого, имеются дополнительные возможности Serna Free, такие как наличие XSLT и XSL-PO-стилей, обеспечивающих близкое к реальному отображение документа, а также возможность целостного отображения XML-файлов, составленных из большого количества частей.

Заключение

Итак, мы разобрались, что такое XML-формат, чем открыть и редактировать такие файлы. С помощью специального ПО вы сможете легко создавать тексты любой сложности, размечать их, создавать собственные элементы, а также их атрибуты в соответствии с вашими требованиями к документам.

Лучшие статьи по теме