Как из xsd получить xml в notepad
Перейти к содержимому

Как из xsd получить xml в notepad

Using Notepad++ to validate XML against an XSD

Can someone explain how to use Notepad++ to validate an xml file against an xsd. There are no options in the «XML Tools» plugin dropdown that provides for specifying an XSD file. The XML plugin is installed properly in the plugins subdir and the 3 DLLs are copied to the Notepad++ EXE subdirectory. Other XML «validation» features work but there is no way to validate against an XSD.

1 Answer 1

In Notepad++ go to Plugins > Plugin manager > Show Plugin Manager then find Xml Tools plugin. Tick the box and click Install

enter image description here

Open XML document you want to validate and click Ctrl + Shift + Alt + M (Or use Menu if this is your preference Plugins > XML Tools > Validate Now ).
Following dialog will open: enter image description here

Click on . . Point to XSD file and I am pretty sure you’ll be able to handle things from here.

Hope this saves you some time.

EDIT: Plugin manager was not included in some versions of Notepad++ because many users didn’t like commercials that it used to show. If you want to keep an older version, however still want plugin manager, you can get it on github, and install it by extracting the archive and copying contents to plugins and updates folder.
In version 7.7.1 plugin manager is back under a different guise. Plugin Admin so now you can simply update notepad++ and have it back.

Как генерировать образцы XML-документов из их DTD или XSD?

Мы разрабатываем приложение, которое включает в себя значительное количество преобразований XML. У нас нет правильных входных тестовых данных как таковых, только файлы DTD или XSD. Мы хотели бы сами создать наши тестовые данные из этих файлов. Есть ли простой / бесплатный способ сделать это?

редактировать

По-видимому, для этого нет бесплатных инструментов, и я согласен, что OxygenXML — один из лучших инструментов для этого.

