使用联合机制进行简单类型派生

使用联合机制从现有简单类型派生新的简单类型时,可根据所指定的类型列表,指定此属性或元素的值能够具有多种类型。 例如,您可以指定属性或元素值为日期、时间或日期/时间值。

有关使用联合机制派生新的简单类型的全面信息,请参阅 W3C 网站。 有关指向此网站和其他网站的各种链接,请参阅 Web 上的 XSD 资源

若要将简单类型派生为多个可能类型的联合,请在架构树中选择相关的 Field Element 节点或 Field Attribute 节点,然后在属性窗口中,从“基本数据类型”属性的下拉列表中选择一个简单类型。 为此属性选择值后, “派生者 ”属性会自动从其默认值更改为 “限制”,后者用作类型派生的默认值。 必须将 Derived By 属性从 Restriction 更改为 Union,这会导致 基数据类型 属性重命名为 成员类型 属性 (顺便说一句,重命名的属性将移动到属性列表中的不同位置,因为属性) 按字母顺序排序。

最后,可以使用“成员类型”下拉列表清单中的检查框来选择其他类型,以便在实例消息中允许相应的值。

首次将 Field Element 节点或 Field Attribute 节点从数据类型更改为具有基数据类型 (从而启动简单类型派生过程) ,然后将 Derived By 属性设置为 Union 时,可以在 XSD 视图中的相应片段中观察到以下更改。

  • 之前,使用名为 DatesAndOrTimes 的新插入的 Field 元素节点。

    <xs:element name="ContainingRecord">  
        <xs:complexType>  
            <xs:sequence>  
    
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    
    
  • 在将“基本数据类型”属性设置为 xs:date,并将“派生者”属性设置为 Union (之后,基数据类型属性将重命名为) 的成员类型属性,然后在“成员类型”下拉列表中选择“xs:datetime”和“xs:time”作为允许的其他类型。

    <xs:element name="ContainingRecord">  
        <xs:complexType>  
            <xs:sequence>  
    
            </xs:sequence>  
        </xs:complexType>  
    </xs:element>  
    
    

另请参阅

简单类型派生