2013-10-24 44 views
2

我正在開發一些xsd,它包含許多用ID標識共享主數據的標識符。 我不熱衷於只將這些識別爲positiveInteger,也不創建額外的間接級別,並且寧願定義我自己的類型,我只是簡單地重命名爲positiveInteger是否有可能重命名XSD中的基本類型

我的問題是,下列合法嗎?

<xs:complexType name="masterDataKey"> 
    <xs:simpleContent> 
     <xs:extension base="xs:positiveInteger" /> 
    </xs:simpleContent> 
</xs:complexType> 

如果不是,那麼我有什麼選擇。

乾杯, 達里爾

回答

1

嗯,你的例子不是一個簡單的更名。你已經創建了一個complexType類型,而xs:positiveInteger是一個simpleType類型,所以你不能將它用作屬性的類型(這很簡單)。

它可能更好地定義一個微不足道的限制:

<xs:simpleType name="masterDataKey"> 
    <xs:restriction base="xs:positiveInteger" /> 
</xs:simpleType> 

但即使是,那麼你需要知道你的類型不是XS一個簡單的別名:positiveInteger;例如,從positiveInteger派生的類型將不可替代masterDataKey。

+0

嗨邁克爾,非常感謝您的建議。 –

相關問題