共用方式為


使用範本定義數據類型

所有數據類型,無論是基本類型還是複合類型,都必須使用範本來定義。 定義數據類型之後,任何屬性範本都可以使用 *ValueType 指示詞,將其值宣告為特定數據類型。 這個指示詞的值是數據類型範本的名稱。

當剖析器篩選遇到屬於屬性實例的 GDL 資料項時,它會嘗試根據針對該數據類型定義的語法規則來剖析該專案的值部分。 如果成功,剖析器篩選會將數據類型分解為其基本 XML 對等數據類型,並在適當的 XML 中輸出這些值。 產生的 XML,表示複合數據類型會保留原始資料類型定義的邏輯結構。 複合數據類型的子專案是指定名稱,這些名稱是由數據類型範本中定義的標記所定義。 此命名可讓 XML 快照集的人類讀取器或軟體用戶端輕鬆地找出及識別複合數據類型中的每個值。

藉由設定 *Type: DATATYPE 指示詞,將範本指定為數據類型範本(其中一個定義數據類型)。 在資料類型範本內辨識的指示詞如下:

*ValueType: [Datatype 範本名稱]。 這個指示詞會將屬性的值宣告為特定數據類型。 *ValueType 指示詞只能出現在屬性範本內。 (屬性範本是具有 *Type: ATTRIBUTE 指示詞的範本)。

*DataType:符號。 此指示詞具有下列其中一個值:PASSTHROUGH、XML_TYPE、XSD_DEFINED、ENUMERATOR、FILTER_TYPE、ARRAY、COMPOSITE 或 MULTIPLE_PERSONALITY。

*ElementType:list。 這個指示詞會定義 TEMPLATE 資料類型名稱的清單。

*RequiredDelimiter:分隔符。 這個指示詞會使用引號字串來定義分隔符。

*OptionalDelimiter:分隔符。 這個指示詞會使用引號字串來定義選擇性分隔符。

*ArrayLabel:符號。 此指示詞會定義具有引號字串的陣列標籤。

*ElementTags:list。 此指示詞會定義要用於項目標記的符號清單。

*EnumeratorList:list。 這個指示詞會定義要用於列舉值清單的符號清單。

*XSDTypeDefinition:符號。 這個指示詞會定義以 Begin/EndValue> 元素括住<的任意值,以用於 XSD 類型定義。

*ComplexType?: boolean。 這個指示詞會定義類型是否複雜。 如果值為 TRUE,則此類型很複雜,否則類型為簡單。

*ArraySize:整數。 這個指示詞會定義數位的範圍。 您可以使用最多兩個整數來指定數位範圍。

*XMLDataType:string。 這個指示詞會使用引號字串定義 XML 數據類型。

FilterTypeName:string。 這個指示詞會使用引號字串來定義篩選類型名稱。

*MaxValue:整數。 這個指示詞會使用 GDL 整數來定義值的大小上限。

*MinLength:integer。 這個指示詞會使用非負值 GDL 整數來定義值的最小長度。

*MaxLength: 整數。 這個指示詞會使用非負值 GDL 整數來定義值的最大長度。

注意 並非所有指示詞都會在所有數據類型範本內辨識。

一般而言,如果沒有任何範本可以系結至 GDL 屬性專案,該屬性的值將會在快照中發出,而不會在 CDATA 區段中進行任何變更。 CDATA 應作為 ATTRIBUTE 元素的項目內容(也就是子元素)。

例如,假設剖析器找不到描述下列 GDL 屬性專案的範本。

*ModelName: "OEMName LaserJet "

然後,專案會出現在快照中,如下所示。

    <GDL_ATTRIBUTE Name="*ModelName" 
        <![CDATA["OEMName LaserJet "]]></GDL_ATTRIBUTE>