[All 群組] 節點
在 BizTalk 編輯器中,您可以插入 [所有群組 ] 節點,以包含依任何順序顯示零或一次的其他節點。 在 XML 架構定義 (XSD) 語言中, [所有] 群組 的使用限制比 Sequence 和 Choice 群組還多,這可轉譯為 BizTalk 編輯器中的少數情況,您可以在其中建立 [所有群組 ] 節點。
若要在 BizTalk 編輯器中使用[所有群組] 節點,您必須遵循一些額外的步驟:建立[所有群組] 節點的最簡單方式是將父Record節點的 [群組順序類型] 屬性的值變更為[全部]。 這可確保 Record 節點的所有從屬節點都包含在 [所有群組 ] 節點內。 請參閱UI 指引和開發人員 API 命名空間參考中的群組順序類型。
另一種在 BizTalk 編輯器中使用 [所有群組 ] 節點的方法,從插入新的 [記錄 ] 節點開始。 插入新的 Record 節點之後,將其 [內容類型] 屬性變更為 ComplexContent。 然後,您可以將 [所有群組] 節點插入為 Record 節點的子節點。 這是必要的,因為所有 群組 只能在涉及繼承時插入。 藉由指定包含 Record 節點包含複雜內容,其資料類型會根據延伸模組衍生的資料類型 xs:anyType而變成。
注意
在 BizTalk 編輯器中,[所有群組] 節點是以架構樹狀檢視中的 [全部 > ] 字串 < 表示。 如果您設定 [ 所有群組 ] 節點的參考,例如 x,則會在架構樹狀檢視中將其表示為 < Group:x > 。
XSD 表示法
[所有群組] 節點可以插入至[記錄] 節點,但只有在它是該Record節點的唯一非屬性子節點時。 下列範例顯示,在步驟中,新的 [ 所有群組 ] 節點如何以 XML 架構定義 (XSD) 語言來表示為 所有 元素,因為 BizTalk 編輯器中的步驟會以名為 的節點執行 (,以厘清其身分識別) 。
<xs:element name="NewRecord">
<xs:complexType />
</xs:element>
新增如上述 XSD 片段所示的新記錄之後,其 Content Type 屬性會變更為 ComplexContent,因而造成下列 XSD 修改。
<xs:element name="NewRecord">
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="xs:anyType" />
</xs:complexContent>
</xs:complexType>
</xs:element>
現在,[ 所有群組 ] 節點可以插入為新記錄的子系,如下列 XSD 片段所示。
<xs:element name="NewRecord">
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="xs:anyType">
<xs:all />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
最後,您可以將適當的節點插入為新 [ 所有群組 ] 節點的子系。 下列範例顯示[記錄] 節點,以及插入為新 [所有群組] 節點子節點的Field Element節點。
<xs:element name="NewRecord">
<xs:complexType>
<xs:complexContent mixed="false">
<xs:extension base="xs:anyType">
<xs:all>
<xs:element name="RecordChildOfAllGroup">
<xs:complexType />
</xs:element>
<xs:element name="FieldElementChildOfAllGroup" type="xs:string" />
</xs:all>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
另請參閱
- BizTalk 結構描述表示法
- 節點屬性
- UI 指引和開發人員 API 命名空間參考中的時序群組節點屬性
- 如何設定節點屬性