質問

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

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

max length プロパティには検証以外の目的はありますか?

役に立ちましたか?

解決

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

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

時間をかけて取り組んでみる価値は十分にあります。

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

maxLength プロパティは、要素のコンテンツの長さを定義します。はい、その唯一の目的は、スキーマに追加の検証ルールを提供することです。

から W3C XML スキーマ定義:

maxLength · は以下を提供します。

•値空間を制限する「長さの単位単位が{ベースタイプ定義}によって異なる、最大数の長さの単位で値に値を制限します。

私は彼らが使う言葉の方が好きです 拘束する 言葉を超えて 検証- 私にとって、これは、XML スキーマが、システムが他のシステムに渡すものを定義する契約であるという概念をより明確に表現しています。maxLength のようなファセットは、このデータを消費しようとしているシステムが、maxLength より長いものが渡されると壊れる可能性があることを (スキーマの読者に) 伝えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top