Как убрать неиспользуемые типы в сплющенном xsd? - PullRequest
1 голос
/ 04 октября 2019

Итак, моя проблема заключается в следующем. У меня есть XSD-файл, в верхней части которого есть включение для другой схемы. Эта включенная схема имеет другую зависимость и так далее для нескольких файлов. Я решил, что будет проще объединить файл xsd в один файл. Теперь у меня есть XSD-файл, который составляет 28 000 строк со многими типами, которые не используются. Мне нужно загрузить плоский файл во что-то, но сейчас он слишком большой. Мне удалось выровнять xml с помощью XMLSpy.

Поскольку файл очень большой, я загрузил его здесь, чтобы посмотреть: https://filebin.net/m9ldhtty4rkmgixj/FlatRates.xsd

Есть ли способ удалить все неиспользуемые бесполезные зависимостиэто не руководство?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Я использовал Visual Studio с BizTalk 2013 R2 SDK. Когда вы вносите незначительное изменение и сохраняете его, он предлагает удалить неиспользуемые глобальные типы. К сожалению, вы должны отметить большинство из них вручную (хотя, если вы отметите родительский вариант, он автоматически помечает подопределения). Но гораздо проще, чем делать все вручную.

Он уменьшил xsd с файла 1365 КБ до 562 КБ (все еще слишком велик, чтобы публиковать его в качестве ответа).

0 голосов
/ 04 октября 2019

Валидатор схемы Saxon имеет параметры -stats: имя файла, описанное таким образом:

Запрашивает создание XML-документа, содержащего статистику, показывающую, какие компоненты схемы использовались во время эпизода проверки и как часто (данные покрытия). Эти данные могут быть использованы в качестве входных данных для дальнейших процессов для создания удобочитаемых отчетов;например, данные могут быть объединены с выводом -scmout, чтобы показать, какие компоненты вообще не использовались во время проверки.

Просто предложение. Это только один шаг в процессе, конечно. Схема может использоваться для других целей, помимо проверки этого одного документа. И вам нужно будет проделать дополнительную работу, чтобы убедиться, что при удалении компонента нет никаких висящих ссылок на него из других частей схемы.

...