[Xsltforms-support] Using plain XForms with XSLTForms into eXist-db
Brought to you by:
alain-couthures
From: William V. <wve...@vi...> - 2013-10-18 20:48:03
|
Hi Lists, This was reported previously by Ingrid Falk in the XSLTForms-support list, with no satisfactory solution then: http://sourceforge.net/p/xsltforms/mailman/message/30743626/ When you create a XForms as an XML document (not an XQuery) stored in an eXist-db collection, you cannot simply access it by its URL. You get this message when executing the XSLT transformation on the server: --------------- HTTP ERROR 400 Problem accessing /exist/rest/db/sandbox/repeat.xml. Reason: Error while serializing XML: java.io.FileNotFoundException: C:\bin\eXist-db\config.xsl (El sistema no puede encontrar el archivo especificado) Powered by Jetty:// ---------------- Aprox. translation for "El sistema no puede encontrar el archivo especificado" is "System can't find the specified file" in Windows, or "Not such file or directory" in Linux I must admit that I solved it copying CONFIG.XSL from the XSTForms directory to the $EXIST_HOME path on the server. Today I discovered than changing from Saxon to Xalan as XSLT engine, the transformation works fine again. By default, eXist-db 2.0 comes with the following configuration in conf.xml: <transformer class="net.sf.saxon.TransformerFactoryImpl"> If you change to: <transformer class=" org.apache.xalan.processor.TransformerFactoryImpl"> XForms with XSLTForms server side work fine again. The problem also affects XForms with external css stylesheets using <link rel= .... element. Saxon fails to do the transformation with the same error above. I think the problem is to due to Saxon being unable to resolve relative URLs in XSLT stylesheets to the proper document inside eXist-db collections. For people trying to use XSLTForms into eXist-db is a good idea to switch to Xalan instead of Saxon, until somebody suggest a solution. Regards, - BIll |