XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Schema based XML compare

Hi David,
   Here's a Xerces specific idea.

We could build two (for the two XML documents that are been compared)
PSVI annotated DOM trees, and then try to compare these two PSVI DOM
trees by doing a parallel node traversal (and flag an error on a first
difference).

If we see an API here for example
http://xerces.apache.org/xerces2-j/javadocs/xerces2/org/apache/xerces/dom/PSVIElementNSImpl.html,
the method "getSchemaValue()" seems to give us a schema typed value.

I haven't tried these APIs, but I feel the requirements mentioned in
your use-case can be met with such a design.

On Fri, Dec 24, 2010 at 6:09 PM, David Lee <dlee@calldei.com> wrote:
> Interesting ideas.
> What I have in mind is probably closer to deep-equal ... but could run on a non-schema aware processor.
> I happen to have  a StAX based compare program which runs in streaming mode and handles blankspace or not as a global option.
>
> I was thinking of "simply" keeping track of the XSTypeDefnition for each node as it encounters it and replace the current string-compare
> with a data type compare.
>
> I did not consider something like
>
> ================================
> the element sequence
> <x>hello</x>
>
> would be schema equivalent to
>
> <x>hello</x>
> <x>hello</x>
> <x>hello</x>
> ============================
>
> Which actually I don’t think follows ...
> If I went that far all you would have to do is validate the 2 documents against a schema and not bother comparing them.
>
> For my use cases I would NOT consider the above to be equivilent.
> By 'schema equivilent'   I mean the document *instances* are equivilent but the data comparison of text values uses schema type information
> so say a xs:double  "6.0"  == "6"   but not if it were an xs:string


>
> ----------------------------------------
> David A. Lee
> dlee@calldei.com
> http://www.xmlsh.org



-- 
Regards,
Mukul Gandhi


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS