Автоматически обрезать до MaxLength во время отображения - PullRequest
1 голос
/ 10 марта 2010

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

Есть ли способ сообщить BizTalk об автоматическом усечении без необходимости входить и настраивать функтоид для каждого элемента вручную?

Есть ли цель для свойства максимальной длины, кроме проверки?

1 Ответ

2 голосов
/ 11 марта 2010

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

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

Это будет стоить вашего времени, чтобы потренироваться:

  • Все ли элементы maxLength строго необходимы?
  • Будет ли усечение какого-либо из ваших полей вызывать проблемы, как технические, так и для бизнес-пользователей?
  • Должны ли некоторые из этих полей быть разделенными? Возможно, одна система определяет одно адресное поле из 100 символов, в то время как другая система имеет поле улицы и города.

Свойство maxLength определяет длину содержимого элемента. Так что да, единственная цель - предоставить дополнительные правила проверки для вашей схемы.

Из определения XML-схемы W3C :

maxLength · обеспечивает:

• Ограничение · пространства значений · до значения не более определенного числа единиц длины, где единицы длина варьируется в зависимости от {базового типа определение}.

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

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