Які редактори коректно працюють із xml. XML-формат: чим відкрити та редагувати

Дані, що зберігаються в файлі 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 (і не лише) редактор. Вміє підсвічувати команди безлічі мов програмування, перевіряти на помилки, і багато чого ще.

Сьогодні ми розглянемо один з мультифункціональних інструментів для веб-майстрів - чеську програму PSPad. По суті, це той самий Блокнот, але його функціональність розширена до краю.

У програму, яка у встановленому вигляді займає всього близько 10 мегабайт, примудрилися впхнути стільки, що ні в казці сказати, ні пером описати (ні відстучати клавіатурою:)). PSPad має наступний набір інструментів:

Можливості PSPad

Редактор HEX(англ. hex-editor) - програма для редагування коду у 16-річному вигляді.
  • підтримка безлічі мов програмування: HTML, XML, PHP, Pascal, JScript, VBScript, MySQL, MS-DOS, Perl, Basic тощо;
  • підсвічування синтаксису та перевірка (а також оптимізація) коду;
  • вбудований перегляд готової web-сторінки;
  • HEX-редактор;
  • перевірка правопису;
  • вбудований FTP-клієнт;
  • можливість виклику з PSPad середовища розробки для кожної мови;
  • гнучка система налаштувань.

Коротше кажучи, PSPad може замінити собою безліч іншого софту, ніж заощадить місце на вінчестері і допоможе впорядкувати і більш менш централізувати всю роботу по верстці сайтів.

Інтерфейс PSPad

Не варто наперед лякатися – немає тут нічого складного.

  • По центру знаходиться головне робоче вікно, в якому ми безпосередньо працюватимемо.
  • Зліва - бічна панель, яка дає доступ до дерева проекту, дерева каталогів жорсткого диска, управління FTP-клієнтом, обраним та робочими файлами.
  • Вгорі - меню та опції для керування додатковими функціями програми.

Спробуємо ввести найпростішу програму на Бейсику для обчислення функції "y=3*log (A)" і подивимося, як поводитиметься PSPad.

За промовчанням програма створює текстовий документ із розширенням .txt.

Для того, щоб вибрати потрібне нам розширення, зайдемо в меню "Файл" і виберемо пункт "Новий" (або натиснемо CTRL+N).

З'явиться табличка, яка містить список наявних у програмі синтаксисів мов. Вибираємо потрібний (в даному випадку Visual Basic) та натискаємо "Ok".

Тепер розширення файлу .bas- стандартне програм написаних на Бейсике. Вводимо код:

Як бачимо, PSPad автоматично відображає різними кольорами цифри, текст, що друкується, і зарезервовані слова мови програмування. Таким чином, ми завжди можемо бачити, чи правильно вводимо ту чи іншу інформацію. При цьому колір підсвічування можна змінювати за бажанням, що робить взаємодію з PSPad ще зручнішим.

Усі налаштування можна зробити за допомогою можливості редагування шаблону тієї чи іншої мови.

Щоб це зробити, зайдіть у меню "Налаштування" і виберіть "Редагувати шаблон", після чого у списку виберіть потрібну мову.

Декілька слотів, як Ви могли помітити - порожні. Це дає можливість додатково підключити ті мови, яких немає за замовчуванням, але які потрібні для роботи.

Воістину колосальну підтримку PSPad надає у редагуванні HTML сторінок.

Крім підсвічування синтаксису HTML (причому у кількох варіаціях), програма допомагає:

  • перевірити правопис;
  • помилки у коді;
  • оптимізувати код;
  • синхронізувати та редагувати сторінку безпосередньо по FTP;
  • переглядати зовнішній вигляд сторінки за допомогою вбудованого переглядача або сервера, що підключається (Apache) ;
  • і багато багато іншого.

Розглянемо деякі з можливостей. Насамперед, я хотів би звернути увагу на ті, які пов'язані з оптимізацією коду та переглядом документа під час його редагування.

Стиснення HTML

Ми завжди "воюємо" за зменшення розміру HTML-файлу, щоб можна було більше вмістити в нього інформацію за менших його габаритів. PSPad пропонує цікаву можливість стиснення HTML-коду.

Давайте порівняємо:

На малюнку Ви бачите стислий код, який розміщується на 53-х рядках.

Тепер натиснемо на кнопку "стиснути HTML код без зміни працездатності" і отримаємо наступний результат:

