From: James F. <jam...@ex...> - 2010-05-03 09:10:09
|
addenda: I removed calabash.jar and saxon9pe.jar from lib/user for now until we figure out how we want to deploy ... you will need to download and install these jars yourself to test for now. thx, J On 3 May 2010 09:27, James Fuller <jam...@ex...> wrote: > Hello, > > Just wanted to announce that we now have XML Calabash [1] integrated as an > extension with eXist. > > This allows us to use more sophisticated XProc processing whilst I build > eXist own XProc implementation (which I have a planned upcoming release). > > -------------------- > Dependencies > -------------------- > > * lib/user/calabash.jar - I have programmed extension so we should just > be able to 'drop in' latest version of XML Calabash > > * lib/user/saxon9pe.jar - needed as saxon is primary dep > > ------- > Build > ------- > > * edit your local.build.properties (or build.properties) > > include.module.xmlcalabash = true > > * rebuild eXist > > ---------- > Enable > ---------- > > * edit your conf.xml > > <module class="org.exist.xquery.modules.xmlcalabash.XMLCalabashModule" > uri="http://xmlcalabash.com" /> > > * restart eXist > > ---------- > Usage > ---------- > > * upload an XProc pipeline somewhere into eXist (ex. > /db/xmlcalabash/pipe.xml) > > <?xml version="1.0"?> > <p:declare-step version="1.0" xmlns:p="http://www.w3.org/ns/xproc"> > <p:input port="source"> > <p:inline><doc>Helloworld</doc></p:inline> > </p:input> > <p:output port="result"/> > <p:identity/> > </p:declare-step> > > > * invoke using xmlcalabash:process (in sandbox for example) > > let $result := > xmlcalabash:process("xmldb:exist:///db/xmlcalabash/pipe.xml","-") > return > $result > > ---------- > Status > ---------- > > Currently there are a few limitations with this extension > > * func signature will change soon to accept xml for pipeline, output, as > well as specify input/output/parameter ports and options ... for now its > primitive > > * function returns a string (which you can parse back into xml using eXist > function) ... need to stay this way for a little bit during testing, will > add smart serialization in a bit > > * p:xquery has no context with eXist ... this is a big limitation, but > there are several ways around this > > * use xmldb:exist type URI > > * no documentation, will probably add to existing XProc area > > I wanted to 'throw over the wall' the draft version of this extension so I > can get feedback now. > > thx, J > > [1] XML Calabash - http://xmlcalabash.com/ > |