我正在尝试创建一个模式,其中元素的类型由父元素的值决定。特别是,我想要做的就是这个
<argument name="foo" type="float">5.6</argument>
其中应强制参数的值以符合浮点值。因此,value元素的类型是argument
元素的属性定义的类型。
现在,我找到了一个older post on the topic,其中指出这不能在XML-Schema 1.0中完成。
所以我的问题是; 是否有建议的替代方法?我能想到的最接近的是允许像
这样的东西<argument name="foo">
<float>5.6</float>
</argument>
让argument
包含type
类型的元素,然后让float
从type
派生。
答案 0 :(得分:2)
取决于“替代方式”的含义。您可以更改文档设计(例如使用xsi:type),可以使用不同的验证方法(例如RelaxNG或Schematron),也可以转到XSD 1.1。