Підсумкова довжина коду - 13 рядків! Тобто розмір документа зменшився більш ніж у 3 рази! При цьому працездатність не постраждала. У цьому можна переконатися, натиснувши кнопку F10 - викликається вбудований переглядач сторінки.

Перевірка HTML-коду на валідність

Дуже корисна також утиліта для перевірки HTML коду та таблиця недрукованих символів.

Для того щоб перевірити документ на помилки, зайдіть в меню "HTML" і виберіть пункт "Перевірити HTML код" (гарячі клавіші - CTRL+F10).

Внизу Ви побачите у вікні "Log" всі помилки і попередження щодо Вашого коду.

У самому низу вікна програми є рядок статусу, в якому відображається усіляка допоміжна інформація (поточне положення курсору, вимикач тексту, варіанти позначення поточного знака (HEX, DEX, HTML), поточна мова та кодування тексту).

Щоб отримати доступ до таблиці символів, що не друкуються, слід один раз клікнути по рядку, де вказані варіанти відображення поточного символу.

Висновки

Щоб описати всі функції PSPad, не вистачить, мабуть, і цілої книги, тому що їх не просто багато, дуже багато.

Кожен знайде у програмі щось своє, проте я б радив звернути на неї увагу, передусім веб-програмістам та верстальникам, тому що PSPad просто так і проситься на місце головного інструменту для роботи з HTML:).

Післямова

Все пізнається в порівнянні… Як відомо, немає нічого досконалого, проте ніщо, проте, не заважає досконалості прагне. І так у всіх сферах нашого життя.

Програмування – не виняток. Навпаки, всі програмісти прагнуть вдосконалення та оптимізації своїх творінь.

І раніше єдиним помічником для них був стандартний "Блокнот" Windows. У ньому не було жодних вишукувань, типу підсвічування синтаксису мов програмування або HTML тегів, але це не заважало роботі.

Зараз навряд чи хтось програмуватиме через Блокнот, якщо є достатня кількість спеціальних програм, які допомагають програмісту, а іноді навіть беруть на себе більшу частину роботи.

Однак бувають випадки, коли потрібно, щоб під рукою завжди був невеликий, але функціональний інструмент, який однаково міг би впоратися і зі створенням сайту, і з написанням програм будь-якими мовами програмування.

Таких програм хоч і менше, але вони все ж таки є. Яку ж вибрати? Таким питанням дуже часто задаються програмісти-початківці. Та й досвідчені іноді переглядають свою точку зору та змінюють улюблений інструмент на більш сучасний та функціональний.

Тому в цій статті ми й розглянули один із таких інструментів, чудову чеську програму PSPad.

P.S. Дозволяється вільно копіювати та цитувати цю статтю за умови вказівки відкритого активного посилання на джерело та збереження авторства Руслана Тертишного.

P.P.S. Якщо Ви - верстальник-початківець, то Вам найкраще може підійти візуальний HTML-редактор Nvu. З його допомогою Ви краще зрозумієте мову гіпертекстової розмітки та зможете бачити та контролювати всі свої дії в реальному часі.

Файли з розширенням XML містять базові текстові дані і тому не вимагають платного ПЗ для їх перегляду та редагування. XML-документ, в якому зберігається набір параметрів програми, база даних або будь-яка інша важлива інформація, може без проблем відкриватися за допомогою найпростішого системного блокнота.

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

Відкрити файл XML для перегляду дозволяє будь-який браузер, а ось для зміни його вмісту доведеться скористатися одним з доступних онлайн-сервісів.

Спосіб 1: XmlGrid

Цей найпростіший, на перший погляд, онлайн-редактор насправді є досить потужним інструментом для роботи з XML-документами. У ньому ви не тільки можете створювати та змінювати файли, написані мовою розмітки, що розширюється, але й перевіряти їх валідність, проектувати карти сайтів і конвертувати документи з/в XML.

Почати роботу з XML-файлом у XmlGrid можна або завантаживши його на сайт, або помістивши туди безпосередній вміст документа.

Почнемо з другого варіанта. У цьому випадку ми просто копіюємо весь текст із XML-файлу і вставляємо його в поле на головній сторінці сервісу. А потім тиснемо на кнопку "Submit".


Інший спосіб — завантажити XML-документ з комп'ютера.


Є ще й третій спосіб імпорту файлу XML у XmlGrid – завантаження за посиланням.


Яким би способом ви не скористалися, результат буде один: документ відобразиться як таблиця з даними, де кожне поле є окремим осередком.


Відредагувавши документ, можна зберегти готовий файл у пам'яті комп'ютера. Для цього потрібно скористатися невеликою кнопкою "Save"у верхній частині сторінки.

