2015-10-20 40 views
2

比方說,我們有這個簡單的XML文檔:XML模式可以強制實現值之間的依賴關係嗎?

<A> 
    <B value ="x"> 
    <C value ="y"> 
</A> 

是它在某種程度上可以限制「值」(在DTD和/或架構),一旦我選擇了XML數據中的東西X,值y變成相同。

例如: 我寫<B value ="water">所以<C value ="">變成自作用到<C value ="water">

回答

0

XML模式(DTD的,的XSD,Schematron的,等等)定義有效的XML文檔的。他們沒有實現關係,一個價值的變化會導致另一個價值的變化。

所以,你可以使用XML架構的說,BC元素之間的value屬性必須是平等的,但是這是不是導致他們相等的不同。驗證會報告您的約束是否被滿足 - 一個布爾結果,以及一些描述違反約束的診斷消息。要根據文檔中其他位置的其他更改來更改XML文檔,您需要對其進行編程。

最後一點:DTD和XSD 1.0不能強制使得跨越元件跨越有效性約束;但是,XSD 1.1或Schematron可以使用基於XPath的斷言。

+1

正是我想要知道的 - 完美的解釋。 謝謝你的幫助。 –