我希望能够像这样创建 xml:
<Restaurant>
<Property Name="Bar" Value="true" Type="boolean"/>
<Property Name="Grill" Value="true" Type="boolean"/>
<Property Name="Capacity" Value="120" Type="integer"/>
<Property Name="Size" Value="200.5" Type="decimal" Unit="square meter"/>
</Restaurant>
所以我像这样创建了xsd:
<xs:complexType name="Restaurant">
<xs:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded"/>
</xs:element>
<xs:complexType name="Property">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Value" type="xs:anySimpleType" use="required"/>
<xs:attribute name="Type" type="xs:string" use="required"/>
<xs:attribute name="Unit" type="xs:string" use="optional"/>
</xs:complexType>
如何定义该属性“类型”只能是模式内置数据类型中的一种?我不想用所有可能的类型创建自己的枚举。通过这个,我想实现没有人能够写:
<Property Name="Capacity" Value="120" Type="myOwnIntType"/>