wiki:SaxonWebService
Last modified 10 years ago Last modified on 03/19/08 15:49:53

Wix

Overview

The is designed to pre-load a single document into Saxon and then run queries on that document. It is a fairly straight forward design, but it does use quite a bit of memory (at least 5x the document size). Installation and usage details can be found at http://sig.biostr.washington.edu/projects/wix/ and the binary is at http://sig.biostr.washington.edu/projects/wix/wix.zip Several of the SIG WebServices are deployed with WIX or the original SOAP SaxonWebService.

History

Wix was written by Eider Moore and originally called the Saxon Web Service. The original Saxon Web Service supported SOAP as well as Servlet calls, but the SOAP code has been taken out of the latest release.

Bugs/Issues?

  1. It is a memory/garbage hog. See JavaHints
  2. Not all XQueries are supported because variables are currently added at the top of the query. This means that any of the 1st pragmas (namespace declarations and module imports) are unlikely to work.

Source Home

The source lives in SubVersion under source:SaxonWebService/trunk.

Required Libraries

  1. Saxon - we use the open source Saxon-B release

Example

From XQuery

let $q := 
"<results> 
{
for $p in $root/patient 
        return 
        <patient> 
                {$p/pnum} 
        </patient> 
}
</results>"

let $a := doc(concat("http://cuboid.biostr.washington.edu:8080/SaxonWebService/XQuerylet?query=", escape-uri($q)))
return 
<allpatients>
{$a}
</allpatients>