ID 解析程式用以處理有產生識別碼(由系統產生)之表格的解析。這包括 KEYS 或 SUBKEYS 表格中登錄的任何表格與直欄。 此項解析有兩個元件:
此項解析是根據該元素的 XML 資料內容, 而採用唯一索引解析方式或內容檔規格方式。
其做法是解析相關表格之外來鍵屬性中的規格。
MEMBER 表格是作為 ORGENTITY、MBRGRP 與 USER 表格的「超類別」。 這會建立一種 "is-a" 型樣,當表格對 MEMBER 的子類型有外來鍵方面的限制時, 此種型樣有助於維護參照完整性。但由於所有 MEMBER 子類型都共用一個共通的基礎類型, 識別碼在子類型間必須是唯一的。也就是說,在 MBRGRP_ID 與 USER_ID 組中, ORGENTITY_ID 必須是唯一的。 也因此,KEYS 表格只能參照 ORGENTITY、MBRGRP 與 USER 表格,並針對它們的識別碼指定互斥範圍。 每一個子類型都有一個主要鍵;每一個主要鍵也各有一個參照 MEMBER 表格主要鍵的外來鍵。
因 MEMBER 與其子類型間的限制,導致 MEMBER 與子類型不能有一個同步化的 ID。 為了使用載入器套件將 ORGENTITY、MBRGRP 與 USER 表格載入系統中, ID 解析程式會辨識 "is-a" 型樣,並適當處理之。ID 解析程式的 XML 語法如下:
<ORGENTITY ORGENTITY_ID="@orgAlias" ORGENTITYNAME="Test Org" ORGENTITYTYPE="O"> <ISA> <MEMBER TYPE="O" STATE="1" /> </ISA> </ORGENTITY>
產生的結果如下:
<MEMBER MEMBER_ID="12345" TYPE="O" STATE="1" /> <ORGENTITY ORGENTITY_ID="12345" 和成員元素同步 ORGENTITYNAME="Test Org" ORGENTITYTYPE="O" />
透過此方式,ID 解析程式處理 <isa> 子元素並建立一個同步化的識別碼。
![]() |