сравнивая 2 разных xsd - PullRequest
       25

сравнивая 2 разных xsd

2 голосов
/ 13 января 2011

У меня есть 2 разных xsd для одного и того же запроса.один из них является последней версией, а другой - более старой версией.Я хочу сравнить 2 xsd.

Я использовал инструмент Liquid XML для генерации XML, но сгенерированный xml говорит о том, что 2 xsd ПОЛНОСТЬЮ отличаются, что я считаю невозможнымлибо мой подход неверен, либо xsds действительно отличаются.

Не могли бы вы, ребята, предложить мне лучшую практику для сравнения 2 xsds?

Ответы [ 2 ]

1 голос
/ 18 февраля 2012

QTAssistant имеет функцию сравнения с поддержкой XSD, которая является частью модуля рефакторинга схемы XML (XSR);Будучи осведомленным о XSD, он иногда удивляет людей, которые скорее привыкли сравнивать на основе файлов, будь то сравнение текста или XML.

QTAssistant фактически не сравнивает файлы XSD;вместо этого он сравнивает «скомпилированные» наборы XSD-файлов.Так что, если кто-то решит просто разделить XSD на два файла, связанных вместе, используя, а затем сравнить эти два набора, результат будет возвращаться как «идентичный».Хорошим примером является стандарт ACORD , который изменил способ выпуска XSD.Ниже приведен пример, показывающий выпуски 2.21 против 2.26, организованные как наборы в QTAssistant ...

ACORD Collections

... и взаимосвязи между файлами в выпуске 2.21 (используетs).

File relationships in ACORD 2.21

Другой пример: если между версиями удален атрибут minOccurs или maxOccurs = ”1”, это различие не будет помечено, так как эти 1 в любом случае являются значениями по умолчанию…

Другой интересной особенностью является гранулярность, предоставляемая отчетом о разнице ...

Diff report

В дополнение к тому, чтобы результат был доступен на уровне каждого компонента XSD, он также делится на две части: один результат, Status , для определения того, был ли компонент схемы изменен напрямую (ниже LastRaceDate был «заменен» выбором между LastRaceDate и LastDatePartialDate)...

Directly modified XSD component

... и другой, Расширенный статус , который рассматривает анализ воздействия на основе зависимостей (нижеатрибут был изменен с обязательного на необязательный).

Dependency modified

Отчет можно экспортировать для дальнейшей интеграции с другими инструментами.

0 голосов
/ 13 января 2011

Oxygen имеет инструмент сравнения XML.

Кроме того, вы можете распечатать оба XSD-файла и сравнить их, используя diff или TortoiseMerge или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...