В программе BizTalk нет функциональности, чтобы делать то, что вы хотите - вы могли бы написать какой-то предварительный или постпроцессор, который бы это сделал, но я предлагаю вам пойти по неправильному пути.
Это займет больше работы, но я бы посоветовал выяснить, почему у ваших источников и целевых систем есть такие разные схемы. Вероятно, это предупреждающий знак, что вы хотите усечь так много полей, чтобы иметь возможность передавать информацию.
Это будет хорошо стоит вашего времени, чтобы работать:
- Являются ли эти MAXLENGTH все элементы строго необходимо?
- Усечение любого из ваших полей может вызвать проблемы, технически или для бизнес-пользователей?
- Должны ли некоторые из этих полей разбиваться? Возможно, одна система определяет одно 100-значное адресное поле, в то время как другая система имеет улицу и городское поле.
Свойство MaxLength определяет, как долго элемент контента может быть. Так что да, это единственная цель - предоставить дополнительные правила проверки для вашей схемы.
От W3C XML Schema definition:
MaxLength · предусматривает:
• сдерживая · пространство значений · с значений с не более чем определенное количество единиц длины, где единицы длины изменяется в зависимости от определения {base type }.
Я предпочитаю слово они используют сдерживая над словом проверки - для меня это более четко выражает концепцию вашей XML-схемы, контракт, который определяет, что ваша система будет переходить к другим системам. Границы, подобные maxLength, говорят (читателю схемы), что системы, надеющиеся потреблять эти данные, могут сильно нарушаться, если они передаются дольше, чем maxLength.