XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Philip YoungSubject: Different XPath results when using builit-in XQuery and Saxon
Author: Philip Young
Date: 14 Jun 2007 10:21 AM
I use an XQuery to check for some error conditions in XML files that conform to the same schema. In the enclosed attachment you will see two XML files in the xml-error folder that I believe should produce error messages when the XQuery testerr.xql in the xql folder is applied.

I do get the expected errors when I use the built-in XQuery processor in Stylus Studio 2007 Enterprise R2 but if I switch to the Saxon processor the XQuery completes without errors.

Can you tell me what's going on here?
Thanks


Unknowntesterr.zip
zip file with test case

Postnext
Minollo I.Subject: Different XPath results when using builit-in XQuery and Saxon
Author: Minollo I.
Date: 14 Jun 2007 10:45 AM
I tried your XQuery using both built-in, Saxon and DataDirect XQuery; and they all reported the same error.

You may want to update your installation to the latest maintenance package, to make sure you are not experiencing a problem that has been fixed in the recent past (http://www.stylusstudio.com/update).

Postnext
Philip YoungSubject: Different XPath results when using builit-in XQuery and Saxon
Author: Philip Young
Date: 14 Jun 2007 11:38 AM
I think you need to try the other file in the xml-error folder, i.e. reader-GIS009.xml.

I'm attaching a screen shot of the (correct) error message I get when I use the built-in XQuery processor. Saxon XQuery runs without error, i.e. it sends two lines of text to stdout.

Phil


DocumentStylusexpectederror.doc
Screen shot of expected error message

Postnext
Philip YoungSubject: Different XPath results when using builit-in XQuery and Saxon
Author: Philip Young
Date: 14 Jun 2007 11:12 AM
I just upgraded to build 894i. Now both the built-in and Saxon XQuery processors correctly produce an error message for the test file readerList-GIS006.xml.

However, the built-in processor correctly flags reader-GIS009.xml but saxon does not. DataDirect complains about import-schema.

Postnext
Minollo I.Subject: Different XPath results when using builit-in XQuery and Saxon
Author: Minollo I.
Date: 14 Jun 2007 11:26 AM
DataDirect XQuery doesn't currently support schema import; so that error is expected.

I may be missing something in your description; what I see is:

Built-in error:
User-requested error: Error reconciling numberOfReaders and reader elements [gis:GIS006] [err:FOER0000]

URL: file:///c:/a1/testerr/xql/testerr.xql
Line:21
Col: 9


Saxon error:
Error: on line 21 of file:///c:/a1/testerr/xql/testerr.xql:

GIS006: Error reconciling numberOfReaders and reader elements


What exactly is the difference you are pointing out?

Postnext
Minollo I.Subject: Different XPath results when using builit-in XQuery and Saxon
Author: Minollo I.
Date: 14 Jun 2007 04:56 PM
Saxon is more aggressively optimizing your XQuery; as you do "if (empty(for ...", Saxon gets out of the loop as soon as it knows that the empty() function will return false, i.e. the first time the loop hits a good value.

This is a typical error in trying to use XQuery as a procedural language, rather than a purely functional one... You will need to adjust your XQuery to make sure it doesn't make assumptions on the way the XQuery is internally optimized; for example:


(for $rdr in $profile/gis:readerList/gis:reader
return
if ((xs:int($rdr/gis:numberMarksFront/@number) eq count($rdr/gis:readerMarkList/gis:readerMarkInfo[@loc-side = 'front']))
and (xs:int($rdr/gis:numberMarksBack/@number) eq count($rdr/gis:readerMarkList/gis:readerMarkInfo[@loc-side = 'back'])))
then ()
else error(xs:QName('gis:GIS009'), 'Mismatch between the number of marks and their locations')),
"Passed test reader-GIS009"

(: end of FLWOR "return" clause :)
)

Posttop
Philip YoungSubject: Different XPath results when using builit-in XQuery and Saxon
Author: Philip Young
Date: 14 Jun 2007 05:11 PM
Thank you very much for the prompt response. I'll take your advice and rework my queries.

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.