我正在为一个看起来像这样的文件定义一个xml架构:
<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>
...
我已经为一般结构制定了一个模式。但是,我想强制分段中的段元素数始终与segmentcount的value属性相同。在段的maxOccurs属性中,我尝试了xpath /aitt:data/aitt:config/aitt:segmentcount[1]@value
,但解析器告诉我,maxOccurs必须是非负int或unbounded
。
这样做有诀窍吗?
提前干杯。
答案 0 :(得分:1)
我认为没有办法以你想要的方式链接架构和数据。
答案 1 :(得分:1)
目前还没有(据我所知)使用XSD执行此操作的方法。您可能需要考虑使用Schematron规则来实现此类验证。我已经成功地将Schematron规则存储在我的模式的注释元素中。