Запрос в XSL для сопоставления разных версий одной и той же схемы - PullRequest
0 голосов
/ 23 ноября 2011

Я понимаю XSL на концептуальном уровне, и я сам не сделал много XSL-листов.

Проблема, которую мы пытаемся решить, такова:

Приложение работает с партнерами, которые работают с разными версиями нашей схемы. Например. V2 и V3.

Приложение имеет модель данных, которая является надмножеством всех схем (в данном случае V2 и V3).

Преобразование из V2 и V3 в модель данных приложения должно быть легко достигнуто с помощью XSL.

Теперь, когда V4 и V5 пройдут, нам нужно создать XSL для V4 и V5, и мне интересно, есть ли простые способы построить то, что создано для V2 и V3, и просто добавить только дополнительные элементы / изменения, относится к V4 и V5.

На высоком уровне я не вижу проблем в этом, но у меня нет достаточных знаний в XSL, чтобы понять, как это можно сделать.

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

Оцените указатели и образцы XSL.

Спасибо

Manglu

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Повторное использование таблицы стилей выполняется в XSLT с использованием элементов xsl: import и xsl: include , которые подробно описаны по предоставленным ссылкам.

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

2 голосов
/ 23 ноября 2011

Один из подходов состоит в написании набора таблиц стилей, которые преобразуют V2-> V3, V3-> V4, V4-> V5 и т. Д .; затем выполните преобразование из Vm в Vn, собрав правильный трубопровод трансформаторов. Это накладывает ограничения на сложность и позволяет отбросить старые конвертеры, когда старые версии схемы в конечном итоге выйдут из употребления.

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