<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV>Thanks, that clear up my confusion.</DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><FONT face=Tahoma size=2>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> Michael Kay &lt;mike@saxonica.com&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> Roger Holmes &lt;roger.holmes76@yahoo.co.uk&gt;; talk@x-query.com<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Saturday, 25 October, 2008 17:10:39<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> RE: [xquery-talk] Saxon-SA versus Xalan<BR></FONT><BR>
<STYLE type=text/css>DIV {
MARGIN:0px;}
</STYLE>

<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2>Are you talking XQuery or XSLT? Because Xalan is an XSLT processor, and this is an XQuery list. (Saxon does both XSLT and XQuery).</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2>You can of course run schema validation prior to transformation using a schema processor that is entirely separate from the XSLT or XQuery engine. (You can can then choose any schema validator, including Saxon-SA or Xerces, and any transformation engine, including Saxon-B or Xalan). But this isn't the same as running a schema-aware transformation or query. When you run a schema-aware transformation or query, as well as ensuring that the input document is valid against the schema, you also get additional benefits:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2>* compile-time checking of the query or transformation code against the schema</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2>* optimization of the query or transformation to take advantage of schema knowledge</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2>* polymorphic operations based on schema-defined types, for example sorting dates as dates and numbers as numbers.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2>Michael Kay</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2><A href="http://www.saxonica.com/" target=_blank rel=nofollow>http://www.saxonica.com/</A></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=052280016-25102008><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><BR>
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> talk-bounces@x-query.com [mailto:talk-bounces@x-query.com] <B>On Behalf Of </B>Roger Holmes<BR><B>Sent:</B> 25 October 2008 16:02<BR><B>To:</B> talk@x-query.com<BR><B>Subject:</B> [xquery-talk] Saxon-SA versus Xalan<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">
<DIV>
<DIV>Hi, I am in the early stages of working with Saxon-B but was wondering as to the added benefits of Saxon-SA's transformation with schema validation versus Xalan&nbsp;with Xerces.&nbsp;</DIV>
<DIV>My understanding is that Xalan provides support for Xerces to do XML transformation and schema validation. </DIV>
<DIV>&nbsp;</DIV>
<DIV>My understanding also is that Saxon ultimately expands an Xquery string does its conversion and at some stage hold its resultSet as XML nodes.. Can these XML nodes prior to output&nbsp;by Saxon-B be transformed and validated via Xalan and Xerces ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>I&nbsp; think&nbsp;I've answered my own question in a way, is&nbsp;the flaw in my logic that validation with Xalan will only happen after a successful / unsuccessful output of XML nodes whereas Saxon does it on the route to generating XML ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>OR is the difference that the Saxon implementation simply offers far better performance to make Xalan a consideration ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks,</DIV>
<DIV>Roger</DIV></DIV></DIV><BR></BLOCKQUOTE></DIV></DIV></div><br>



      </body></html>