Я ищу инструмент, который будет принимать экземпляр документа XML и выводить соответствующую схему XSD.
Я, конечно, признаю, что сгенерированная схема XSD будет ограничена по сравнению с созданием схемы вручную (она, вероятно, не будет обрабатывать необязательные или повторяющиеся элементы или ограничения данных), но, по крайней мере, она может послужить быстрой отправной точкой.
xsd.exe
, изменились в Windows 7. У меня есть это во многихMicrosoft SDKs
каталогах, среди которых этот один (так , кажется, не обязательно зависит от Visual Studio больше?):C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
. Мне пришлось запустить его в каталоге, содержащем xml, чтобы предотвратить ошибку о «недопустимых символах в пути», но это может быть связано с длинным именем файла, которое у меня есть.Вы можете использовать открытый исходный код и кроссплатформенную опцию: inst2xsd из Apache XMLBeans . Я нахожу это очень полезным и легким.
Просто скачайте, разархивируйте и играйте (требуется Java).
источник
Транг - лучший вариант здесь. Открытый исходный код и кроссплатформенность (хотя требуется Java)
С сайта Trang:
Ссылка на скачивание
источник
$ trang file.xml schema.xsd
.В VS2010, если вы загружаете файл XML в редактор, выберите меню XML >> Создать схему.
источник
Там также есть то,
XML schema learner
что доступно на Github .Это может занять несколько XML-файлов и извлекать общий XSD из всех этих файлов .
источник
sudo apt-get install php5-cli
и запуска./learn --help
--- Я не вижу разницы между этим и инструментом, написанным на Java, Python илиlocality
полю: если имя поля используется в нескольких местах в XML для обозначения различных элементов, требуется большееlocality
значение, чем 1, например,root/item
иroot/something/item
для разных типов, тогда--locality 2
как минимум требуетсяЕсли у вас установлен .Net, инструмент для генерации схем и классов XSD уже включен по умолчанию.
Для меня инструмент XSD установлен под следующей структурой. Это может отличаться в зависимости от вашего установочного каталога.
Обычно классы и схемы, которые генерирует этот инструмент, работают довольно хорошо, особенно если вы собираетесь использовать их на языке .Net
Обычно я беру XML-документ, который мне нужен, проталкиваю его через инструмент XSD с
/o:<your path>
флагом, чтобы сгенерировать схему (xsd), а затем проталкиваю файл xsd обратно через инструмент, используя/classes /L:VB (or CS) /o:<your path>
флаги, чтобы получить классы, которые я могу импортировать и использовать в моих повседневных .Net проектахисточник
Если все, что вам нужно, это XSD, у LiquidXML есть бесплатная версия, которая делает XSD, и имеет графический интерфейс, так что вы можете настроить XSD, если хотите. В любом случае, в настоящее время я пишу свои собственные XSD вручную, но это все благодаря этому приложению.
http://www.liquid-technologies.com/
источник
если вы работаете в мире Java - идея IntelliJ также имеет обширную поддержку xml, включая генерацию xsd и samle xml из генерации xsd, а с помощью плагинов вы можете получить отладчики xslt. - особенно хорошо, если вы планируете использовать такие инструменты, как jaxb впоследствии.
источник
Altova XmlSpy делает это хорошо - обзор вы можете найти здесь
источник
Это старая ветка, но я подумал, что было бы полезно опубликовать эту ссылку: только что нашел этот инструмент: xsd-gen Создать XML-схему из XML
и он просто сделал то, что мне было нужно.
источник