Я думаю, что Oxygen ( http://www.oxygenxml.com/ ) тоже это делает, но это еще один коммерческий продукт. Хотя это неплохо . Я настоятельно рекомендую его всем, кто много занимается XML. Он также входит в хороший плагин Eclipse.

Я верю, что есть бесплатная, полнофункциональная 30-дневная пробная версия.

В Visual Studio 2008 с пакетом обновления 1 (SP1) и более поздних версиях XML Schema Explorer может создавать XML-документ с некоторыми основными примерами данных:

  1. Откройте документ XSD
  2. Переключиться на XML Schema Explorer
  3. Щелкните правой кнопкой мыши корневой узел и выберите «Создать образец XML».

Снимок экрана проводника XML-схемы

В последних версиях Eclipse IDE с открытым исходным кодом вы можете создавать XML-документы из файлов DTD и XSD. Щелкните правой кнопкой мыши по указанному файлу * .dtd или * .xsd и выберите «Создать -> Файл XML . ». Вы можете выбрать, какой корневой элемент генерировать и следует ли создавать дополнительные атрибуты и элементы.

Конечно, вы можете использовать Eclipse для создания и редактирования файлов схемы DTD и XSD. И вам не нужно устанавливать какие-либо плагины. Это входит в стандартную поставку.

Для пользователей Intellij Idea:

Взгляните на Инструменты -> Действия XML

введите описание изображения здесь

Кажется, работает очень хорошо (насколько я проверял).

Как уже упоминалось @naXa, теперь вы также можете щелкнуть правой кнопкой мыши по файлу XSD и щелкнуть «Создать документ XML из схемы XSD . »

Camprocessor, доступный на Sourceforge.net, будет выполнять генерацию тестовых примеров XML для любого XSD. Существует учебное пособие, которое покажет вам, как создавать собственные тестовые примеры, включая использование подсказок по содержанию для обеспечения реалистичных примеров, а не только случайных ненужных.

Более подробную информацию об инструменте, который использует стандарт механизма сборки контента (CAM) OASIS для преобразования вашего XSD в более дружественную структуру XSLT, можно найти на веб-сайте ресурса — http://www.jcam.org.uk.

Вы можете использовать генератор XML-экземпляров, который является частью мультисхемного валидатора Sun / Oracle .

Это README.txt гласит:

Sun XML Generator — это инструмент Java для генерации различных экземпляров XML из нескольких видов схем. Он поддерживает DTD, пространство имен RELAX, ядро ​​RELAX, TREX и подмножество XML-схемы W3C, часть 1. [. ]

Это инструмент командной строки, который может генерировать как действительные, так и недействительные экземпляры из схем. Он может использоваться для генерации тестовых случаев для приложений XML, которые должны соответствовать определенной схеме.

Загрузите и распакуйте xmlgen.zip со страницы загрузки msv и выполните следующую команду, чтобы получить подробные инструкции по использованию:

Инструмент, кажется, выпущен под лицензией BSD; исходный код доступен отсюда

C# Разработка

Итак, что же мы будем делать, для того, что бы научиться штамповать XML на основе вашего эталона? Опишу всё по порядку.

Имеется:
Какой то XML (xmlfile.xml), сохраненный в текстовом формате в файл. Ниже приведу текст:

  1. Сначала используя утилиту XSD.exe, либо воспользовавшись онлайн сервисами (искать «xml to xsd» один из них www.freeformatter.com/xsd-generator.html), мы будем создавать из имеющейся XML ее примитивное XSD описание. На выходе мы будем иметь полностью, автоматическим образом, созданный output.xsd файл, который уже подходит к использованию но может быть не полным.
  2. Далее, на основе output.xsd, будут созданы классы на языке C# xmlclass.cs. После чего, мы добавляем его в наш проект. Создавать класс можно используя XSD.exe, либо xsd2code утилитой, или же любым онлайн сервисом.
  3. Теперь мы готовы использовать классы файла xmlclass.cs. Поэтому создадим и наполним данными экземпляры xmlclass, а потом, используя процесс сериализации, будем преобразовывать объекты в XML строку, и после чего сохраним ее в новый файл. Тем самым получим XML на основе имеющегося.

Шаг 1. Создание XSD из XML.

  1. Утилита xsd.exe — создатель Microsoft.
  2. Утилита xsd2code.exe — стороннее приложение, которое умеет все тоже самое, что и xsd.exe, но доступно для скачивания напрямую (на данный момент стала платной с Trial периодом).
  3. Использование любых онлайн сервисов.

— Ссылка для скачивания и установки одного из SDK:
Windows SDK for Windows 7 and .NET Framework 4.

— Далее перейдя в папку:
C:\Program Files (x86)\Microsoft SDKs\Windows>

— Воспользуемся поиском, и найдем файл xsd.exe, после чего (что бы упростить себе работу), скопируем его в созданную в корне диска папку C:\xmltoxsd. Далее в эту же папку мы копируем наш xmlfile.xml и все готово к началу.

Отрываем «Командную строку» (Пуск -> «Выполнить» -> «cmd»), переходим в наш каталог и вызываем с параметрами по умолчанию xsd.exe, передавая наш xmlfile.xml параметром:

И видим, что рядом появился файл xmlfile.xsd с содержимым.

Вот и все! Этих действий достаточно, для создания примитивного XSD файла, с которым можно работать. Но стоит понимать, что сам xsd.exe, как и любая другая утилита, ничего не знает про типы ваших полей (поэтому почти всегда тип полей будет string), а так же о всех вариациях атрибутов и параметров. То есть, если у какого-то тега нет атрибута в вашей XML, тогда его и не будет в описании. Поэтому XML должен быть наиболее полным и в случае, если элемент может содержать несколько дочерних полей, лучше добавить как минимум два, что бы xsd.exe понял, что это коллекция.

Синтаксис XSD не очень сложный, поэтому, если пишется достаточно серьезное описание, возможно придется поработать и напильником.

Шаг 2. Создание Class из XSD.

Для создания класса на языке C#, нам понадобится вновь использоваться xsd.exe но уже с другим параметром /classes, передав путь к нашему xmlfile.xsd.

После выполнения появится файл xmlfile.cs, содержимое которого приведено ниже в сжатом виде:

Шаг 3. Сериализация объектов в XML.

Получившиеся классы у нас лежат в файле xmlfile.cs. Далее его содержимое или сам файл добавляем в проект Visual Studio, после чего можно с ним работать. Я создам демонстративный объекты книг, после чего сохраню в файл в формате XML.

После запуска и открытия Output.xml можно увидеть, что мы сохранили так, как мы хотели (Нижний файл — «Созданный кодом«).

Как мы видим, форматирование было соблюдено, а данные были наполнены нами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *