Любые инструменты для создания схемы XSD из документа экземпляра XML? [закрытый]


Я ищу инструмент, который будет принимать XML-экземпляр документа и выводить соответствующую схему XSD.

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

10 145

10 ответов:

the средство вывода Microsoft XSD - это хорошо, бесплатное решение. Многие инструменты редактирования XML, такие как XmlSpy (упомянутый @Garth Gilmour) или OxygenXML Editor также имеют эту функцию. Хотя они довольно дорогие. BizTalk Server также имеет средство вывода XSD, а также.

edit: я только что обнаружил .net XmlSchemaInference класс, так что если вы используете .net вы должны учитывать, что

вы можете использовать открытый исходный код и кросс-платформенный вариант: inst2xsd от сервера Apache XMLBeans. Я нахожу это очень полезным и легким.

просто скачайте, распакуйте и играйте (для этого требуется Java).

Транг самый лучший вариант здесь. Открытым исходным кодом и кросс-платформенный (хотя Java требуется)

с сайта Транг:

Транг преобразует между различными языками схемы для XML. Он поддерживает следующие языки

  • RELAX NG (синтаксис XML)
  • RELAX ng compact syntax
  • XML 1.0 DTDs
  • W3C XML Schema

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

Trang также может вывести схему из одного или нескольких примеров XML-документов.

Ссылка Для Скачивания

в VS2010 при загрузке XML-файла в Редактор выберите меню XML > > создать схему.

есть XML schema learner который находится на Github.

Он может забрать несколько xml-файлов и извлеките общий XSD из всех этих файлов.

Если у вас установлен .Net, инструмент для создания схем и классов XSD уже включен по умолчанию.
Для меня инструмент XSD установлен под следующей структурой. Это может отличаться в зависимости от каталога установки.

C:\Program Files\Microsoft Visual Studio 8\VC>xsd
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 2.0.50727.42]
Copyright (C) Microsoft Corporation. All rights reserved.

xsd.exe -
   Utility to generate schema or class files from given source.

xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

обычно классы и схемы, которые генерирует этот инструмент, работают довольно хорошо, особенно если вы собираетесь использовать их на языке .Net

обычно я беру XML-документ, который мне нужен, проталкиваю его инструмент XSD с /o:<your path> флаг для создания схемы (xsd), а затем нажмите xsd-файл обратно через инструмент с помощью /classes /L:VB (or CS) /o:<your path> флаги для получения классов, которые я могу импортировать и использовать в своих повседневных проектах .Net

Если все, что вы хотите, это XSD, LiquidXML имеет бесплатную версию, которая делает XSDs, и у нее есть графический интерфейс, чтобы вы могли настроить XSD, если хотите. В любом случае в настоящее время я пишу свои собственные XSDs вручную, но все это благодаря этому приложению.

http://www.liquid-technologies.com/

Если вы работаете в мире Java - intelliJ idea также имеет обширную поддержку xml, включая xsd generation и samle xml от xsd generation, а с помощью плагинов вы можете получить отладчики xslt. - особенно приятно, если вы планируете использовать такие инструменты, как jaxb впоследствии.

Altova XmlSpy делает это хорошо - вы можете найти обзор здесь

Это старая тема, но я подумал, что было бы полезно разместить эту ссылку: просто нашел этот инструмент: xsd-gen генерирует XML-схему из XML

и он просто сделал то, что мне нужно.