2008-09-16 2 views
138

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

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

ответ

62

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

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

+1

wow, через несколько месяцев вы указали мне отличное решение для быстрой конвертации XDR в XSD! Благодаря! – bethlakshmi 2009-02-25 22:55:51

+6

Мне было сложно найти загрузку для этого инструмента (xsd.exe), но она уже была в моей системе в C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin. Просто подумал, что я поделюсь случаем, который поможет кому угодно. – oob 2012-01-03 06:04:49

+2

В случае, если у кого-то не установлена ​​Visual Studio, вот альтернативная ссылка для загрузки xsd: http://juliankay.com/development/download-xsd-exe/ – 2012-05-08 18:40:47

3

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

6

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

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

9

Если .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.

4

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

52

Вы можете использовать опцию open-source и cross-platform: inst2xsd от Apache's XMLBeans. Я считаю это очень полезным и легким.

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

50

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

От Чанга Сайт:

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

  • RELAX NG (XML синтаксис)
  • RELAX NG компактный синтаксис
  • XML 1.0 DTDs
  • W3C XML Schema

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

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

Download Link

11

Там также XML schema learner, который доступен на Github.

Это может занять несколько файлов XML и экстракта общего XSD из всех этих файлов.

14

В VS2010, если вы загрузите XML-файл в редактор, щелкните меню XML >> Create Schema.

2

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

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

Смежные вопросы