You can subscribe to this list here.
| 2010 |
Jan
|
Feb
|
Mar
(16) |
Apr
(14) |
May
(28) |
Jun
(74) |
Jul
(50) |
Aug
(179) |
Sep
(116) |
Oct
(54) |
Nov
(32) |
Dec
(17) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2011 |
Jan
(41) |
Feb
(20) |
Mar
(16) |
Apr
(90) |
May
(71) |
Jun
(70) |
Jul
(93) |
Aug
(62) |
Sep
(66) |
Oct
(124) |
Nov
(116) |
Dec
(66) |
| 2012 |
Jan
(51) |
Feb
(24) |
Mar
(25) |
Apr
(41) |
May
(33) |
Jun
(43) |
Jul
(48) |
Aug
(58) |
Sep
(53) |
Oct
(16) |
Nov
(21) |
Dec
(31) |
| 2013 |
Jan
(44) |
Feb
(83) |
Mar
(12) |
Apr
(22) |
May
(25) |
Jun
(3) |
Jul
(11) |
Aug
(19) |
Sep
(23) |
Oct
(30) |
Nov
(69) |
Dec
(27) |
| 2014 |
Jan
(52) |
Feb
(24) |
Mar
(6) |
Apr
(3) |
May
(6) |
Jun
(3) |
Jul
|
Aug
|
Sep
(3) |
Oct
(7) |
Nov
(6) |
Dec
(1) |
| 2015 |
Jan
(4) |
Feb
(1) |
Mar
(3) |
Apr
|
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(3) |
| 2016 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
(1) |
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: peter w. <p....@in...> - 2017-04-03 20:13:51
|
Dear List Members I am running betterFORM 5.0rc10 - buildNumber:12242 - Timestamp:2014-09-18 12:06:44 using exist-db version 2.2 using the service wrapper I have setup the service wrapper to include the system property http.nonProxyHosts and exist-db reports this correctly using util:system-property() However, the setting it not honoured by either httpclient or betterform. all traffic goes through the web proxy. Can anyone please provide advice or an illustration of a working setup to divert http and betterform calls to resources within the proxy firewall? Many thanks Peter |
|
From: <p_j...@vo...> - 2016-12-27 22:57:37
|
In case it helps anyone, it's meant to be like that. The control is a select1, and so it only sends a 'changed' event if the user clicks elsewhere. To make it react immediately like other input controls, it needs incremental="true". ______________________________________________________________ > Od: <p_j...@vo...> > Komu: <bet...@li...> > Datum: 20.11.2016 23:45 > Předmět: Changed values not being reflected immediately in other controls (in betterform since eXist 2.0, with Firefox) > > >Hi, > >In eXist 2.0 and higher, I have noticed that any UI control that depends on a changed value in another control does not update immediately to reflect the change. The user must for example click on some arbitrary UI control, which seems to force a refresh. With eXist 1.4, dependent UI items used to update immediately. I use Firefox (currently 49.0.2) on Linux. > >To check it's not just my code, I used this: >https://en.wikibooks.org/wiki/XForms/Dynamic_Selection_Lists > >Is this what is meant to happen? Maybe it's just Firefox - I haven't seen anyone else complain about it. > >Thanks! > >Paul > > |
|
From: <p_j...@vo...> - 2016-11-20 22:46:06
|
Hi, In eXist 2.0 and higher, I have noticed that any UI control that depends on a changed value in another control does not update immediately to reflect the change. The user must for example click on some arbitrary UI control, which seems to force a refresh. With eXist 1.4, dependent UI items used to update immediately. I use Firefox (currently 49.0.2) on Linux. To check it's not just my code, I used this: https://en.wikibooks.org/wiki/XForms/Dynamic_Selection_Lists Is this what is meant to happen? Maybe it's just Firefox - I haven't seen anyone else complain about it. Thanks! Paul |
|
From: Henrik F. <fr...@gm...> - 2016-08-10 07:43:51
|
Hi all,
I'm new to the list and new to betterform som please excuse me if I miss
something obvious here.
I have a subform whose instance is created dynamically through a XQuery
script. Is there a convenient way to pass arguments from the main form to
the subform through an xquery? I've tried a number of ways without success.
If I use the tutorial address example there is the line:
<xf:submission id="load-contact" resource="context:address" method="post"
ref="address[index('addresses')]" replace="none"/>
where I would like to get access to the ref in the xquery that is loaded as
a result of this submisssion returning.
I suspect that context:address could be useful but I have not been able to
find this documented (in a way that I understand it ;))
thanks for any helt!
/Henrik
|
|
From: Rik v. d. E. <R.E...@ib...> - 2016-06-16 14:58:57
|
Hi Joern, Thanks for your help, that did the trick. Cheers, Rik -----Original Message----- From: Joern Turner [mailto:joe...@be...] Sent: 15 June 2016 09:31 To: bet...@li... Subject: Re: [Betterform-users] How to stop betterform from indenting the output Hi Rik, unfortunately you cannot configure this from the outside. If you're working with a packaged version of betterFORM you would need to unpack the jar, look for the 'resources/xslt' path and set the xsl:output in xhtml.xsl to indent="no". Afterwards package (zip) the whole thing again. Not 100% sure if that will do the trick but at least a good chance ;) Joern Am 27.05.16 um 14:07 schrieb Rik van den Eijnden: > Hi, > > > I am using Betterform XRX in combination with existdb 2.1. Is there a way to stop it from indenting the output? > > I have set the serializing options of my transformations and xqueries to indent=no. If I disable the XFormsFilter in web.xml the output XHTML is not indented. With the enabled filter everything comes out prettyprinted, which is not what I want. > > > Thanks, > Rik > > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381 _______________________________________________ Betterform-users mailing list Bet...@li... https://lists.sourceforge.net/lists/listinfo/betterform-users |
|
From: <bil...@ar...> - 2016-06-15 10:45:11
|
Hi Joern, Good to hear from you... but I'm not Rik! Best, Bill On 2016-06-15 08:31, Joern Turner wrote: > Hi Rik, > > unfortunately you cannot configure this from the outside. If you're > working with a packaged version of betterFORM you would need to unpack > the jar, look for the 'resources/xslt' path and set the xsl:output in > xhtml.xsl to indent="no". Afterwards package (zip) the whole thing > again. > > Not 100% sure if that will do the trick but at least a good chance ;) > > Joern > > Am 27.05.16 um 14:07 schrieb Rik van den Eijnden: >> Hi, >> >> >> I am using Betterform XRX in combination with existdb 2.1. Is there a >> way to stop it from indenting the output? >> >> I have set the serializing options of my transformations and xqueries >> to indent=no. If I disable the XFormsFilter in web.xml the output >> XHTML is not indented. With the enabled filter everything comes out >> prettyprinted, which is not what I want. >> >> >> Thanks, >> Rik >> >> >> >> ------------------------------------------------------------------------------ >> What NetFlow Analyzer can do for you? Monitors network bandwidth and >> traffic >> patterns at an interface-level. Reveals which users, apps, and >> protocols are >> consuming the most bandwidth. Provides multi-vendor support for >> NetFlow, >> J-Flow, sFlow and other flows. Make informed decisions using capacity >> planning reports. >> https://ad.doubleclick.net/ddm/clk/305295220;132659582;e >> _______________________________________________ >> Betterform-users mailing list >> Bet...@li... >> https://lists.sourceforge.net/lists/listinfo/betterform-users >> > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and > traffic > patterns at an interface-level. Reveals which users, apps, and > protocols are > consuming the most bandwidth. Provides multi-vendor support for > NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning > reports. > http://pubads.g.doubleclick.net/gampad/clk?id=1444514421&iu=/41014381 > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users |
|
From: Joern T. <joe...@be...> - 2016-06-15 07:51:40
|
Hi Rik, unfortunately you cannot configure this from the outside. If you're working with a packaged version of betterFORM you would need to unpack the jar, look for the 'resources/xslt' path and set the xsl:output in xhtml.xsl to indent="no". Afterwards package (zip) the whole thing again. Not 100% sure if that will do the trick but at least a good chance ;) Joern Am 27.05.16 um 14:07 schrieb Rik van den Eijnden: > Hi, > > > I am using Betterform XRX in combination with existdb 2.1. Is there a way to stop it from indenting the output? > > I have set the serializing options of my transformations and xqueries to indent=no. If I disable the XFormsFilter in web.xml the output XHTML is not indented. With the enabled filter everything comes out prettyprinted, which is not what I want. > > > Thanks, > Rik > > > > ------------------------------------------------------------------------------ > What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic > patterns at an interface-level. Reveals which users, apps, and protocols are > consuming the most bandwidth. Provides multi-vendor support for NetFlow, > J-Flow, sFlow and other flows. Make informed decisions using capacity > planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > |
|
From: Rik v. d. E. <R.E...@ib...> - 2016-05-27 12:08:01
|
Hi, I am using Betterform XRX in combination with existdb 2.1. Is there a way to stop it from indenting the output? I have set the serializing options of my transformations and xqueries to indent=no. If I disable the XFormsFilter in web.xml the output XHTML is not indented. With the enabled filter everything comes out prettyprinted, which is not what I want. Thanks, Rik |
|
From: Thomason, D. B <dth...@ut...> - 2016-02-17 16:06:01
|
I posted this to the exist-open mailing list last week, thinking that the integration of eXist and BF might catch a comment from someone who has seen the issue before. Nothing thus far. An app built entirely in eXist (v2.2) makes extensive use of the BF xf:load show=“embed” extension, with the corresponding show=“none” to unload. The issue is that binding to data of type xs:date in order to show the clickable calendar causes the embedded form to unload only to the point of unloading the calendar, with bfRelease.js throwing a TypeError. A test case is below. 1. Any ideas to fix the issue? 2. Are there plans to incorporate newer Xforms recommendations for embed/unload? Many thanks, Don Form page: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events"xmlns:xf="http://www.w3.org/2002/xforms"> <head> <title>Calendar subform test</title> </head> <body> <div style="display:none"> <xf:model id="m-master"> <xf:instance xmlns="" id="testCalendar"> <data> <date1>2016-01-01</date1> <date2>2016-01-02</date2> <text>Lorum ipsum</text> </data> </xf:instance> <xf:submission id="s-load-dates" ref="/" resource="context:testCalendar" method="post" replace="none"> <xf:action ev:event="xforms-submit-error"> <xf:message>Submit Error! Resource-uri: <xf:output value="event('resource-uri')"/> Response-reason-phrase: <xf:output value="event('response-reason-phrase')"/> </xf:message> </xf:action> </xf:submission> </xf:model> </div> <!-- end of model description --> <h2>Test dates</h2> <xf:group appearance="minimal" id="meetsInfo"> <!-- subform sends an event trigger to unload the subform --> <xf:action ev:event="unload-subforms"> <xf:message level="ephemeral">unloading subform...</xf:message> <xf:load show="none" targetid="datesData"/> </xf:action> <xf:group ref="instance('testCalendar')"> <div class="dataBlock"> <span class="heading">Date #1: </span> <span class="data"> <xf:output ref="date1"/> </span> </div> <div class="dataBlock"> <span class="heading">Date #2: </span> <span class="data"> <xf:output ref="date2"/> </span> </div> <div class="dataBlock"> <span class="heading">Text: </span> <span class="data"> <xf:output ref="text"/> </span> </div> </xf:group> </xf:group> <xf:group appearance="minimal" class="subformTriggerGroup"> <xf:trigger class="subformSubTrigger activateEditSubform"> <xf:label>edit dates</xf:label> <xf:hint>This button will push the dates into the subform.</xf:hint> <xf:action> <xf:message level="ephemeral">loading subform...</xf:message> <xf:send submission="s-load-dates"/> <xf:load show="embed" targetid="datesData"> <xf:resource value="'./subform_calendarSubform.xml'"/> </xf:load> </xf:action> </xf:trigger> </xf:group> <xf:group appearance="full" class="subformFullGroup"> <div class="editSubForm"> <div id="datesData"/> </div> </xf:group> </body> </html> Embedded code: <div xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events"xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xf="http://www.w3.org/2002/xforms"> <!-- to cancel automatic revalidation, use the ev:defaultAction="cancel" attribute in model --> <xf:model id="m-subform" ev:event="xforms-revalidate" ev:defaultAction="cancel"> <xf:instance id="default"> <data xmlns=""> <date1>1970-01-01</date1> <date2>1970-01-01</date2> <text/> </data> </xf:instance> <xf:bind id="b-date1" nodeset="date1"/> <xf:bind id="b-date2" nodeset="date2" type="xs:date”/> <!—#### this causes the error ####—> <xf:bind id="b-text" nodeset="text"/> <!-- get the data from model named 'm-master' and the particular instance in that model, replacing the current instance --> <xf:submission id="s-load-from-master" resource="model:m-master#instance('testCalendar')/data"replace="instance" method="get"> <xf:message ev:event="xforms-submit-done" level="ephemeral">Subform has updated itself.</xf:message> <xf:action ev:event="xforms-submit-error"> <xf:message> Error loading subform from master! Resource-uri: <xf:output value="event('resource-uri')"/> Response-reason-phrase: <xf:output value="event('error-type')"/> </xf:message> </xf:action> </xf:submission> <!-- post the data and trigger the 'xforms-submit-done' action --> <xf:submission id="s-update-master" resource="model:m-master#instance('testCalendar')/data" replace="none"method="post"> <xf:action ev:event="xforms-submit-done"> <xf:message level="ephemeral">Subform has updated Master.</xf:message> <!-- Send an event trigger to take action in the main form. targetid is the xforms element that receives the event. --> <xf:dispatch name="unload-subforms" targetid="meetsInfo"/> </xf:action> <xf:action ev:event="xforms-submit-error"> <xf:message> Error saving subform data! Resource-uri: <xf:output value="event('resource-uri')"/> Response-reason-phrase: <xf:output value="event('error-type')"/> </xf:message> </xf:action> </xf:submission> <!-- don't load data until the form is ready --> <xf:send ev:event="xforms-ready" submission="s-load-from-master"/> </xf:model> <xf:group appearance="full" id="meetsSubform"> <h3>Data to update</h3> <xf:input id="date1Input" bind="b-date1"/> <xf:input id="date2Input” bind=“b-date2"/> <xf:input id="textInput" bind="b-text"/> <xf:trigger> <xf:label>update data</xf:label> <xf:hint>This button will update the information above with the data from the subform</xf:hint> <xf:send submission="s-update-master"/> </xf:trigger> </xf:group> </div> |
|
From: Joern T. <joe...@be...> - 2016-01-06 10:36:20
|
Am 20.12.15 um 00:03 schrieb Flament, Eric: > I've been working all day on this and am hoping you can give me some insight. I've posted the question to StackOverflow too http://stackoverflow.com/questions/34376086/xforms-cancel-event because its incredible to me how few examples there are of how to sequence or cancel default actions. But I figured its good to ask you as well in case there is some Betterform specific thing going on. Not only can I not get an event to cancel, I can't figure out how to interact with a betterform event at all. I wanted to cancel the index change and instead increment the start and stop variables that I have defining the nodeset of the repeat element. This doesn't cancel the event or fire: > > <xf:model id="master"> > > <xf:instance xmlns="" id="vars"> > > <vars><start>1</start></vars> > > </xf:instance> > > <xf:action ev:event="betterform-index-changed" ev:eventTarget="repeat" ev:defaultAction="cancel"> > <xf:setvalue ref="instance('vars')/start" value=". + 1"/> > </xf:action> > </xf:model> The betterform-index-changed event is not cancelable i fear as it's used to do the 'housekeeping' on the client. For the pure XForms events you can see which events are cancelable and which not - http://www.w3.org/MarkUp/Forms/2010/xforms11-qr.html#Event Joern > > The event shows up in the debug panel and the targetId shows 'repeat'. > > -Eric > > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > |
|
From: Flament, E. <er...@my...> - 2015-12-20 23:46:44
|
Here is an example: <div xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms" data-template="templates:surround" data-template-with="/Main/templates/page.html" data-template-at="content"> <xf:model id="mdlMyModel"> <xf:instance xmlns="" id="vars"> <data> <a>2</a> <b>3</b> </data> </xf:instance> </xf:model> <xf:trigger> <xf:label>?</xf:label> <xf:setvalue ref="b" value=". + 1"/> </xf:trigger> <xf:output ref="b"/> <xf:output ref="a"/> <xf:input ref="a"> <xf:message level="ephemeral" ev:event="DOMFocusOut">Test.</xf:message> <xf:setvalue ref="." value="100" ev:event="DOMActivate"/> </xf:input> </div> DomFocusOut works, but pressing enter causes b to increment rather than causing a to equal 100. I noticed this behavior before before I tested it in XSLTForms and saw the correct behavior. This was about a month ago and I posted to stackoverflow: http://stackoverflow.com/questions/33852178/xforms-trigger-being-activated-by-another-input-element I can live without it, but pressing enter on an input certainly should work. It appears I am not the only one with this problem: http://sourceforge.net/p/betterform/mailman/message/28021850/. Perhaps there is a problem with my installation? -Eric Flament |
|
From: Flament, E. <er...@my...> - 2015-12-19 23:18:36
|
I've been working all day on this and am hoping you can give me some insight. I've posted the question to StackOverflow too http://stackoverflow.com/questions/34376086/xforms-cancel-event because its incredible to me how few examples there are of how to sequence or cancel default actions. But I figured its good to ask you as well in case there is some Betterform specific thing going on. Not only can I not get an event to cancel, I can't figure out how to interact with a betterform event at all. I wanted to cancel the index change and instead increment the start and stop variables that I have defining the nodeset of the repeat element. This doesn't cancel the event or fire: <xf:model id="master"> <xf:instance xmlns="" id="vars"> <vars><start>1</start></vars> </xf:instance> <xf:action ev:event="betterform-index-changed" ev:eventTarget="repeat" ev:defaultAction="cancel"> <xf:setvalue ref="instance('vars')/start" value=". + 1"/> </xf:action> </xf:model> The event shows up in the debug panel and the targetId shows 'repeat'. -Eric |
|
From: <ai...@un...> - 2015-12-03 15:52:30
|
until 2014 the session timeout was controlled by ehcache.xml in WEB-INF/classes. Now infinispan is the ruler. The docs are overwhelming, but how can I simply adjust the session timeout? regards Peter |
|
From: Joern T. <joe...@be...> - 2015-09-22 07:57:59
|
Hi Daniel, Am 18.09.15 um 17:36 schrieb Schopper, Daniel: > Hi all, > A have simple Xform call even simpler xql script (see below) on xforms-ready via the betterFORM exist connector, which ends up in the following error. > This works like expected on the master branch. Anything I can do about it? i fear not for the moment. We'll have to investigate what happened there. There were some API changes in core eXistdb with 3.x that needed some adaptions in betterFORM. However i thought these have been applied so we need to have another look. We'll sort that out for the next release. Thanks for the message. Joern > Best, > Daniel > HTTP ERROR 500 > Problem accessing /exist/apps/test/echo.html. Reason: > Server Error > Caused by: > java.lang.NoSuchMethodError: org.exist.storage.DBBroker.getXQueryService()Lorg/exist/xquery/XQuery; > at de.betterform.connector.exist.ExistUtil$2.onXQuery(ExistUtil.java:148) > at de.betterform.connector.exist.ExistUtil$2.onXQuery(ExistUtil.java:143) > at de.betterform.connector.exist.ExistResourceTypeCallback.execute(ExistResourceTypeCallback.java:28) > at de.betterform.connector.exist.ExistClient.execute(ExistClient.java:54) > at de.betterform.connector.exist.ExistUtil.executeXQuery(ExistUtil.java:143) > at de.betterform.connector.exist.ExistSubmissionHandler.doExecute(ExistSubmissionHandler.java:103) > at de.betterform.connector.exist.ExistSubmissionHandler.submit(ExistSubmissionHandler.java:83) > at de.betterform.xml.xforms.model.submission.Submission.submit(Submission.java:624) > at de.betterform.xml.xforms.model.submission.Submission.performDefault(Submission.java:532) > at de.betterform.xml.events.impl.DefaultXMLEventService.dispatch(DefaultXMLEventService.java:196) > at de.betterform.xml.xforms.Container.dispatch(Container.java:441) > at de.betterform.xml.xforms.Container.dispatch(Container.java:419) > at de.betterform.xml.xforms.action.SendAction.perform(SendAction.java:70) > at de.betterform.xml.xforms.action.AbstractAction.performConditional(AbstractAction.java:339) > at de.betterform.xml.xforms.action.ActionAction.perform(ActionAction.java:79) > at de.betterform.xml.xforms.action.AbstractAction.performConditional(AbstractAction.java:339) > at de.betterform.xml.xforms.action.AbstractAction.handleEvent(AbstractAction.java:316) > at org.apache.xerces.dom.DocumentImpl.dispatchEvent(Unknown Source) > at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source) > at de.betterform.xml.events.impl.DefaultXMLEventService.dispatch(DefaultXMLEventService.java:179) > at de.betterform.xml.xforms.Container.dispatch(Container.java:441) > at de.betterform.xml.xforms.Container.dispatch(Container.java:419) > at de.betterform.xml.xforms.Container.initModels(Container.java:690) > at de.betterform.xml.xforms.Container.init(Container.java:252) > at de.betterform.xml.xforms.XFormsProcessorImpl.init(XFormsProcessorImpl.java:394) > at de.betterform.agent.web.WebProcessor.init(WebProcessor.java:299) > at de.betterform.agent.web.flux.FluxProcessor.init(FluxProcessor.java:68) > at de.betterform.agent.web.filter.XFormsFilter.processXForms(XFormsFilter.java:222) > at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:201) > at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476) > at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501) > at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) > at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086) > at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429) > at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) > at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:370) > at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) > at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971) > at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) > at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696) > at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > > echo.html > > <?xml version="1.0" encoding="UTF-8"?> > <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:bfc="http://betterform.sourceforge.net/xforms/controls" xmlns:xf="http://www.w3.org/2002/xforms" > > <head> > <title>Echo Test</title> > </head> > <body> > <div> > <xf:model id="model1" style="display:none;"> > <xf:submission method="execute" id="echo" ref="instance('instance1')/echo" replace="instance" action="exist:/db/apps/test/echo.xql"> > <xf:message ev:event="xforms-submit-error" level="ephemeral">no echo</xf:message> > </xf:submission> > <xf:instance xmlns="" id="instance1"> > <data> > <echo>I have not been updated by a submission.</echo> > </data> > </xf:instance> > <xf:action ev:event="xforms-ready"> > <xf:send submission="echo"/> > </xf:action> > </xf:model> > <xf:output value="instance('instance1')/echo"/> > </div> > </body> > </html> > > > echo.xql > > xquery version "3.0"; > > <data xmlns=""><echo>Hi {xmldb:get-current-user()}! The time is {current-time()}.</echo></data> > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > |
|
From: Schopper, D. <Dan...@oe...> - 2015-09-18 15:53:26
|
Hi all,
A have simple Xform call even simpler xql script (see below) on xforms-ready via the betterFORM exist connector, which ends up in the following error.
This works like expected on the master branch. Anything I can do about it?
Best,
Daniel
HTTP ERROR 500
Problem accessing /exist/apps/test/echo.html. Reason:
Server Error
Caused by:
java.lang.NoSuchMethodError: org.exist.storage.DBBroker.getXQueryService()Lorg/exist/xquery/XQuery;
at de.betterform.connector.exist.ExistUtil$2.onXQuery(ExistUtil.java:148)
at de.betterform.connector.exist.ExistUtil$2.onXQuery(ExistUtil.java:143)
at de.betterform.connector.exist.ExistResourceTypeCallback.execute(ExistResourceTypeCallback.java:28)
at de.betterform.connector.exist.ExistClient.execute(ExistClient.java:54)
at de.betterform.connector.exist.ExistUtil.executeXQuery(ExistUtil.java:143)
at de.betterform.connector.exist.ExistSubmissionHandler.doExecute(ExistSubmissionHandler.java:103)
at de.betterform.connector.exist.ExistSubmissionHandler.submit(ExistSubmissionHandler.java:83)
at de.betterform.xml.xforms.model.submission.Submission.submit(Submission.java:624)
at de.betterform.xml.xforms.model.submission.Submission.performDefault(Submission.java:532)
at de.betterform.xml.events.impl.DefaultXMLEventService.dispatch(DefaultXMLEventService.java:196)
at de.betterform.xml.xforms.Container.dispatch(Container.java:441)
at de.betterform.xml.xforms.Container.dispatch(Container.java:419)
at de.betterform.xml.xforms.action.SendAction.perform(SendAction.java:70)
at de.betterform.xml.xforms.action.AbstractAction.performConditional(AbstractAction.java:339)
at de.betterform.xml.xforms.action.ActionAction.perform(ActionAction.java:79)
at de.betterform.xml.xforms.action.AbstractAction.performConditional(AbstractAction.java:339)
at de.betterform.xml.xforms.action.AbstractAction.handleEvent(AbstractAction.java:316)
at org.apache.xerces.dom.DocumentImpl.dispatchEvent(Unknown Source)
at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source)
at de.betterform.xml.events.impl.DefaultXMLEventService.dispatch(DefaultXMLEventService.java:179)
at de.betterform.xml.xforms.Container.dispatch(Container.java:441)
at de.betterform.xml.xforms.Container.dispatch(Container.java:419)
at de.betterform.xml.xforms.Container.initModels(Container.java:690)
at de.betterform.xml.xforms.Container.init(Container.java:252)
at de.betterform.xml.xforms.XFormsProcessorImpl.init(XFormsProcessorImpl.java:394)
at de.betterform.agent.web.WebProcessor.init(WebProcessor.java:299)
at de.betterform.agent.web.flux.FluxProcessor.init(FluxProcessor.java:68)
at de.betterform.agent.web.filter.XFormsFilter.processXForms(XFormsFilter.java:222)
at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:201)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)
echo.html
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:bfc="http://betterform.sourceforge.net/xforms/controls" xmlns:xf="http://www.w3.org/2002/xforms" >
<head>
<title>Echo Test</title>
</head>
<body>
<div>
<xf:model id="model1" style="display:none;">
<xf:submission method="execute" id="echo" ref="instance('instance1')/echo" replace="instance" action="exist:/db/apps/test/echo.xql">
<xf:message ev:event="xforms-submit-error" level="ephemeral">no echo</xf:message>
</xf:submission>
<xf:instance xmlns="" id="instance1">
<data>
<echo>I have not been updated by a submission.</echo>
</data>
</xf:instance>
<xf:action ev:event="xforms-ready">
<xf:send submission="echo"/>
</xf:action>
</xf:model>
<xf:output value="instance('instance1')/echo"/>
</div>
</body>
</html>
echo.xql
xquery version "3.0";
<data xmlns=""><echo>Hi {xmldb:get-current-user()}! The time is {current-time()}.</echo></data>
|
|
From: Joern T. <joe...@gm...> - 2015-07-27 13:37:05
|
try a submission like this:
<xf:submission id="s-save" replace="none" method="execute"
resource="exist:/db/apps/[yourapp]/save.xq">
<xf:message ev:event="xforms-submit-error">Failed to store
record</xf:message>
</xf:submission>
This uses the eXistdb connector of betterFORM that bypasses the HTTP
transport layer and directly talks to eXistdb via XMLDB API which should be
much more efficient and avoids problems with authenticating.
In your xquery do the following:
declare variable $data external;
then access the xml data with
let $mydate := $data/[your-xpath]
hth,
Joern
On Sun, Jul 26, 2015 at 5:49 PM, Klaus Dobbler <kla...@gm...>
wrote:
> hi everyone,
>
> i'm trying to getting started with betterforms and existdb.
>
> I tried to modify the demo "Registration" such that the data is submited
> to an xquery-function in the same collection of the xhtml file:
>
>
>
> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="
> http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms
> ">
> ...
> <xf:model id="m-registration">
> <xf:instance id="data_instance" xmlns=""
> src="registration2.xml"/>
> <xf:bind id="patientspecialistrecordnumb"
> nodeset="/patient/test/patientspecialistrecordnumb" required="true()"/>
> <xf:bind id="patienthospitalrecordnumb"
> nodeset="/patient/test/patienthospitalrecordnumb" required="true()"/>
> <xf:submission id="s-send" method="post"
> action="save.xq" ref="data_instance" replace="none" />
> </xf:model>
> ...
> <xf:trigger appearance="triggerMiddleColumn">
> <xf:label>Submit Safety Report</xf:label>
> <xf:hint>Be calm - this is just a demo!
> ;)</xf:hint>
> <xf:send submission="s-send"/>
> </xf:trigger>
> ...
> </html>
>
> in the function save.xq i just save a test-xmlfie to see if it works, but
> it is not created.
>
> Anyone an idea why?
>
> Greets
>
> Klaus
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Betterform-users mailing list
> Bet...@li...
> https://lists.sourceforge.net/lists/listinfo/betterform-users
>
>
|
|
From: Klaus D. <kla...@gm...> - 2015-07-26 15:50:03
|
hi everyone, i'm trying to getting started with betterforms and existdb. I tried to modify the demo "Registration" such that the data is submited to an xquery-function in the same collection of the xhtml file: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev=" http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms"> ... <xf:model id="m-registration"> <xf:instance id="data_instance" xmlns="" src="registration2.xml"/> <xf:bind id="patientspecialistrecordnumb" nodeset="/patient/test/patientspecialistrecordnumb" required="true()"/> <xf:bind id="patienthospitalrecordnumb" nodeset="/patient/test/patienthospitalrecordnumb" required="true()"/> <xf:submission id="s-send" method="post" action="save.xq" ref="data_instance" replace="none" /> </xf:model> ... <xf:trigger appearance="triggerMiddleColumn"> <xf:label>Submit Safety Report</xf:label> <xf:hint>Be calm - this is just a demo! ;)</xf:hint> <xf:send submission="s-send"/> </xf:trigger> ... </html> in the function save.xq i just save a test-xmlfie to see if it works, but it is not created. Anyone an idea why? Greets Klaus |
|
From: Joern T. <joe...@be...> - 2015-06-02 16:47:14
|
Am 02.06.15 um 17:42 schrieb Schopper, Daniel: > Sorry for the noise, my bad... the execution-bit was not set on the file for the user in question, so it was not updated ... DOH! happy it worked out for you. Joern > Daniel > > Von: Schopper, Daniel [mailto:Dan...@oe...] > Gesendet: Mittwoch, 13. Mai 2015 23:45 > An: betterform-users (bet...@li...) > Betreff: [Betterform-users] exception when storing with exist-connector > > Hi all, > Using the exist-connector (exist:/db ....) a PUT submission on specific instances in my application always fails while with others the same submission works. > I guess the log message below is related to the exception, but I have no idea what might be causing it, especially what "URI is not hierarchical"... > > Any thoughts what to look for or how to work around it? > Btw. I can edit and store the file with eXide or webdav without any problems, so this does not seem to be related to data corruption on exist's side. > I'm using betterFORM 5.0rc9 - buildNumber:12241 - Timestamp:2014-09-18 11:48:30 > > Thanks in advance! > Daniel > > WARN (PassivationManagerImpl.java [passivate]:79) - ISPN000028: Unable to passivate entry under 63191bbee0697578a71091cedb805f792664d437a4c141b5ba23e9ff9a37ecf34a0a1b0ae2401d5a043a3a80e43a5208c2ab4ac6a32952e9e08bb216ef2f84ae > org.infinispan.persistence.spi.PersistenceException: org.infinispan.persistence.spi.PersistenceException: java.io.IOException: Error while transforming host document: java.lang.IllegalArgumentException: URI is not hierarchical > at org.infinispan.persistence.file.SingleFileStore.write(SingleFileStore.java:317) > at org.infinispan.persistence.manager.PersistenceManagerImpl.writeToAllStores(PersistenceManagerImpl.java:444) > at org.infinispan.eviction.PassivationManagerImpl.passivate(PassivationManagerImpl.java:76) > at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryChosenForEviction(DefaultDataContainer.java:239) > at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryChosenForEviction(DefaultDataContainer.java:230) > at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.remove(BoundedConcurrentHashMap.java:1697) > at org.infinispan.util.concurrent.BoundedConcurrentHashMap$LIRS.removeFromSegment(BoundedConcurrentHashMap.java:1235) > at org.infinispan.util.concurrent.BoundedConcurrentHashMap$LIRS.onEntryMiss(BoundedConcurrentHashMap.java:1228) > at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.put(BoundedConcurrentHashMap.java:1591) > at org.infinispan.util.concurrent.BoundedConcurrentHashMap.put(BoundedConcurrentHashMap.java:2189) > at org.infinispan.container.DefaultDataContainer.put(DefaultDataContainer.java:170) > at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:163) > at org.infinispan.interceptors.locking.ClusteringDependentLogic$LocalLogic.commitEntry(ClusteringDependentLogic.java:217) > at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:317) > at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:542) > at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:294) > at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:347) > at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:401) > at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:163) > at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62) > at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) > at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:47) > at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62) > at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) > at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) > at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32) > at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62) > at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) > at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) > at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32) > at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62) > at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) > at org.infinispan.interceptors.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:148) > at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:134) > at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62) > at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) > at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:106) > at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70) > at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32) > at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62) > at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321) > at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1296) > at org.infinispan.CacheImpl.putInternal(CacheImpl.java:869) > at org.infinispan.CacheImpl.put(CacheImpl.java:861) > at org.infinispan.CacheImpl.put(CacheImpl.java:1349) > at org.infinispan.CacheImpl.put(CacheImpl.java:206) > at de.betterform.agent.web.filter.XFormsFilter.processXForms(XFormsFilter.java:229) > at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:194) > at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) > at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) > at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) > at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) > at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) > at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) > at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:368) > at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488) > at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:932) > at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:994) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) > at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) > at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > Caused by: an exception which occurred: > in object de.betterform.agent.web.flux.FluxProcessor@6ae1e536<mailto:de.betterform.agent.web.flux.FluxProcessor@6ae1e536> > > ___________________________________________ > Mag. Daniel Schopper > > Austrian Centre for Digital Humanities > Institute for Corpus Linguistics and Text Technology > Austrian Academy of Sciences > Sonnenfelsgasse 19/8 > 1010 Vienna > Austria > > dan...@oe...<mailto:dan...@oe...> > +43 1 51581-2332 > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > |
|
From: Schopper, D. <Dan...@oe...> - 2015-06-02 15:42:30
|
Sorry for the noise, my bad... the execution-bit was not set on the file for the user in question, so it was not updated ... DOH!
Daniel
Von: Schopper, Daniel [mailto:Dan...@oe...]
Gesendet: Mittwoch, 13. Mai 2015 23:45
An: betterform-users (bet...@li...)
Betreff: [Betterform-users] exception when storing with exist-connector
Hi all,
Using the exist-connector (exist:/db ....) a PUT submission on specific instances in my application always fails while with others the same submission works.
I guess the log message below is related to the exception, but I have no idea what might be causing it, especially what "URI is not hierarchical"...
Any thoughts what to look for or how to work around it?
Btw. I can edit and store the file with eXide or webdav without any problems, so this does not seem to be related to data corruption on exist's side.
I'm using betterFORM 5.0rc9 - buildNumber:12241 - Timestamp:2014-09-18 11:48:30
Thanks in advance!
Daniel
WARN (PassivationManagerImpl.java [passivate]:79) - ISPN000028: Unable to passivate entry under 63191bbee0697578a71091cedb805f792664d437a4c141b5ba23e9ff9a37ecf34a0a1b0ae2401d5a043a3a80e43a5208c2ab4ac6a32952e9e08bb216ef2f84ae
org.infinispan.persistence.spi.PersistenceException: org.infinispan.persistence.spi.PersistenceException: java.io.IOException: Error while transforming host document: java.lang.IllegalArgumentException: URI is not hierarchical
at org.infinispan.persistence.file.SingleFileStore.write(SingleFileStore.java:317)
at org.infinispan.persistence.manager.PersistenceManagerImpl.writeToAllStores(PersistenceManagerImpl.java:444)
at org.infinispan.eviction.PassivationManagerImpl.passivate(PassivationManagerImpl.java:76)
at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryChosenForEviction(DefaultDataContainer.java:239)
at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryChosenForEviction(DefaultDataContainer.java:230)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.remove(BoundedConcurrentHashMap.java:1697)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$LIRS.removeFromSegment(BoundedConcurrentHashMap.java:1235)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$LIRS.onEntryMiss(BoundedConcurrentHashMap.java:1228)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.put(BoundedConcurrentHashMap.java:1591)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap.put(BoundedConcurrentHashMap.java:2189)
at org.infinispan.container.DefaultDataContainer.put(DefaultDataContainer.java:170)
at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:163)
at org.infinispan.interceptors.locking.ClusteringDependentLogic$LocalLogic.commitEntry(ClusteringDependentLogic.java:217)
at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:317)
at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:542)
at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:294)
at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:347)
at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:401)
at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:163)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:47)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:148)
at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:134)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:106)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321)
at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1296)
at org.infinispan.CacheImpl.putInternal(CacheImpl.java:869)
at org.infinispan.CacheImpl.put(CacheImpl.java:861)
at org.infinispan.CacheImpl.put(CacheImpl.java:1349)
at org.infinispan.CacheImpl.put(CacheImpl.java:206)
at de.betterform.agent.web.filter.XFormsFilter.processXForms(XFormsFilter.java:229)
at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:194)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:932)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:994)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)
Caused by: an exception which occurred:
in object de.betterform.agent.web.flux.FluxProcessor@6ae1e536<mailto:de.betterform.agent.web.flux.FluxProcessor@6ae1e536>
___________________________________________
Mag. Daniel Schopper
Austrian Centre for Digital Humanities
Institute for Corpus Linguistics and Text Technology
Austrian Academy of Sciences
Sonnenfelsgasse 19/8
1010 Vienna
Austria
dan...@oe...<mailto:dan...@oe...>
+43 1 51581-2332
|
|
From: Schopper, D. <Dan...@oe...> - 2015-05-13 22:01:25
|
Hi all,
Using the exist-connector (exist:/db ....) a PUT submission on specific instances in my application always fails while with others the same submission works.
I guess the log message below is related to the exception, but I have no idea what might be causing it, especially what "URI is not hierarchical"...
Any thoughts what to look for or how to work around it?
Btw. I can edit and store the file with eXide or webdav without any problems, so this does not seem to be related to data corruption on exist's side.
I'm using betterFORM 5.0rc9 - buildNumber:12241 - Timestamp:2014-09-18 11:48:30
Thanks in advance!
Daniel
WARN (PassivationManagerImpl.java [passivate]:79) - ISPN000028: Unable to passivate entry under 63191bbee0697578a71091cedb805f792664d437a4c141b5ba23e9ff9a37ecf34a0a1b0ae2401d5a043a3a80e43a5208c2ab4ac6a32952e9e08bb216ef2f84ae
org.infinispan.persistence.spi.PersistenceException: org.infinispan.persistence.spi.PersistenceException: java.io.IOException: Error while transforming host document: java.lang.IllegalArgumentException: URI is not hierarchical
at org.infinispan.persistence.file.SingleFileStore.write(SingleFileStore.java:317)
at org.infinispan.persistence.manager.PersistenceManagerImpl.writeToAllStores(PersistenceManagerImpl.java:444)
at org.infinispan.eviction.PassivationManagerImpl.passivate(PassivationManagerImpl.java:76)
at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryChosenForEviction(DefaultDataContainer.java:239)
at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryChosenForEviction(DefaultDataContainer.java:230)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.remove(BoundedConcurrentHashMap.java:1697)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$LIRS.removeFromSegment(BoundedConcurrentHashMap.java:1235)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$LIRS.onEntryMiss(BoundedConcurrentHashMap.java:1228)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.put(BoundedConcurrentHashMap.java:1591)
at org.infinispan.util.concurrent.BoundedConcurrentHashMap.put(BoundedConcurrentHashMap.java:2189)
at org.infinispan.container.DefaultDataContainer.put(DefaultDataContainer.java:170)
at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:163)
at org.infinispan.interceptors.locking.ClusteringDependentLogic$LocalLogic.commitEntry(ClusteringDependentLogic.java:217)
at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:317)
at org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:542)
at org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:294)
at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:347)
at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:401)
at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:163)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:47)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:148)
at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:134)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:106)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321)
at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1296)
at org.infinispan.CacheImpl.putInternal(CacheImpl.java:869)
at org.infinispan.CacheImpl.put(CacheImpl.java:861)
at org.infinispan.CacheImpl.put(CacheImpl.java:1349)
at org.infinispan.CacheImpl.put(CacheImpl.java:206)
at de.betterform.agent.web.filter.XFormsFilter.processXForms(XFormsFilter.java:229)
at de.betterform.agent.web.filter.XFormsFilter.doFilter(XFormsFilter.java:194)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:932)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:994)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)
Caused by: an exception which occurred:
in object de.betterform.agent.web.flux.FluxProcessor@6ae1e536
___________________________________________
Mag. Daniel Schopper
Austrian Centre for Digital Humanities
Institute for Corpus Linguistics and Text Technology
Austrian Academy of Sciences
Sonnenfelsgasse 19/8
1010 Vienna
Austria
dan...@oe...
+43 1 51581-2332
|
|
From: Joern T. <joe...@be...> - 2015-03-12 09:24:57
|
If you would please provide a complete document for testing i'll have a look into it. Which version are you using? Joern Am 09.03.15 um 19:33 schrieb Whittington, Austin J.: > Hi, > I'm looking into betterFORM's implementation of multiple constraints (https://betterform.wordpress.com/2012/12/19/taking-mips-to-the-next-level/), and I've been seeing something strange with nested bindings and constraints. > > This is a simple vanilla XForms version of what I'm trying to do. Give the scope of the XPath with the outside binding(s), then be more specific with the inner ones, which have constraints on them. In the real application, the outer ref(s) can be a lot messier, and it's easier to follow if I organize it this way. > > <xf:bind ref="instance('input')//Container" id="bBind"> > <xf:bind ref="Num" id="aBind" constraint="number(.) gt 0 and number(.) lt 10"/> > </xf:bind> > > I've seen no problems with this, but I'd like to be able to specify separate alerts and constraints in the bindings, as shown in the above link. However, when I try to do the same nesting using the betterFORM constraints, it doesn't work the same. > > <xf:bind ref="instance('input')//Container" id="bBind"> > <xf:bind ref="Num" id="aBind"> > <bf:constraint value="number(.) gt 0"> > <xf:alert>Must be greater than 0</xf:alert> > </bf:constraint> > <bf:constraint value="number(.) lt 10"> > <xf:alert>Must be less than 10</xf:alert> > </bf:constraint> > </xf:bind> > </xf:bind> > > The entire Container element shows up invalid in the XForm, even when the Num field is between 0 and 10. It seems like the nesting means you get the set of constraints applied to the Container field and the Num field, which means the nesting is of limited use. If I remove the nesting and the outer bind and use a ref of ' instance('input')//Container/Num', it works as expected. > > Am I misunderstanding what is happening? If not, is there a way to have betterFORM recognize these nested bindings and apply the constraints to the specific binding without applying to all the binding's parents? > > Thanks for the help. > -Austin > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > |
|
From: Whittington, A. J. <aus...@sw...> - 2015-03-09 18:54:03
|
Hi, I'm looking into betterFORM's implementation of multiple constraints (https://betterform.wordpress.com/2012/12/19/taking-mips-to-the-next-level/), and I've been seeing something strange with nested bindings and constraints. This is a simple vanilla XForms version of what I'm trying to do. Give the scope of the XPath with the outside binding(s), then be more specific with the inner ones, which have constraints on them. In the real application, the outer ref(s) can be a lot messier, and it's easier to follow if I organize it this way. <xf:bind ref="instance('input')//Container" id="bBind"> <xf:bind ref="Num" id="aBind" constraint="number(.) gt 0 and number(.) lt 10"/> </xf:bind> I've seen no problems with this, but I'd like to be able to specify separate alerts and constraints in the bindings, as shown in the above link. However, when I try to do the same nesting using the betterFORM constraints, it doesn't work the same. <xf:bind ref="instance('input')//Container" id="bBind"> <xf:bind ref="Num" id="aBind"> <bf:constraint value="number(.) gt 0"> <xf:alert>Must be greater than 0</xf:alert> </bf:constraint> <bf:constraint value="number(.) lt 10"> <xf:alert>Must be less than 10</xf:alert> </bf:constraint> </xf:bind> </xf:bind> The entire Container element shows up invalid in the XForm, even when the Num field is between 0 and 10. It seems like the nesting means you get the set of constraints applied to the Container field and the Num field, which means the nesting is of limited use. If I remove the nesting and the outer bind and use a ref of ' instance('input')//Container/Num', it works as expected. Am I misunderstanding what is happening? If not, is there a way to have betterFORM recognize these nested bindings and apply the constraints to the specific binding without applying to all the binding's parents? Thanks for the help. -Austin |
|
From: Joern T. <joe...@be...> - 2015-03-04 10:09:38
|
Am 28.02.15 um 03:49 schrieb Satish Gupta: > Is there a way I could submit an XForm and a source XML on a command line > and see verification or rejection of every constraing? Not out of the box. However you can write a small Java wrapper program that uses the XFormsProcessor API to load a document, attach some eventlisteners, execute some actions on it and get the final result. Examples of how to use the API can be found in our unit tests in core/src/test/java/**. But it get a bit harder (however not impossible) when you want to know which constraint failed - you get invalidity information in terms of UI control receiving an xforms-invalid event (which you can easily catch) but the event does not transport that information. Joern > > Thanks > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > > > > _______________________________________________ > Betterform-users mailing list > Bet...@li... > https://lists.sourceforge.net/lists/listinfo/betterform-users > |
|
From: Satish G. <sat...@gm...> - 2015-02-28 02:50:06
|
Is there a way I could submit an XForm and a source XML on a command line and see verification or rejection of every constraing? Thanks |
|
From: Lars W. <lar...@be...> - 2015-01-23 12:13:27
|
Hi Daniel, I have tested your sample on Mac OS X Yosemite with eXist 2.2 and betterFORM 5 and everything worked fine. The sample worked with explicit UTF-8 encoding on the submission as well as without any encoding params. I can’t tell if this is a eXist 2.1 issue and would recommend to give eXist 2.2 a try Btw. there was a small issue in the XQuery sample, a missing comma after util:parse($data),. > let $data := util:parse($data) > $input := $data/data/input/text() I attached your working sample forms again, with some small changes. Please be aware that you have to adjust the resource path of the xforms:submission. Hth lars |