Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: Check two elements are not deep equal

From: "Michael Kay" <mike@--------.--->
To: "'Andrew Welch'" <andrew.j.welch@-----.--->, <xmlschema-dev@--.--->
Date: 11/28/2007 12:41:00 PM
In 1.1 - as implemented by Saxon 9.0 - you can do

<xs:assert test="not(deep-equal(old, new))"/>

But if it's as simple as this I think you can also do it in 1.0:

* define that both old and new exist in the usual way

* define at the update level

<xs:unique>
  <xs:selector xpath="*"/>
  <xs:field xpath="data1"/>
  <xs:field xpath="data2"/>
</xs:unique>

> -----Original Message-----
> From: xmlschema-dev-request@w... 
> [mailto:xmlschema-dev-request@w...] On Behalf Of Andrew Welch
> Sent: 28 November 2007 10:57
> To: xmlschema-dev@w...
> Subject: Check two elements are not deep equal
> 
> 
> Is it possible in XML Schema 1.0 to ensure two elements are 
> not deep equal - the equivalent of this XPath:
> 
> //update[not(deep-equal(old/*, new/*))]
> 
> for this structure:
> 
> <update>
>   <old>
>     <data1>some value</data1>
>     <data2>some other value</data2>
>   </old>
>   <new>
>     <data1>some value</data1>
>     <data2>some other value</data2>
>   </new>
> </update>
> 
> The <update> element should contain an <old> and a <new> with 
> at least one value different in the <new>... so in the 
> example the test should fail as the contents of both are the same.
> 
> 
> thanks
> andrew
> 


From andrew.j.welch@g... Wed Nov 28 12:57:15 2007
Received: from maggie.w3.org ([193.51.


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent