大家好我有一个带有这种结构的简单XML文件
... ...
<Fields>
<Field name="MainJob.Id" value="t066_id">
<Description nullable="false" type="System.Int32" />
</Field>
我实际上是这个XSD文件描述:
<xs:element minOccurs="0" maxOccurs="unbounded" name="Fields">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Field">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Description">
<xs:complexType>
<xs:attribute name="nullable" type="xs:string" use="required" /> <xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="minLength" type="xs:string" use="optional" />
<xs:attribute name="maxLength" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="value" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
如何为属性nullable定义两个唯一可用的值,如'true'和'false'? 如果我在属性中嵌入SimpleType,则.XSD文件不再有效。 谢谢
答案 0 :(得分:1)
对于您的示例,类型不应该是xs:string
而是xs:boolean
,或者您可以使用enumeration(example)。
答案 1 :(得分:0)
您可以像这样添加一个simpleType:
<xs:simpleType name="TrueOrFalse">
<xs:restriction base="xs:string">
<xs:enumeration value="false"/>
<xs:enumeration value="true"/>
</xs:restriction>
</xs:simpleType>
然后将您的nullable更改为:
<xs:attribute name="nullable" type="TrueOrFalse" use="required" />
马克