Лучший способ иметь управляемый встроенный XSD / XML? - PullRequest
0 голосов
/ 08 октября 2018

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

Итак, данное приложение 1: AppA со схемой: XsdA У меня нет никакого контроля над этим, но я должен работать с XsdA икроме всего прочего выведите xml, соответствующий XsdA.

Приложение 2. Я работаю над AppB.У него есть собственная схема XsdB, которую я полностью контролирую.

Что я хотел бы сделать, так это то, что XsdB является расширением или расширенной версией XdsA.Несколько дополнительных элементов, здесь несколько других атрибутов.Материал, который уже есть в XsdA, не изменится.

Очевидно, я мог бы просто скопировать XsdA и добавить в него свои моды, но мне интересно, как я мог бы сделать это структурированным, отслеживаемым способом.Допустим, AppA выпустит новую версию с новым XsdA, как мне распространить эти изменения на мой XsdB, кроме diffing?

Я надеюсь, что это часть какого-то случайного, но общего рабочего процесса, поэтому есть инструменты и методы для его преодоления автоматически.

Все идеи высоко ценятся.Спасибо!

1 Ответ

0 голосов
/ 08 октября 2018

Многое зависит от того, был ли XsdA разработан с учетом расширяемости.Есть ли у него типы, которые допускают использование шаблонных элементов во внешних пространствах имен, например?

Если он не был разработан для расширяемости, то у вас есть все проблемы, которые вы описываете.Один из подходов к поддержке ваших расширений заключается в том, что вместо разветвления определений / объявлений в XsdA вы поддерживаете преобразование XSLT, которое создает XsdB из XsdA.

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