From: James F. <jam...@ex...> - 2010-05-03 07:50:16
|
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/ |