[属性グループ] ノード
概要
BizTalk エディターでは、 属性グループ ノードを Record ノードまたは別の 属性グループ ノードに追加して、複数の Record ノードで使用する属性のグループを含めることができます。 属性グループ ノードを別の属性グループ ノードに追加すると、属性グループの入れ子が実現されます。 これにより、複数の Record ノードまたは Attribute Group ノードで使用できる属性 のグループ を 1 か所で定義できます。 それ以降、属性グループに対して行った変更は、その属性グループに関連付けられたすべてのノードに反映されます。 このしくみは、修正を加えたノードのコンテキストに依存しません。
Note
BizTalk エディターでは、 AttributeGroup ノードは既定で、スキーマ ツリー ビューの文字列 <AttribGroup:attribGroupN> で表されます。 N は単調に増加する数字です。 名前の attribGroupN 部分を変更するには、 グループ参照 プロパティに新しい一意の名前を入力します。
属性 グループ ノードを最初に作成するときは、使用する Record ノードまたは Attribute Group ノードのいずれかに挿入し、必要に応じてグループ 参照 プロパティでその名前を変更します。 別の [レコード ] ノードまたは [属性グループ] ノードで同じ 属性グループ を使用するには、次の 2 つの方法があります。
既存の [属性グループ ] ノードをコピーし、その他の [レコード ] ノードに貼り付けることができます。
その他の Record ノードに新しい属性グループ ノードを挿入し、新しい属性グループ ノードのグループ参照プロパティを設定して、既存の属性グループ ノードを参照できます。
その後、貼り付けた任意の [レコード] ノードまたは [属性グループ] ノードのコンテキストで、[フィールド属性] ノードを追加または削除するなどして、[属性グループ] ノードを変更できます。 この変更は、属性グループが関連付けられている他のすべての Record ノードまたは 属性グループ ノードに反映されます。
少なくとも 1 つの関連ノードを追加せずに 属性グループ ノードを追加することは無意味です。関連するノードには 、Field Attribute ノード、 Any Attribute ノード、および (入れ子になった) 属性グループ ノードが含まれます。 属性を 1 つしか持たないような属性グループを作成しても、将来、さらに多くの属性を追加することを想定しているのでなければ、あまり意味はありません。
属性グループ ノードを入れ子にして、属性のグループを構築および結合する方法の可能性を高めることができます。 属性グループ ノードには Any Attribute ノードを含めることもできます。属性グループには、対応できる属性インスタンスに関するワイルドカード文字機能を含めることができます。
XSD 表記
属性グループ ノードが最初に Record ノードまたは別の属性グループ ノードに追加されると、対応するスキーマの XML スキーマ定義 (XSD) 言語表現の 2 つの異なる領域が影響を受けます。 次の例では、太字の新しい [属性グループ] ノードが、既存の Field Element ノードを既に含む既存の Record ノードに追加されています。
...
<xs:element name="ExistingRecord">
<xs:complexType>
<xs:sequence>
<xs:element name="ExistingFieldElement" type="xs:string" />
</xs:sequence>
<xs:attributeGroup ref="attrGroup0" />
</xs:complexType>
</xs:element>
...
<xs:attributeGroup name="attrGroup0" />
</xs:schema>
Record ノードの XSD 表現内の attributeGroup 要素が、スキーマ要素の子として追加されるグローバル attributeGroup 要素を参照する方法に注意してください。 このように、スキーマの XSD 内で、属性グループをグローバルとして定義することで、スキーマ内の任意の場所から属性グループを参照できるようにしています。
Note
自動的に指定される既定の属性グループ名の形式は attrGroupN で、 N は単調に増加する数字です。 属性グループの名前を変更するには、グループ参照プロパティに新しい一意の名前を 指定 します。 スキーマ ツリー内で属性グループの名前を変更することはできません。
参照
- スキーマの BizTalk 表記
- ノードのプロパティ
- UI ガイダンスと開発者 API 名前空間リファレンスのシーケンス グループ ノードのプロパティ
- ノードのプロパティを設定する方法
- [フィールド属性] ノード
- [すべての属性] ノード