2009-11-26 31 views
0

我定義XML架構,看起來像這樣的文件:我可以將我的模式中的maxOccurs鏈接到目標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的值屬性相同。在段的maxOccurs屬性中,我嘗試了xpath /aitt:data/aitt:config/aitt:segmentcount[1]@value,但解析器告訴我,maxOccurs必須是非負int或unbounded

有沒有這樣做的把戲?

提前歡呼。

回答

1

有沒有(據我所知)的方式來做到這一點與XSD。您可能需要考慮使用Schematron規則來實現這種驗證。我已經成功地將Schematron規則存儲在我的模式的註釋元素中。

+0

到目前爲止,這兩個答案都是正確的,但我打算在schematron鏈接中打勾。感謝您的信息,夥計們。 – tenpn 2009-11-27 15:43:06

1

我不相信有一種方法可以以您期望的方式鏈接架構和數據。

相關問題