XML Schema:具有属性和内容的复杂类型,具体取决于值

时间:2015-08-09 18:13:58

标签: xml xsd schema

我正在研究XML模式来定义文本的结构。我有下表:enter image description here

单位的输出(米或码)取决于之前的距离值。

有效的XML代码段将是:

<distance value=“30“>thirty</distance><unit>meters</unit>
<distance value=“20“>twenty</distance><unit>yards</unit>

因此,单位取决于距离值,距离元素文本必须代表距离属性中的值。

这怎么可以建模?

1 个答案:

答案 0 :(得分:1)

XSD 1.0通常不能基于元素值约束属性值。

XSD 1.1通常可以通过assertions基于元素值约束属性值,但不能将数字形式与数字形式的数字联系起来。 XSD 1.1 可以处理thirtyfourtyfifty使用meter单位的约束,而twenty和{{1使用sixty单位(尽管有这样一个例子的特殊性)。

Schematron可能用于使用XSLT强制执行单词形式和数字形式之间的关系;有关此类XSLT转换代码的示例,请参阅Number To Word Conversion Program using XSLT