Сервіс XmlGrid найкраще підійде вам, якщо потрібно внести в документ редагування на рівні окремих елементів або представити його вміст у табличному вигляді для більшої наочності.

Спосіб 2: TutorialsPoint

Якщо попередній сервіс вам здався досить специфічним, можна скористатися класичнішим XML-редактором. Такий інструмент пропонується на одному з найбільших онлайн-ресурсів у сфері IT-освіти - TutorialsPoint.

Перейти до редактора XML ми можемо через додаткове меню на сайті.


Інтерфейс цього онлайн-рішення є максимально зрозумілим і містить весь необхідний функціонал для повноцінної роботи з документом XML.

Редактор є простір, розділений на дві частини. Зліва знаходиться область для написання коду, праворуч - його деревоподібну виставу.


Щоб завантажити XML-файл в онлайн-сервіс, доведеться скористатися меню у лівій частині сторінки, а саме вкладкою "Upload File".

Щоб імпортувати документ із комп'ютера, використовуйте кнопку "Upload from Computer". Ну а щоб завантажити файл XML безпосередньо з стороннього ресурсу, введіть посилання в поле з підписом «Enter URL to Upload»нижче та натисніть "GO".

Після закінчення роботи з документом його можна одразу зберегти в пам'яті комп'ютера. Для цього скористайтесь кнопкою «Download»над деревоподібним поданням XML-коду.

У результаті файл під назвою "file.xml"буде одразу ж завантажений на ваш ПК.

Як можна помітити, цей онлайн-редактор XML у разі потреби може без проблем замінити відповідну комп'ютерну програму. Тут є все, що потрібно: підсвічування синтаксису, мінімальний інструментарій для роботи з текстом та деревоподібне подання коду в реальному часі.

Спосіб 3: Code Beautify

Для роботи з XML-документами онлайн відмінно підійде рішення від сервісу Code Beautify. Веб-сайт дозволяє переглядати та редагувати цілу низку файлових форматів, включаючи, звичайно ж, написані розширюваною мовою розмітки.

Щоб відкрити XML-редактор безпосередньо, на головній сторінці сервісу під заголовком "Popular Functionality"або "Web Viewer"знайдіть кнопку "XML Viewer"та натисніть на неї.

Інтерфейс онлайн-редактора, як і функціональна складова, дуже схожий із вже розглянутим вище інструментом. Як і у рішенні TutorialsPoint, робочий простір поділено на дві частини - область з XML-кодом ( "XML Input") зліва та її деревоподібне уявлення ( «Result») Праворуч.

Завантажити файл для редагування можна за допомогою кнопок "Load Url"і "Browse". Перша дозволяє імпортувати XML-документ за посиланням, а друга - з пам'яті комп'ютера.


Після закінчення роботи з файлом його оновлену версію можна завантажити на комп'ютер у вигляді CSV-документа або з вихідним розширенням XML. Для цього використовуються кнопки «Export to CSV»і «Download»відповідно.

Загалом редагувати XML-файли за допомогою рішення від Code Beautify дуже зручно та наочно: у наявності підсвічування синтаксису, представлення коду у вигляді дерева елементів, масштабований інтерфейс та ряд додаткових можливостей. До останніх відноситься функція швидкого форматування документа XML, інструмент для його стиснення за рахунок видалення пробілів і переносів, а також моментальна конвертація файлу в JSON.

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

Але керівництво поставило завдання знайти безкоштовний аналог. Результатом пошуку є короткий огляд безкоштовних XML редакторів.


Вимоги.

Робота з XML/XSLT/XSD
- Зручний редактор з підказками та підсвічуванням
- XSLT процесор та дебагер.

Безкоштовні XML редактори

Огляд

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

EditiX Lite Version.Гарний редактор. Вміє робити XSLT трансформації. Але підказки видаються як виділення схожих частин коду, а чи не випадаючим списком і табличного подання документа.

Serna Free.Цей редактор сподобався мені найменше. Він ховає XML теги і моторошно гальмує. Працювати дуже не зручно.

XML маркер.Дуже сподобався. Показує 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 Звіти / Просто Підписати / 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 XML CON XML Constructor XML Constructor-help.rtf". Викликати інструкцію можна через ярлик з головного меню програм Windows, тобто для XML Конструктора "Пуск->Програми->XMLКонструктор->XML Конструктор - Інструкція". Для програми XML Конструктор інструкція також доступна за допомогою меню Довідка.