Вопрос по xml – Как рекурсивно «развернуть» все включения внутри XML / XSD?

1

Есть ли какое-либо приложение, которое может использовать в качестве входного файла XML (фактически wsdl) с некоторыми включениями и рекурсивно просматривать эти включения, чтобы сделать окончательный XML (действительно большой) с целевыми включениями, слитыми в него?

Объяснение: BDS 2006 WSDL Importer не может работать с включениями, и некоторые типы данных, определенные в импортированном xsd, не импортируются, поэтому я получаю ошибки компиляции. Когда я заменяю все включения рекурсивно со всеми упомянутыми XSD-файлами в один большой XML-файл, WSDL-импортер работает нормально, но выполнять эту замену вручную очень сложно и затратно по времени. Есть какое-нибудь приложение, чтобы сделать это для меня?

Заранее спасибо!

Ваш Ответ

3   ответа
-3

Есть некоторые проблемы с моим WSDL. Все ответы - хорошие ответы, но ни один из них не работает. Спасибо всем за попытку

2

я думаю чтоOxygenXml могу сделать это.

Я не разработчик Delphi. Я предполагаю, что вы пытаетесь создать консолидированный бетонный WSDL для потребления каким-то прокси-генератором в Delphi, да?

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Carlos Feitoza Filho
Error: User Rate Limit Exceeded Carlos Feitoza Filho
Error: User Rate Limit Exceeded Carlos Feitoza Filho
4

я думаю чтоQtAssistant делает это лучше (я неравнодушен здесь), по крайней мере, по сравнению с шагами, описанными @Nick в его комментарии; здесь предполагается, что существует только один XSD; если задействовано более одного пространства имен, подход будет заключаться в том, чтобы копировать каждый файл по отдельности, обеспечивая при этом удаление атрибутов schemaLocation. Несмотря на это, кажется, что здесь много поворотов.

В QTAssistant есть кнопка на вкладке Инструменты,Internalize XSDs; его задача - запрашивать местоположение файла WSDL и папку, куда копировать результат.

QTAssistant WSDL Internalize XSD command

Заполните эти два поля, нажмитеLoad а потомOK.

QTAssistant WSDL Internalize XSDs prompt

Затем реорганизованный файл WSDL открывается для просмотра.

enter image description here

Вы также можете нажатьValidate кнопка для запуска по правилам WS-I BP 1.1, а также для проверки набора схем XSD.

Похожие вопросы