1
元素值I要基于一个属性的值,以限制一个元素的类型,如下所示:限制基于属性
<数据类型=“小数” > 44.00 < /数据>
<数据类型= “日期” > 2008-02-01 < /数据>
灿Schema被定义为这样吗?
元素值I要基于一个属性的值,以限制一个元素的类型,如下所示:限制基于属性
<数据类型=“小数” > 44.00 < /数据>
<数据类型= “日期” > 2008-02-01 < /数据>
灿Schema被定义为这样吗?
这是一个众所周知的事实是,XML-Schema不能做到这一点,基于其他元素的元素
验证被视为不明确,所以不可能。但是,如果你愿意,你可以验证两种类型的数据类型,忽略条件验证,如下所示:
定义一个带有自定义名称的新数据类型,然后复制粘贴下面写的模式。
<xs:simpleType name="new_type">
<xs:restriction base="xs:string">
<xs:pattern value="(([0-9]+)[.]([0-9]+))|(([0][1-9]|[1][0-2])/([0][1-9]|[1-2][0-9]|[3][0-1])/[1-2][0-9][0-9][0-9])"/>
</xs:restriction>
</xs:simpleType>
这将接受型小数或日期的数据,但你不能与属性值进行验证,
的替代解决方案是使用Schematron的,但你也不会这么方便和用户对于XSD和XSLT来说,这是一款友好的工具。