1

さまざまなサイズのすべての要素にmaxlengthプロパティが設定されているスキーマがあります。私はそれにマッピングしていて、最大長をかなり頻繁に超えることを期待しています。

BizTalkに、各要素のFunctoidを手動で構成することなく、自動的に切り捨てるように指示する方法はありますか?

検証以外の最大長プロパティの目的はありますか?

4

1 に答える 1

2

BizTalkマッパーには、必要な処理を実行する機能はありません。これを実行する何らかのプリプロセッサまたはポストプロセッサを作成することはできますが、間違った方向に進んでいることをお勧めします。

より多くの作業が必要になりますが、ソースシステムとターゲットシステムのスキーマがこのように異なる理由を調査することをお勧めします。情報を渡すことができるように非常に多くのフィールドを切り捨てたいという警告サインである可能性があります。

時間をかけて解決する価値は十分にあります。

  • これらのmaxLength要素はすべて厳密に必要ですか?
  • いずれかのフィールドを切り捨てると、技術的にもビジネスユーザーにも問題が発生しますか?
  • 代わりに、これらのフィールドの一部を分割する必要がありますか?おそらく、一方のシステムは単一の100文字のアドレスフィールドを定義し、もう一方のシステムは通りと町のフィールドを持っています。

maxLengthプロパティは、要素のコンテンツの長さを定義します。そうです、それはあなたのスキーマに追加の検証ルールを提供することだけが目的です。

W3C XMLスキーマ定義から:

maxLength・は以下を提供します:

•「値スペース」を、最大で特定の長さの単位数を持つ値に制限します。長さの単位は、{基本タイプの定義}によって異なります。

私は、検証という言葉よりも制約を使用する言葉を好み ます。これは、システムが他のシステムに渡すものを定義するコントラクトであるXMLスキーマの概念をより明確に表現しています。maxLengthのようなファセットは、(スキーマのリーダーに対して)このデータを消費することを望んでいるシステムは、maxLengthよりも長いものが渡されると、壊れてしまう可能性があると言います。

于 2010-03-10T22:49:36.413 に答える