我可以将模式中的maxOccurs链接到目标xml文件中另一个属性的值吗?
我正在为一个文件定义一个xml模式,该文件如下所示:我可以将模式中的maxOccurs链接到目标xml文件中另一个属性的值吗?,xml,xpath,xsd,Xml,Xpath,Xsd,我正在为一个文件定义一个xml模式,该文件如下所示: <data> <config><segmentcount value="10"/></config> <foos> <foo> <segments> <segment data="X"/> <segment data="X"
<data>
<config><segmentcount value="10"/></config>
<foos>
<foo>
<segments>
<segment data="X"/>
<segment data="X"/>
<segment data="X"/>
<segment data="X"/>
<segment data="X"/>
</segments>
</foo>
<foo>
<segments>
...
...
我已经为一般结构做了一个模式。但是,我想强制要求分段中分段元素的数量始终与分段计数的value属性相同。在segments的maxOccurs属性中,我尝试了xpath/aitt:data/aitt:config/aitt:segmentcount[1]@value
,但解析器告诉我maxOccurs必须是非负int或无界的
这有什么诀窍吗
提前干杯。我不相信有办法以您所希望的方式链接模式和数据。就我所知,没有办法用XSD实现这一点。您可能需要考虑使用规则来实现这种验证。我已经成功地将Schematron规则存储在模式的注释元素中。到目前为止,这两个答案都是正确的,但我将为Schematron链接勾选这一个。谢谢你们的信息,伙计们。