0

我正在创建一个定义复杂类型的 XSD:

<xs:complexType name="TimeBasicComponents">
    <xs:sequence>
        <xs:element name="Hours" type="xs:int"></xs:element>
        <xs:element name="Minutes" type="xs:int"></xs:element>
        <xs:element name="Seconds" type="xs:int"></xs:element>
        <xs:element name="MilliSeconds" type="xs:int"></xs:element>
    </xs:sequence>
</xs:complexType>

我定义了另一种复杂类型:

<xs:complexType name="TimeOfDay">
    <xs:sequence>
        <xs:element name="BasicComponents" type="TimeBasicComponents"></xs:element>
        <xs:element name="Zone" type="xs:string"></xs:element>
    </xs:sequence>
</xs:complexType>

现在,我想要另一种复杂类型的持续时间。但是,实际上不需要为此定义另一个复杂类型,它将与“TimeBasicComponents”完全相同。所以,我想知道是否有办法在 XSD 中为单个复杂类型定义多个名称?

-桑迪普

4

1 回答 1

4

您是说您也想TimeBasicComponents用作持续时间吗?据我所知,您不能为 a 使用别名,但您可以使用以下构造complexType实现非常相似的效果:<xs:extension...

<xs:complexType name="TimeDuration">
    <xs:complexContent>
        <xs:extension base="TimeBasicComponents" />
    </xs:complexContent>
</xs:complexType>

这样,您将有效地拥有别名,而无需重新定义TimeBasicComponents复杂类型。

干杯,

于 2012-10-16T08:12:54.437 回答