Любые инструменты для создания схемы XSD из документа экземпляра XML? [закрытый]
Я ищу инструмент, который будет принимать XML-экземпляр документа и выводить соответствующую схему XSD.
Я, конечно, признаю, что сгенерированная схема XSD будет ограничена по сравнению с созданием схемы вручную (она, вероятно, не будет обрабатывать необязательные или повторяющиеся элементы или ограничения данных), но она может по крайней мере служить быстрой отправной точкой.
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-документов.
есть
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 вручную, но все это благодаря этому приложению.
Если вы работаете в мире Java - intelliJ idea также имеет обширную поддержку xml, включая xsd generation и samle xml от xsd generation, а с помощью плагинов вы можете получить отладчики xslt. - особенно приятно, если вы планируете использовать такие инструменты, как jaxb впоследствии.
Altova XmlSpy делает это хорошо - вы можете найти обзор здесь
Это старая тема, но я подумал, что было бы полезно разместить эту ссылку: просто нашел этот инструмент: xsd-gen генерирует XML-схему из XML
и он просто сделал то, что мне нужно.