通过XSD限制XML属性内容
我有一些这样的XML:通过XSD限制XML属性内容,xml,xsd,types,Xml,Xsd,Types,我有一些这样的XML: <sometag datatype="xs:string" .../> <sometag datatype="xs:int" .../> 可以看到,属性“datatype”的内容应该引用基本的XML数据类型。目前,我正在使用一些自定义的simpleType,如下所示: <xs:simpleType name="contentDataType"> <xs:restriction base="xs:string">
<sometag datatype="xs:string" .../>
<sometag datatype="xs:int" .../>
可以看到,属性“datatype”的内容应该引用基本的XML数据类型。目前,我正在使用一些自定义的simpleType,如下所示:
<xs:simpleType name="contentDataType">
<xs:restriction base="xs:string">
<xs:enumeration value="string"/>
<xs:enumeration value="int"/>
<xs:enumeration value="boolean"/>
<xs:enumeration value="float"/>
</xs:restriction>
</xs:simpleType>
有没有办法通过XSD将内容限制为XML基本类型的名称?XML数据类型的名称本身并不是数据类型,因此枚举几乎是实现这一点的唯一方法—那一个或正则表达式。无论哪种方式,您都需要提供一个基于字符串的限制,该限制只允许值列表,或者提供一个过滤器,该过滤器只允许通过这些值。我选择枚举纯粹是为了克拉丽丝