使用其他結構描述的結構描述
概觀
當您的結構描述變得又大又複雜,或是代表您不同類型之執行個體訊息的結構描述有部分相同時,將較小的結構描述結合成最終定義您計劃與交易夥伴交換之執行個體訊息的結構描述,是很有用的。 例如,您可能會有多個訊息類型,內含需要快遞的送貨地址。 您可以在單一結構描述中定義送貨地址的結構,然後在其他定義如「訂單」、「發票」及「送貨單」等訊息結構描述的其他結構描述中,使用該結構描述。
匯入、包含和重新定義
XML 結構描述定義 (XSD) 語言提供了三種相關機制,來使用多個 BizTalk 編輯器支援的結構描述。 下表摘要描述這些機制 (由 XSD 所定義) 的特性。
多重結構描述機制 | 使用方式情節 |
---|---|
匯入 | - 存取和使用匯入架構中定義的類型。 - 必須依原樣使用匯入架構中的類型,或從中衍生新類型;不允許修改類型。 - 提供使用其他命名空間中定義之型別的機制。 事實上,已匯入之結構描述的目標命名空間必須與正在匯入的結構描述不同。 - 使用 import 元素及其 命名空間 和 schemaLocation 屬性來參考其他架構。 |
包含 | - 存取和使用包含在內含架構中定義的類型。 - 必須依原樣使用內含架構中的類型,或從中衍生新類型;不允許修改類型。 - 包含的架構必須與包含架構位於相同的目標命名空間中,或包含架構的目標命名空間必須是空的。 - 使用 include 元素及其 schemaLocation 屬性來參考其他架構。 |
重新定義 | - 存取和使用重新定義的架構中定義的類型。 - 可以依原樣使用重新定義的架構中的類型、從中衍生新類型,或指定修改。 - 重新定義的架構必須位於與重新定義架構相同的目標命名空間中,或者重新定義架構的目標命名空間必須是空的。 - 使用 重新定義 專案及其 schemaLocation 屬性來參考其他架構。 任何型別重新定義都是使用 redefine 元素來指定。 注意: 使用重新定義機制是進階的 XSD 概念,只有在您充分瞭解其使用方式和時機之後,才應該使用。 |
注意
如需匯入、包含和重新定義機制之間差異和相似性的完整資訊,請參閱 Web 上的 XSD 資源中列出的參考。
重要詳細資料
若要在一個結構描述 (結構描述 2) 內使用在另一個結構描述 (結構描述 1) 中所定義的類型,您必須在結構描述 2 中提供結構描述 1 的參考。 若要這樣做,請使用 Schema2 中架構節點的Imports屬性。 當您在 [匯入] 屬性欄位中按一下省略號 (...) 按鈕時,[匯入] 對話方塊隨即開啟。 在 [ 匯入新架構為 ] 下拉式清單中,選取 [XSD 匯入]、[ XSD 包含] 或 [XSD 重新定義]。 然後按一下 [新增 ] 以開啟 [BizTalk 類型選擇器 ] 對話方塊,然後流覽 BizTalk 專案內以選取 [Schema1]。
如需這些步驟的詳細指示,請參閱 建立使用其他架構的架構。
當您使用 [ 匯 入] 對話方塊匯入、包含或重新定義另一個架構時,會將一或多個 XSD 元素 匯入、 包含和 重新定義 新增至架構的 XSD 標記法,包括適當的屬性和屬性值。 此外,如果是 匯 入元素,則會將另一個架構命名空間的前置詞宣告新增至 架構 元素。
所有全域類型 (,例如 ComplexTypes、 SimpleTypes、元素群組、屬性群組) 匯入/包含/重新定義的架構中,會自動用於匯入、包含或重新定義的架構內。 例如,匯入/包含/重新定義架構中定義的全域ComplexTypes會新增至匯入中所有Record節點的 [資料結構類型] 屬性下拉式清單,包括或重新定義架構。 如需此屬性的詳細資訊,請參閱 UI 指引和開發人員 API 命名空間參考。