Xml XSD属性限制和值
这似乎相当简单,但我还没有找到答案。我有一个同时使用属性和值的xml:Xml XSD属性限制和值,xml,enumeration,Xml,Enumeration,这似乎相当简单,但我还没有找到答案。我有一个同时使用属性和值的xml: <BusinessIdentifier businessIdentifierType="Customer Number">D123456788</BusinessIdentifier> D123456788 应根据架构验证以下内容: <xs:simpleType name="BusinessIdentifierTypes"> <xs:restriction base="x
<BusinessIdentifier businessIdentifierType="Customer Number">D123456788</BusinessIdentifier>
D123456788
应根据架构验证以下内容:
<xs:simpleType name="BusinessIdentifierTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="Plan Number"/>
<xs:enumeration value="Customer Number"/>
<xs:enumeration value="Scheme Number"/>
<xs:enumeration value="Agency Code"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="BusinessIdentifier">
<xs:complexType>
<xs:attribute name="businessIdentifierType" type="BusinessIdentifierTypes" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="BusinessIdentifier">
<xs:complexType>
<xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="businessIdentifierType" type="BusinessIdentifierTypes" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
我可以看到D123456789的值缺失了,但我不确定如何将其与属性放在同一个元素中。这看起来与我试图实现的类似,但在尝试使用xs:extension标记时出现了一个错误您需要将类型定义为“具有简单内容的复杂类型”。希望这能帮助您在您最喜欢的XML模式参考书中查找它。是的,谢谢,我通过在模式中使用以下内容修复了此问题:
<xs:simpleType name="BusinessIdentifierTypes">
<xs:restriction base="xs:string">
<xs:enumeration value="Plan Number"/>
<xs:enumeration value="Customer Number"/>
<xs:enumeration value="Scheme Number"/>
<xs:enumeration value="Agency Code"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="BusinessIdentifier">
<xs:complexType>
<xs:attribute name="businessIdentifierType" type="BusinessIdentifierTypes" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="BusinessIdentifier">
<xs:complexType>
<xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="businessIdentifierType" type="BusinessIdentifierTypes" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>