Редактор XML — это редактор языка разметки с дополнительными функциями , облегчающими редактирование XML . Это можно сделать с помощью обычного текстового редактора со всем видимым кодом, но в редакторы XML добавлены такие возможности, как завершение тегов , а также меню и кнопки для задач, которые являются общими при редактировании XML, на основе данных, предоставленных с определением типа документа (DTD) или XML-дерево.
Существуют также графические XML-редакторы , которые скрывают код в фоновом режиме и представляют пользователю контент в более удобном для пользователя формате, приближаясь к визуализированной версии или формам редактирования. Это полезно в ситуациях, когда людям, не владеющим XML-кодом, необходимо вводить информацию в документы на основе XML, такие как табели учета рабочего времени и отчеты о расходах. И даже если пользователь знаком с XML, использование таких редакторов, которые заботятся о деталях синтаксиса, зачастую оказывается быстрее и удобнее.
Редактор XML выходит за рамки подсветки синтаксиса, предлагаемой многими редакторами открытого текста и универсальными редакторами исходного кода, проверяя источник XML на основе схемы XML или XML DTD, а некоторые могут делать это во время редактирования документа в реальном времени. [1] Другие функции редактора, разработанного специально для редактирования XML, могут включать в себя завершение слов элементов и автоматическое добавление закрывающего тега при каждом вводе открывающего тега. Эти функции могут помочь предотвратить типографские ошибки в коде XML. Некоторые редакторы XML предоставляют возможность запуска преобразования XSLT или серии преобразований над документом. Некоторые из более крупных пакетов XML даже предлагают функции отладки XSLT и процессоры XSL-FO для создания PDF- файлов из документов.
<?xml version="1.0"coding="utf-8"?> <Трекедитемслист> <FlowRecipeID Value="TestPP.BND"/> <MaterialID Value="54321"/> </TrackedItemsList>
Графические редакторы, основанные на графическом интерфейсе пользователя, могут быть проще для некоторых людей в использовании, чем текстовые редакторы, и могут не требовать знания синтаксиса XML. Их часто называют редакторами WYSIWYG («Что видишь, то и получаешь»), но не все из них являются WYSIWYG: графические редакторы XML могут быть WYSIWYG, когда они пытаются отобразить окончательную визуализацию, или WYSIWYM («Что видишь, то и есть»). Среднее»), когда они пытаются отобразить фактическое значение элементов XML. Если они не WYSIWYG, они не отображают (или один из) графических конечных результатов документа, а вместо этого сосредотачиваются на передаче смысла текста. Они используют DTD или схемы XML и/или файлы конфигурации для сопоставления элементов XML с графическими компонентами.
Редакторы такого типа обычно более полезны для языков XML для хранения данных, а не для хранения документов. Документы, как правило, имеют довольно свободную структуру, что противоречит жесткой природе многих графических редакторов.
В приведенном выше примере редактор использует файл конфигурации, чтобы знать, что элемент TABLE представляет таблицу, элемент TR представляет строку таблицы, а элемент TD представляет ячейку таблицы. Эта информация используется для отображения таблицы на основе этой информации о структурировании, чтобы упростить редактирование.
Информация о файлах схемы и конфигурации также может использоваться, чтобы гарантировать, что пользователи не создают недействительные документы. Например, в текстовом редакторе можно создать строку со слишком большим количеством ячеек в таблице, тогда как с указанным выше графическим интерфейсом пользователя это было бы невозможно.
Редакторы WYSIWYG позволяют людям редактировать файлы напрямую с помощью тегов, представленных той или иной формой графического просмотра, а не простого XML-кода. Часто редакторы WYSIWYG пытаются эмулировать результат какого-либо преобразования или приложения таблицы стилей CSS . Эта эмуляция может быть возможной или невозможной, в зависимости от преобразования XML в результат.
Наивное использование редактора WYSIWYG может привести к созданию документов, не имеющих внутренней семантики конкретного языка XML. Это происходит, если пользователь сосредоточен на попытке добиться определенного визуального представления с помощью редактора, а не на использовании WYSIWYG, чтобы упростить редактирование документа. Например, кто-то, создающий веб-страницу, может использовать элемент H2 (что означает заголовок второго уровня) вместо H1 (что означает заголовок первого уровня), потому что в его текущем редакторе WYSIWYG он выглядит меньше. Такой автор делает выбор, основываясь на очевидном визуальном представлении, но посетитель веб-страницы автора может предложить совершенно иную визуализацию в своем браузере .
Однако до тех пор, пока основной смысл документа понятен автору и автор не принимает решения, основываясь на точном виде в редакторе WYSIWYG, такой редактор может быть полезен для автора. Как правило, гораздо легче читать документ, который каким-либо образом визуализируется, чем читать необработанный XML-код. Кроме того, редактирование может быть гораздо более интуитивным, поскольку редактор WYSIWYG может использовать инструменты, аналогичные многим приложениям для обработки текста. Некоторые редакторы WYSIWYG даже позволяют пользователю использовать DTD или схему и определять собственный пользовательский интерфейс для редактирования.
Обычно редакторы WYSIWYG поддерживают CSS, но не XSLT, поскольку преобразования XSLT могут быть очень сложными, и угадать, что имел в виду пользователь, изменяя результат, может быть невозможно. Редакторы WYSIWYG, поддерживающие XSLT, такие как Syntext Serna, поэтому будут применять изменения непосредственно к исходному XML, одновременно обновляя представление, запуская XSLT для каждого изменения.
В приведенном выше примере таблица стилей используется для раскрашивания ячеек таблицы определенным образом. Например, четные строки не имеют того же цвета фона, что и нечетные, чтобы облегчить чтение.