Erik,
I want to
add to my architecture the ability for users will be able to take
their data with them instead of storing it on the server. When they hit
save it will update their XForms in memory on the server. But ultimately at
any time they can download their instance (which becomes their portable
electronic tax file) to their disk and upload it the next time to resume
preparation of their return or do something else.
Three questions,
what are the issues with this, especially when an instance can be quite
large?
What is the code to
to process an uploaded instance into an input XML
pipeline?
What is the code to
display the instance as an XML Document?
RIch
Richard Braman http://www.taxcodesoftware.org -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Richard,
To upload the instance to the server, you can use the XForms upload control. See the XForms upload example and the "Upload" section in the XForms Reference. If the instance you are uploading is large, use xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload To send the instance to the user, just use the XML serializer. http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer Alex On 2/27/06, Richard Braman <[hidden email]> wrote: > > Erik, > > I want to add to my architecture the ability for users will be able to take > their data with them instead of storing it on the server. When they hit > save it will update their XForms in memory on the server. But ultimately at > any time they can download their instance (which becomes their portable > electronic tax file) to their disk and upload it the next time to resume > preparation of their return or do something else. > > Three questions, what are the issues with this, especially when an instance > can be quite large? > What is the code to to process an uploaded instance into an input XML > pipeline? > What is the code to display the instance as an XML Document? > > RIch > > > > Richard Braman > mailto:[hidden email] > 561.748.4002 (voice) > > http://www.taxcodesoftware.org > Free Open Source Tax Software > > > -- > You receive this message as a subscriber of the [hidden email] > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Hi Alex,
I looked at the example, and I kind of get it, but I only need to upload 1 file, simple upload. So I tried to separate the piece I need and I am getting an Xforms error http://24.75.221.234:8080/taxcode/1040ez/xforms-upload This file is the users xforms instance, and I just want to send it back to the browser for now. I plan to ultimately load it into my app, but 1 step at a time. I cannot debug the XForms error: Node is not an element or attribute. Thanks for the help. Page flow <page id="main" path-info="/1040ez/xforms-upload" model="xforms/upload_action.xpl" view="xforms/upload.xhtml"> <action when="/*/action = 'simple-upload'"><result page="main"/></action> </page> ****************************************** upload.xhtml <html xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> <xsl:variable name="uploaded" select="/result/urls/url != ''" as="xs:boolean" /> <xsl:variable name="in-portlet" select="/result/request/container-type = 'portlet'" as="xs:boolean" /> <head> <title>XForms Upload</title> <xforms:model> <xforms:instance id="main-instance"> <form xmlns=""> <action /> <files> <file filename="" mediatype="" size="" /> </files> </form> </xforms:instance> <xforms:instance id="control-instance"> <control xmlns=""> <simple-upload-trigger /> </control> </xforms:instance> <!-- Using xs:anyURI will cause the XForms engine to store a reference to a URI instead of inlinig the content of the file --> <xforms:bind nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> <!--<xforms:bind nodeset="/form/files/file" type="xs:base64Binary"/>--> <!-- Control whether the upload trigger is read-only or not --> <xforms:bind nodeset="instance('control-instance')/simple-upload-trigger" readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> <!-- Main submission which uploads the files --> <xforms:submission id="main-submission" method="post" replace="all" action="/xforms-upload" /> </xforms:model> </head> <body> <xsl:if test="/result/message"> <p style="color: red"> <xsl:value-of select="/result/message" /> </p> </xsl:if> <table> <tr> <td> <xforms:upload ref="."> <xforms:filename ref="@filename" /> <xforms:mediatype ref="@mediatype" /> <xxforms:size ref="@size" /> </xforms:upload> </td> </tr> </table> <table class="gridtable"> <tr> <th> Simple file upload </th> <td> <xforms:trigger ref="instance('control-instance')/simple-upload-trigger"> <xforms:label>Upload</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="instance('main-instance')/action">simple-upload</xforms:setvalue> <xforms:send submission="main-submission" /> </xforms:action> </xforms:trigger> </td> </tr> </table> <xsl:if test="$uploaded"> <h2>Submitted XForms Instance</h2> <f:box> <f:xml-source> <xsl:copy-of select="doc('input:instance')" /> </f:xml-source> </f:box> </xsl:if> </body> </html> Upload_file.xpl ************************************************************************ ************ <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <p:param name="data" type="input"/> <p:param name="instance" type="input"/> <p:param name="data" type="output"/> <!-- Get container type --> <p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/container-type</include> </config> </p:input> <p:output name="data" id="container-type"/> </p:processor> <p:choose href="#instance"> <p:when test="/*/action = 'simple-upload'"> <!-- A file was uploaded and we just want to send it back to the browser --> <!-- Dereference the xs:anyURI obtained from the instance (for the first file with an URI only) --> <p:processor name="oxf:pipeline"> <p:input name="config" href="read-uri.xpl"/> <p:input name="uri" href="aggregate('uri', #instance#xpointer(string(/*/files/file[. != ''][1])))"/> <p:output name="data" id="file"/> </p:processor> <!-- Send the data to the browser --> <p:processor name="oxf:http-serializer"> <p:input name="data" href="#file"/> <p:input name="config"> <config> <content-type>text/xml</content-type> <force-content-type>true</force-content-type> <cache-control> <use-local-cache>false</use-local-cache> </cache-control> </config> </p:input> </p:processor> <!-- Make sure the view is not executed --> <p:processor name="oxf:identity"> <p:input name="data"> <root xsi:nil="true"/> </p:input> <p:output name="data" ref="data"/> </p:processor> </p:when> <p:otherwise> <!-- Forward the URL generated by the action and container type to the view --> <p:processor name="oxf:identity"> <p:input name="data" href="aggregate('result', #data, #container-type)"/> <p:output name="data" ref="data"/> </p:processor> </p:otherwise> </p:choose> </p:config> -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: Wednesday, March 01, 2006 7:19 PM To: [hidden email] Subject: Re: [ops-users] Portable Instance Richard, To upload the instance to the server, you can use the XForms upload control. See the XForms upload example and the "Upload" section in the XForms Reference. If the instance you are uploading is large, use xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload To send the instance to the user, just use the XML serializer. http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer Alex On 2/27/06, Richard Braman <[hidden email]> wrote: > > Erik, > > I want to add to my architecture the ability for users will be able to take > their data with them instead of storing it on the server. When they hit > save it will update their XForms in memory on the server. But ultimately at > any time they can download their instance (which becomes their portable > electronic tax file) to their disk and upload it the next time to resume > preparation of their return or do something else. > > Three questions, what are the issues with this, especially when an instance > can be quite large? > What is the code to to process an uploaded instance into an input XML > pipeline? > What is the code to display the instance as an XML Document? > > RIch > > > > Richard Braman > mailto:[hidden email] > 561.748.4002 (voice) > > http://www.taxcodesoftware.org > Free Open Source Tax Software > > > -- > You receive this message as a subscriber of the > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Trying to solve my own problem: This should be fixed.
<xforms:upload ref="instance('main-instance')//files/file"> Instead of ., now it seem to want to goto http://24.75.221.234:8080/taxcode/xforms-server-submit Which doesn't exist. I thought it was supposed to post back to itself. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Sunday, March 05, 2006 8:59 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Hi Alex, I looked at the example, and I kind of get it, but I only need to upload 1 file, simple upload. So I tried to separate the piece I need and I am getting an Xforms error http://24.75.221.234:8080/taxcode/1040ez/xforms-upload This file is the users xforms instance, and I just want to send it back to the browser for now. I plan to ultimately load it into my app, but 1 step at a time. I cannot debug the XForms error: Node is not an element or attribute. Thanks for the help. Page flow <page id="main" path-info="/1040ez/xforms-upload" model="xforms/upload_action.xpl" view="xforms/upload.xhtml"> <action when="/*/action = 'simple-upload'"><result page="main"/></action> </page> ****************************************** upload.xhtml <html xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> <xsl:variable name="uploaded" select="/result/urls/url != ''" as="xs:boolean" /> <xsl:variable name="in-portlet" select="/result/request/container-type = 'portlet'" as="xs:boolean" /> <head> <title>XForms Upload</title> <xforms:model> <xforms:instance id="main-instance"> <form xmlns=""> <action /> <files> <file filename="" mediatype="" size="" /> </files> </form> </xforms:instance> <xforms:instance id="control-instance"> <control xmlns=""> <simple-upload-trigger /> </control> </xforms:instance> <!-- Using xs:anyURI will cause the XForms engine to store a reference to a URI instead of inlinig the content of the file --> <xforms:bind nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> <!--<xforms:bind nodeset="/form/files/file" type="xs:base64Binary"/>--> <!-- Control whether the upload trigger is read-only or not --> <xforms:bind nodeset="instance('control-instance')/simple-upload-trigger" readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> <!-- Main submission which uploads the files --> <xforms:submission id="main-submission" method="post" replace="all" action="/xforms-upload" /> </xforms:model> </head> <body> <xsl:if test="/result/message"> <p style="color: red"> <xsl:value-of select="/result/message" /> </p> </xsl:if> <table> <tr> <td> <xforms:upload ref="."> <xforms:filename ref="@filename" /> <xforms:mediatype ref="@mediatype" /> <xxforms:size ref="@size" /> </xforms:upload> </td> </tr> </table> <table class="gridtable"> <tr> <th> Simple file upload </th> <td> <xforms:trigger ref="instance('control-instance')/simple-upload-trigger"> <xforms:label>Upload</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="instance('main-instance')/action">simple-upload</xforms:setvalue> <xforms:send submission="main-submission" /> </xforms:action> </xforms:trigger> </td> </tr> </table> <xsl:if test="$uploaded"> <h2>Submitted XForms Instance</h2> <f:box> <f:xml-source> <xsl:copy-of select="doc('input:instance')" /> </f:xml-source> </f:box> </xsl:if> </body> </html> Upload_file.xpl ************************************************************************ ************ <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <p:param name="data" type="input"/> <p:param name="instance" type="input"/> <p:param name="data" type="output"/> <!-- Get container type --> <p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/container-type</include> </config> </p:input> <p:output name="data" id="container-type"/> </p:processor> <p:choose href="#instance"> <p:when test="/*/action = 'simple-upload'"> <!-- A file was uploaded and we just want to send it back to the browser --> <!-- Dereference the xs:anyURI obtained from the instance (for the first file with an URI only) --> <p:processor name="oxf:pipeline"> <p:input name="config" href="read-uri.xpl"/> <p:input name="uri" href="aggregate('uri', #instance#xpointer(string(/*/files/file[. != ''][1])))"/> <p:output name="data" id="file"/> </p:processor> <!-- Send the data to the browser --> <p:processor name="oxf:http-serializer"> <p:input name="data" href="#file"/> <p:input name="config"> <config> <content-type>text/xml</content-type> <force-content-type>true</force-content-type> <cache-control> <use-local-cache>false</use-local-cache> </cache-control> </config> </p:input> </p:processor> <!-- Make sure the view is not executed --> <p:processor name="oxf:identity"> <p:input name="data"> <root xsi:nil="true"/> </p:input> <p:output name="data" ref="data"/> </p:processor> </p:when> <p:otherwise> <!-- Forward the URL generated by the action and container type to the view --> <p:processor name="oxf:identity"> <p:input name="data" href="aggregate('result', #data, #container-type)"/> <p:output name="data" ref="data"/> </p:processor> </p:otherwise> </p:choose> </p:config> -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: Wednesday, March 01, 2006 7:19 PM To: [hidden email] Subject: Re: [ops-users] Portable Instance Richard, To upload the instance to the server, you can use the XForms upload control. See the XForms upload example and the "Upload" section in the XForms Reference. If the instance you are uploading is large, use xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload To send the instance to the user, just use the XML serializer. http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer Alex On 2/27/06, Richard Braman <[hidden email]> wrote: > > Erik, > > I want to add to my architecture the ability for users will be able to take > their data with them instead of storing it on the server. When they hit > save it will update their XForms in memory on the server. But ultimately at > any time they can download their instance (which becomes their portable > electronic tax file) to their disk and upload it the next time to resume > preparation of their return or do something else. > > Three questions, what are the issues with this, especially when an instance > can be quite large? > What is the code to to process an uploaded instance into an input XML > pipeline? What is the code to display the instance as an XML Document? > > RIch > > > > Richard Braman > mailto:[hidden email] > 561.748.4002 (voice) > > http://www.taxcodesoftware.org > Free Open Source Tax Software > > > -- > You receive this message as a subscriber of the > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
I see that the submission url is set in propertiex.xml. I changed it to
/1040ez/xforms-upload, but that didn't do the trick. When you initially go to the page, it looks like it is trying to process the upload, but nothing has been uploaded yet. I am at a loss to figure out how the post-back occurs. java.io.EOFException Message Servlet Stack Trace (87 method calls) Class Name Method Name File Name Line Number java.util.zip.GZIPInputStream readUByte N/A java.util.zip.GZIPInputStream readUShort N/A java.util.zip.GZIPInputStream readHeader N/A java.util.zip.GZIPInputStream <init> N/A java.util.zip.GZIPInputStream <init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML XFormsUtils.java -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Sunday, March 05, 2006 9:37 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Trying to solve my own problem: This should be fixed. <xforms:upload ref="instance('main-instance')//files/file"> Instead of ., now it seem to want to goto http://24.75.221.234:8080/taxcode/xforms-server-submit Which doesn't exist. I thought it was supposed to post back to itself. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Sunday, March 05, 2006 8:59 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Hi Alex, I looked at the example, and I kind of get it, but I only need to upload 1 file, simple upload. So I tried to separate the piece I need and I am getting an Xforms error http://24.75.221.234:8080/taxcode/1040ez/xforms-upload This file is the users xforms instance, and I just want to send it back to the browser for now. I plan to ultimately load it into my app, but 1 step at a time. I cannot debug the XForms error: Node is not an element or attribute. Thanks for the help. Page flow <page id="main" path-info="/1040ez/xforms-upload" model="xforms/upload_action.xpl" view="xforms/upload.xhtml"> <action when="/*/action = 'simple-upload'"><result page="main"/></action> </page> ****************************************** upload.xhtml <html xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> <xsl:variable name="uploaded" select="/result/urls/url != ''" as="xs:boolean" /> <xsl:variable name="in-portlet" select="/result/request/container-type = 'portlet'" as="xs:boolean" /> <head> <title>XForms Upload</title> <xforms:model> <xforms:instance id="main-instance"> <form xmlns=""> <action /> <files> <file filename="" mediatype="" size="" /> </files> </form> </xforms:instance> <xforms:instance id="control-instance"> <control xmlns=""> <simple-upload-trigger /> </control> </xforms:instance> <!-- Using xs:anyURI will cause the XForms engine to store a reference to a URI instead of inlinig the content of the file --> <xforms:bind nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> <!--<xforms:bind nodeset="/form/files/file" type="xs:base64Binary"/>--> <!-- Control whether the upload trigger is read-only or not --> <xforms:bind nodeset="instance('control-instance')/simple-upload-trigger" readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> <!-- Main submission which uploads the files --> <xforms:submission id="main-submission" method="post" replace="all" action="/xforms-upload" /> </xforms:model> </head> <body> <xsl:if test="/result/message"> <p style="color: red"> <xsl:value-of select="/result/message" /> </p> </xsl:if> <table> <tr> <td> <xforms:upload ref="."> <xforms:filename ref="@filename" /> <xforms:mediatype ref="@mediatype" /> <xxforms:size ref="@size" /> </xforms:upload> </td> </tr> </table> <table class="gridtable"> <tr> <th> Simple file upload </th> <td> <xforms:trigger ref="instance('control-instance')/simple-upload-trigger"> <xforms:label>Upload</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="instance('main-instance')/action">simple-upload</xforms:setvalue> <xforms:send submission="main-submission" /> </xforms:action> </xforms:trigger> </td> </tr> </table> <xsl:if test="$uploaded"> <h2>Submitted XForms Instance</h2> <f:box> <f:xml-source> <xsl:copy-of select="doc('input:instance')" /> </f:xml-source> </f:box> </xsl:if> </body> </html> Upload_file.xpl ************************************************************************ ************ <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <p:param name="data" type="input"/> <p:param name="instance" type="input"/> <p:param name="data" type="output"/> <!-- Get container type --> <p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/container-type</include> </config> </p:input> <p:output name="data" id="container-type"/> </p:processor> <p:choose href="#instance"> <p:when test="/*/action = 'simple-upload'"> <!-- A file was uploaded and we just want to send it back to the browser --> <!-- Dereference the xs:anyURI obtained from the instance (for the first file with an URI only) --> <p:processor name="oxf:pipeline"> <p:input name="config" href="read-uri.xpl"/> <p:input name="uri" href="aggregate('uri', #instance#xpointer(string(/*/files/file[. != ''][1])))"/> <p:output name="data" id="file"/> </p:processor> <!-- Send the data to the browser --> <p:processor name="oxf:http-serializer"> <p:input name="data" href="#file"/> <p:input name="config"> <config> <content-type>text/xml</content-type> <force-content-type>true</force-content-type> <cache-control> <use-local-cache>false</use-local-cache> </cache-control> </config> </p:input> </p:processor> <!-- Make sure the view is not executed --> <p:processor name="oxf:identity"> <p:input name="data"> <root xsi:nil="true"/> </p:input> <p:output name="data" ref="data"/> </p:processor> </p:when> <p:otherwise> <!-- Forward the URL generated by the action and container type to the view --> <p:processor name="oxf:identity"> <p:input name="data" href="aggregate('result', #data, #container-type)"/> <p:output name="data" ref="data"/> </p:processor> </p:otherwise> </p:choose> </p:config> -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: Wednesday, March 01, 2006 7:19 PM To: [hidden email] Subject: Re: [ops-users] Portable Instance Richard, To upload the instance to the server, you can use the XForms upload control. See the XForms upload example and the "Upload" section in the XForms Reference. If the instance you are uploading is large, use xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload To send the instance to the user, just use the XML serializer. http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer Alex On 2/27/06, Richard Braman <[hidden email]> wrote: > > Erik, > > I want to add to my architecture the ability for users will be able to take > their data with them instead of storing it on the server. When they hit > save it will update their XForms in memory on the server. But ultimately at > any time they can download their instance (which becomes their portable > electronic tax file) to their disk and upload it the next time to resume > preparation of their return or do something else. > > Three questions, what are the issues with this, especially when an instance > can be quite large? > What is the code to to process an uploaded instance into an input XML > pipeline? What is the code to display the instance as an XML Document? > > RIch > > > > Richard Braman > mailto:[hidden email] > 561.748.4002 (voice) > > http://www.taxcodesoftware.org > Free Open Source Tax Software > > > -- > You receive this message as a subscriber of the > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Can someone plase give me a hint on how to get this upload control to
work, where do you handle the postback. It seems to /path/xforms-server-submit and there is nothing there in my pageflow. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Sunday, March 05, 2006 10:21 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance I see that the submission url is set in propertiex.xml. I changed it to /1040ez/xforms-upload, but that didn't do the trick. When you initially go to the page, it looks like it is trying to process the upload, but nothing has been uploaded yet. I am at a loss to figure out how the post-back occurs. java.io.EOFException Message Servlet Stack Trace (87 method calls) Class Name Method Name File Name Line Number java.util.zip.GZIPInputStream readUByte N/A java.util.zip.GZIPInputStream readUShort N/A java.util.zip.GZIPInputStream readHeader N/A java.util.zip.GZIPInputStream <init> N/A java.util.zip.GZIPInputStream <init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML XFormsUtils.java -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Sunday, March 05, 2006 9:37 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Trying to solve my own problem: This should be fixed. <xforms:upload ref="instance('main-instance')//files/file"> Instead of ., now it seem to want to goto http://24.75.221.234:8080/taxcode/xforms-server-submit Which doesn't exist. I thought it was supposed to post back to itself. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Sunday, March 05, 2006 8:59 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Hi Alex, I looked at the example, and I kind of get it, but I only need to upload 1 file, simple upload. So I tried to separate the piece I need and I am getting an Xforms error http://24.75.221.234:8080/taxcode/1040ez/xforms-upload This file is the users xforms instance, and I just want to send it back to the browser for now. I plan to ultimately load it into my app, but 1 step at a time. I cannot debug the XForms error: Node is not an element or attribute. Thanks for the help. Page flow <page id="main" path-info="/1040ez/xforms-upload" model="xforms/upload_action.xpl" view="xforms/upload.xhtml"> <action when="/*/action = 'simple-upload'"><result page="main"/></action> </page> ****************************************** upload.xhtml <html xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> <xsl:variable name="uploaded" select="/result/urls/url != ''" as="xs:boolean" /> <xsl:variable name="in-portlet" select="/result/request/container-type = 'portlet'" as="xs:boolean" /> <head> <title>XForms Upload</title> <xforms:model> <xforms:instance id="main-instance"> <form xmlns=""> <action /> <files> <file filename="" mediatype="" size="" /> </files> </form> </xforms:instance> <xforms:instance id="control-instance"> <control xmlns=""> <simple-upload-trigger /> </control> </xforms:instance> <!-- Using xs:anyURI will cause the XForms engine to store a reference to a URI instead of inlinig the content of the file --> <xforms:bind nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> <!--<xforms:bind nodeset="/form/files/file" type="xs:base64Binary"/>--> <!-- Control whether the upload trigger is read-only or not --> <xforms:bind nodeset="instance('control-instance')/simple-upload-trigger" readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> <!-- Main submission which uploads the files --> <xforms:submission id="main-submission" method="post" replace="all" action="/xforms-upload" /> </xforms:model> </head> <body> <xsl:if test="/result/message"> <p style="color: red"> <xsl:value-of select="/result/message" /> </p> </xsl:if> <table> <tr> <td> <xforms:upload ref="."> <xforms:filename ref="@filename" /> <xforms:mediatype ref="@mediatype" /> <xxforms:size ref="@size" /> </xforms:upload> </td> </tr> </table> <table class="gridtable"> <tr> <th> Simple file upload </th> <td> <xforms:trigger ref="instance('control-instance')/simple-upload-trigger"> <xforms:label>Upload</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="instance('main-instance')/action">simple-upload</xforms:setvalue> <xforms:send submission="main-submission" /> </xforms:action> </xforms:trigger> </td> </tr> </table> <xsl:if test="$uploaded"> <h2>Submitted XForms Instance</h2> <f:box> <f:xml-source> <xsl:copy-of select="doc('input:instance')" /> </f:xml-source> </f:box> </xsl:if> </body> </html> Upload_file.xpl ************************************************************************ ************ <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <p:param name="data" type="input"/> <p:param name="instance" type="input"/> <p:param name="data" type="output"/> <!-- Get container type --> <p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/container-type</include> </config> </p:input> <p:output name="data" id="container-type"/> </p:processor> <p:choose href="#instance"> <p:when test="/*/action = 'simple-upload'"> <!-- A file was uploaded and we just want to send it back to the browser --> <!-- Dereference the xs:anyURI obtained from the instance (for the first file with an URI only) --> <p:processor name="oxf:pipeline"> <p:input name="config" href="read-uri.xpl"/> <p:input name="uri" href="aggregate('uri', #instance#xpointer(string(/*/files/file[. != ''][1])))"/> <p:output name="data" id="file"/> </p:processor> <!-- Send the data to the browser --> <p:processor name="oxf:http-serializer"> <p:input name="data" href="#file"/> <p:input name="config"> <config> <content-type>text/xml</content-type> <force-content-type>true</force-content-type> <cache-control> <use-local-cache>false</use-local-cache> </cache-control> </config> </p:input> </p:processor> <!-- Make sure the view is not executed --> <p:processor name="oxf:identity"> <p:input name="data"> <root xsi:nil="true"/> </p:input> <p:output name="data" ref="data"/> </p:processor> </p:when> <p:otherwise> <!-- Forward the URL generated by the action and container type to the view --> <p:processor name="oxf:identity"> <p:input name="data" href="aggregate('result', #data, #container-type)"/> <p:output name="data" ref="data"/> </p:processor> </p:otherwise> </p:choose> </p:config> -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: Wednesday, March 01, 2006 7:19 PM To: [hidden email] Subject: Re: [ops-users] Portable Instance Richard, To upload the instance to the server, you can use the XForms upload control. See the XForms upload example and the "Upload" section in the XForms Reference. If the instance you are uploading is large, use xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload To send the instance to the user, just use the XML serializer. http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer Alex On 2/27/06, Richard Braman <[hidden email]> wrote: > > Erik, > > I want to add to my architecture the ability for users will be able to take > their data with them instead of storing it on the server. When they hit > save it will update their XForms in memory on the server. But ultimately at > any time they can download their instance (which becomes their portable > electronic tax file) to their disk and upload it the next time to resume > preparation of their return or do something else. > > Three questions, what are the issues with this, especially when an instance > can be quite large? > What is the code to to process an uploaded instance into an input XML > pipeline? What is the code to display the instance as an XML Document? > > RIch > > > > Richard Braman > mailto:[hidden email] > 561.748.4002 (voice) > > http://www.taxcodesoftware.org > Free Open Source Tax Software > > > -- > You receive this message as a subscriber of the > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Richard,
Currently all URLs are set to xforms-server-submit after a submission has taken place! Why do you need the URL to show as xforms-upload? Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 07 March 2006 06:09 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Can someone plase give me a hint on how to get this upload control to >work, where do you handle the postback. It seems to >/path/xforms-server-submit and there is nothing there in my pageflow. > >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: Sunday, March 05, 2006 10:21 PM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >I see that the submission url is set in propertiex.xml. I changed it to >/1040ez/xforms-upload, but that didn't do the trick. When you initially >go to the page, it looks like it is trying to process the upload, but >nothing has been uploaded yet. I am at a loss to figure out how the >post-back occurs. > > >java.io.EOFException >Message >Servlet Stack Trace >(87 method calls) Class Name Method Name File Name Line Number >java.util.zip.GZIPInputStream readUByte N/A >java.util.zip.GZIPInputStream readUShort N/A >java.util.zip.GZIPInputStream readHeader N/A >java.util.zip.GZIPInputStream <init> N/A >java.util.zip.GZIPInputStream <init> N/A >org.orbeon.oxf.xforms.XFormsUtils decodeXML XFormsUtils.java 377 >org.orbeon.oxf.xforms.XFormsUtils decodeXML XFormsUtils.java > > >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: Sunday, March 05, 2006 9:37 PM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Trying to solve my own problem: This should be fixed. > ><xforms:upload ref="instance('main-instance')//files/file"> >Instead of ., now it seem to want to goto >http://24.75.221.234:8080/taxcode/xforms-server-submit >Which doesn't exist. I thought it was supposed to post back to itself. > > > >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: Sunday, March 05, 2006 8:59 PM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Hi Alex, > >I looked at the example, and I kind of get it, but I only need to upload >1 file, simple upload. So I tried to separate the piece I need and I am >getting an Xforms error >http://24.75.221.234:8080/taxcode/1040ez/xforms-upload > >This file is the users xforms instance, and I just want to send it back >to the browser for now. I plan to ultimately load it into my app, but 1 >step at a time. > >I cannot debug the XForms error: Node is not an element or attribute. > >Thanks for the help. > >Page flow ><page id="main" > path-info="/1040ez/xforms-upload" > model="xforms/upload_action.xpl" > view="xforms/upload.xhtml"> > <action when="/*/action = 'simple-upload'"><result >page="main"/></action> > </page> > >****************************************** >upload.xhtml > ><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >xmlns:xhtml="http://www.w3.org/1999/xhtml" >xmlns:xforms="http://www.w3.org/2002/xforms" >xmlns:ev="http://www.w3.org/2001/xml-events" >xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >xmlns:xs="http://www.w3.org/2001/XMLSchema" >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> > <xsl:variable name="uploaded" select="/result/urls/url != ''" >as="xs:boolean" /> > <xsl:variable name="in-portlet" >select="/result/request/container-type = 'portlet'" as="xs:boolean" /> > <head> > <title>XForms Upload</title> > <xforms:model> > <xforms:instance id="main-instance"> > <form xmlns=""> > <action /> > <files> > <file filename="" >mediatype="" size="" /> > </files> > </form> > </xforms:instance> > <xforms:instance id="control-instance"> > <control xmlns=""> > <simple-upload-trigger /> > </control> > </xforms:instance> > <!-- Using xs:anyURI will cause the XForms >engine to store a reference to > a URI instead of inlinig the content of the file --> > <xforms:bind >nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> > <!--<xforms:bind nodeset="/form/files/file" >type="xs:base64Binary"/>--> > <!-- Control whether the upload trigger is >read-only or not --> > <xforms:bind >nodeset="instance('control-instance')/simple-upload-trigger" >readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> > <!-- Main submission which uploads the files --> > <xforms:submission id="main-submission" >method="post" replace="all" action="/xforms-upload" /> > </xforms:model> > </head> > <body> > <xsl:if test="/result/message"> > <p style="color: red"> > <xsl:value-of select="/result/message" >/> > </p> > </xsl:if> > <table> > <tr> > <td> > <xforms:upload ref="."> > <xforms:filename >ref="@filename" /> > <xforms:mediatype >ref="@mediatype" /> > <xxforms:size >ref="@size" /> > </xforms:upload> > </td> > </tr> > </table> > <table class="gridtable"> > <tr> > <th> > Simple file upload > </th> > <td> > <xforms:trigger >ref="instance('control-instance')/simple-upload-trigger"> > ><xforms:label>Upload</xforms:label> > <xforms:action >ev:event="DOMActivate"> > <xforms:setvalue >ref="instance('main-instance')/action">simple-upload</xforms:setvalue> > <xforms:send >submission="main-submission" /> > </xforms:action> > </xforms:trigger> > </td> > </tr> > </table> > <xsl:if test="$uploaded"> > <h2>Submitted XForms Instance</h2> > <f:box> > <f:xml-source> > <xsl:copy-of >select="doc('input:instance')" /> > </f:xml-source> > </f:box> > </xsl:if> > </body> ></html> > >Upload_file.xpl >************************************************************************ >************ ><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:oxf="http://www.orbeon.com/oxf/processors"> > > <p:param name="data" type="input"/> > <p:param name="instance" type="input"/> > <p:param name="data" type="output"/> > > <!-- Get container type --> > <p:processor name="oxf:request"> > <p:input name="config"> > <config> > <include>/request/container-type</include> > </config> > </p:input> > <p:output name="data" id="container-type"/> > </p:processor> > > <p:choose href="#instance"> > <p:when test="/*/action = 'simple-upload'"> > <!-- A file was uploaded and we just want to send it back to >the browser --> > > <!-- Dereference the xs:anyURI obtained from the instance >(for the first file with an URI only) --> > <p:processor name="oxf:pipeline"> > <p:input name="config" href="read-uri.xpl"/> > <p:input name="uri" href="aggregate('uri', >#instance#xpointer(string(/*/files/file[. != ''][1])))"/> > <p:output name="data" id="file"/> > </p:processor> > > <!-- Send the data to the browser --> > <p:processor name="oxf:http-serializer"> > <p:input name="data" href="#file"/> > <p:input name="config"> > <config> > <content-type>text/xml</content-type> > <force-content-type>true</force-content-type> > <cache-control> > <use-local-cache>false</use-local-cache> > </cache-control> > </config> > </p:input> > </p:processor> > > <!-- Make sure the view is not executed --> > <p:processor name="oxf:identity"> > <p:input name="data"> > <root xsi:nil="true"/> > </p:input> > <p:output name="data" ref="data"/> > </p:processor> > </p:when> > <p:otherwise> > <!-- Forward the URL generated by the action and container >type to the view --> > <p:processor name="oxf:identity"> > <p:input name="data" href="aggregate('result', #data, >#container-type)"/> > <p:output name="data" ref="data"/> > </p:processor> > </p:otherwise> > </p:choose> > ></p:config> > > > > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] On Behalf Of >Alessandro Vernet >Sent: Wednesday, March 01, 2006 7:19 PM >To: [hidden email] >Subject: Re: [ops-users] Portable Instance > > >Richard, > >To upload the instance to the server, you can use the XForms upload >control. See the XForms upload example and the "Upload" section in the >XForms Reference. If the instance you are uploading is large, use >xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". > >http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload > >To send the instance to the user, just use the XML serializer. > >http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer > >Alex > >On 2/27/06, Richard Braman <[hidden email]> wrote: >> >> Erik, >> >> I want to add to my architecture the ability for users will be able to >take >> their data with them instead of storing it on the server. When they >hit >> save it will update their XForms in memory on the server. But >ultimately at >> any time they can download their instance (which becomes their >portable >> electronic tax file) to their disk and upload it the next time to >resume >> preparation of their return or do something else. >> >> Three questions, what are the issues with this, especially when an >instance >> can be quite large? >> What is the code to to process an uploaded instance into an input XML >> pipeline? What is the code to display the instance as an XML Document? >> >> RIch >> >> >> >> Richard Braman >> mailto:[hidden email] >> 561.748.4002 (voice) >> >> http://www.taxcodesoftware.org >> Free Open Source Tax Software >> >> >> -- >> You receive this message as a subscriber of the >[hidden email] >> mailing list. >> To unsubscribe: mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: >http://www.objectweb.org/wws >> >> >> > > >-- >Blog (XML, Web apps, Open Source): >http://www.orbeon.com/blog/ > > > > > > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
I don't need it to, I just don't understand how to handle it.
-----Original Message----- From: Ryan Puddephatt [mailto:[hidden email]] Sent: Tuesday, March 07, 2006 11:37 AM To: [hidden email] Subject: RE: [ops-users] Portable Instance Richard, Currently all URLs are set to xforms-server-submit after a submission has taken place! Why do you need the URL to show as xforms-upload? Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 07 March 2006 06:09 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Can someone plase give me a hint on how to get this upload control to >work, where do you handle the postback. It seems to >/path/xforms-server-submit and there is nothing there in my pageflow. > >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: Sunday, March 05, 2006 10:21 PM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >I see that the submission url is set in propertiex.xml. I changed it >to /1040ez/xforms-upload, but that didn't do the trick. When you >initially go to the page, it looks like it is trying to process the >upload, but nothing has been uploaded yet. I am at a loss to figure >out how the post-back occurs. > > >java.io.EOFException >Message >Servlet Stack Trace >(87 method calls) Class Name Method Name File Name Line Number >java.util.zip.GZIPInputStream readUByte N/A >java.util.zip.GZIPInputStream readUShort N/A >java.util.zip.GZIPInputStream readHeader N/A >java.util.zip.GZIPInputStream <init> N/A java.util.zip.GZIPInputStream ><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >XFormsUtils.java > > >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: Sunday, March 05, 2006 9:37 PM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Trying to solve my own problem: This should be fixed. > ><xforms:upload ref="instance('main-instance')//files/file"> >Instead of ., now it seem to want to goto >http://24.75.221.234:8080/taxcode/xforms-server-submit >Which doesn't exist. I thought it was supposed to post back to itself. > > > >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: Sunday, March 05, 2006 8:59 PM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Hi Alex, > >I looked at the example, and I kind of get it, but I only need to >upload 1 file, simple upload. So I tried to separate the piece I need >and I am getting an Xforms error >http://24.75.221.234:8080/taxcode/1040ez/xforms-upload > >This file is the users xforms instance, and I just want to send it back >to the browser for now. I plan to ultimately load it into my app, but >1 step at a time. > >I cannot debug the XForms error: Node is not an element or attribute. > >Thanks for the help. > >Page flow ><page id="main" > path-info="/1040ez/xforms-upload" > model="xforms/upload_action.xpl" > view="xforms/upload.xhtml"> > <action when="/*/action = 'simple-upload'"><result >page="main"/></action> > </page> > >****************************************** >upload.xhtml > ><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >xmlns:xhtml="http://www.w3.org/1999/xhtml" >xmlns:xforms="http://www.w3.org/2002/xforms" >xmlns:ev="http://www.w3.org/2001/xml-events" >xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >xmlns:xs="http://www.w3.org/2001/XMLSchema" >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> > <xsl:variable name="uploaded" select="/result/urls/url != ''" >as="xs:boolean" /> > <xsl:variable name="in-portlet" >= 'portlet'" as="xs:boolean" /> > <head> > <title>XForms Upload</title> > <xforms:model> > <xforms:instance id="main-instance"> > <form xmlns=""> > <action /> > <files> > <file filename="" >mediatype="" size="" /> > </files> > </form> > </xforms:instance> > <xforms:instance id="control-instance"> > <control xmlns=""> > <simple-upload-trigger /> > </control> > </xforms:instance> > <!-- Using xs:anyURI will cause the XForms >engine to store a reference to > a URI instead of inlinig the content of the file --> > <xforms:bind >nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> > <!--<xforms:bind nodeset="/form/files/file" >type="xs:base64Binary"/>--> > <!-- Control whether the upload trigger is >read-only or not --> > <xforms:bind >nodeset="instance('control-instance')/simple-upload-trigger" >readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> > <!-- Main submission which uploads the files --> > <xforms:submission id="main-submission" >method="post" replace="all" action="/xforms-upload" /> > </xforms:model> > </head> > <body> > <xsl:if test="/result/message"> > <p style="color: red"> > <xsl:value-of select="/result/message" >/> > </p> > </xsl:if> > <table> > <tr> > <td> > <xforms:upload ref="."> > <xforms:filename >ref="@filename" /> > <xforms:mediatype >ref="@mediatype" /> > <xxforms:size >ref="@size" /> > </xforms:upload> > </td> > </tr> > </table> > <table class="gridtable"> > <tr> > <th> > Simple file upload > </th> > <td> > <xforms:trigger >ref="instance('control-instance')/simple-upload-trigger"> > ><xforms:label>Upload</xforms:label> > <xforms:action >ev:event="DOMActivate"> > <xforms:setvalue >ref="instance('main-instance')/action">simple-upload</xforms:setvalue> > <xforms:send >submission="main-submission" /> > </xforms:action> > </xforms:trigger> > </td> > </tr> > </table> > <xsl:if test="$uploaded"> > <h2>Submitted XForms Instance</h2> > <f:box> > <f:xml-source> > <xsl:copy-of >select="doc('input:instance')" /> > </f:xml-source> > </f:box> > </xsl:if> > </body> ></html> > >Upload_file.xpl >*********************************************************************** >* >************ ><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:oxf="http://www.orbeon.com/oxf/processors"> > > <p:param name="data" type="input"/> > <p:param name="instance" type="input"/> > <p:param name="data" type="output"/> > > <!-- Get container type --> > <p:processor name="oxf:request"> > <p:input name="config"> > <config> > <include>/request/container-type</include> > </config> > </p:input> > <p:output name="data" id="container-type"/> > </p:processor> > > <p:choose href="#instance"> > <p:when test="/*/action = 'simple-upload'"> > <!-- A file was uploaded and we just want to send it back >to the browser --> > > <!-- Dereference the xs:anyURI obtained from the instance >(for the first file with an URI only) --> > <p:processor name="oxf:pipeline"> > <p:input name="config" href="read-uri.xpl"/> > <p:input name="uri" href="aggregate('uri', >#instance#xpointer(string(/*/files/file[. != ''][1])))"/> > <p:output name="data" id="file"/> > </p:processor> > > <!-- Send the data to the browser --> > <p:processor name="oxf:http-serializer"> > <p:input name="data" href="#file"/> > <p:input name="config"> > <config> > <content-type>text/xml</content-type> > <force-content-type>true</force-content-type> > <cache-control> > <use-local-cache>false</use-local-cache> > </cache-control> > </config> > </p:input> > </p:processor> > > <!-- Make sure the view is not executed --> > <p:processor name="oxf:identity"> > <p:input name="data"> > <root xsi:nil="true"/> > </p:input> > <p:output name="data" ref="data"/> > </p:processor> > </p:when> > <p:otherwise> > <!-- Forward the URL generated by the action and container >type to the view --> > <p:processor name="oxf:identity"> > <p:input name="data" href="aggregate('result', #data, >#container-type)"/> > <p:output name="data" ref="data"/> > </p:processor> > </p:otherwise> > </p:choose> > ></p:config> > > > > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] On Behalf Of >Alessandro Vernet >Sent: Wednesday, March 01, 2006 7:19 PM >To: [hidden email] >Subject: Re: [ops-users] Portable Instance > > >Richard, > >To upload the instance to the server, you can use the XForms upload >control. See the XForms upload example and the "Upload" section in the >XForms Reference. If the instance you are uploading is large, use >xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". > >http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload > >To send the instance to the user, just use the XML serializer. > >http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer > >Alex > >On 2/27/06, Richard Braman <[hidden email]> wrote: >> >> Erik, >> >> I want to add to my architecture the ability for users will be able >> to >take >> their data with them instead of storing it on the server. When they >hit >> save it will update their XForms in memory on the server. But >ultimately at >> any time they can download their instance (which becomes their >portable >> electronic tax file) to their disk and upload it the next time to >resume >> preparation of their return or do something else. >> >> Three questions, what are the issues with this, especially when an >instance >> can be quite large? >> What is the code to to process an uploaded instance into an input XML >> pipeline? What is the code to display the instance as an XML >> Document? >> >> RIch >> >> >> >> Richard Braman >> mailto:[hidden email] >> 561.748.4002 (voice) >> >> http://www.taxcodesoftware.org >> Free Open Source Tax Software >> >> >> -- >> You receive this message as a subscriber of the >[hidden email] >> mailing list. >> To unsubscribe: mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: >http://www.objectweb.org/wws >> >> >> > > >-- >Blog (XML, Web apps, Open Source): >http://www.orbeon.com/blog/ > > > > > > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
I don't quite understand what you need to handle?
Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 07 March 2006 16:39 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >I don't need it to, I just don't understand how to handle it. > >-----Original Message----- >From: Ryan Puddephatt [mailto:[hidden email]] >Sent: Tuesday, March 07, 2006 11:37 AM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Richard, > Currently all URLs are set to xforms-server-submit after a >submission has taken place! Why do you need the URL to show as >xforms-upload? > >Ryan Puddephatt >Software Engineer >TFX Group - IT UK >1 Michaelson Square >Livingston >West Lothian >Scotand >EH54 7DP > >* [hidden email] >( 01506 407 110 >7 01506 407 108 > > >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: 07 March 2006 06:09 >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >>Can someone plase give me a hint on how to get this upload control to >>work, where do you handle the postback. It seems to >>/path/xforms-server-submit and there is nothing there in my pageflow. >> >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: Sunday, March 05, 2006 10:21 PM >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >> >>I see that the submission url is set in propertiex.xml. I changed it >>to /1040ez/xforms-upload, but that didn't do the trick. When you >>initially go to the page, it looks like it is trying to process the >>upload, but nothing has been uploaded yet. I am at a loss to figure >>out how the post-back occurs. >> >> >>java.io.EOFException >>Message >>Servlet Stack Trace >>(87 method calls) Class Name Method Name File Name Line Number >>java.util.zip.GZIPInputStream readUByte N/A >>java.util.zip.GZIPInputStream readUShort N/A >>java.util.zip.GZIPInputStream readHeader N/A >>java.util.zip.GZIPInputStream <init> N/A java.util.zip.GZIPInputStream > >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >>XFormsUtils.java >> >> >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: Sunday, March 05, 2006 9:37 PM >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >> >>Trying to solve my own problem: This should be fixed. >> >><xforms:upload ref="instance('main-instance')//files/file"> >>Instead of ., now it seem to want to goto >>http://24.75.221.234:8080/taxcode/xforms-server-submit >>Which doesn't exist. I thought it was supposed to post back to itself. >> >> >> >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: Sunday, March 05, 2006 8:59 PM >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >> >>Hi Alex, >> >>I looked at the example, and I kind of get it, but I only need to >>upload 1 file, simple upload. So I tried to separate the piece I need >>and I am getting an Xforms error >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >>This file is the users xforms instance, and I just want to send it back > >>to the browser for now. I plan to ultimately load it into my app, but >>1 step at a time. >> >>I cannot debug the XForms error: Node is not an element or attribute. >> >>Thanks for the help. >> >>Page flow >><page id="main" >> path-info="/1040ez/xforms-upload" >> model="xforms/upload_action.xpl" >> view="xforms/upload.xhtml"> >> <action when="/*/action = 'simple-upload'"><result >>page="main"/></action> >> </page> >> >>****************************************** >>upload.xhtml >> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >>xmlns:xforms="http://www.w3.org/2002/xforms" >>xmlns:ev="http://www.w3.org/2001/xml-events" >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" >>as="xs:boolean" /> >> <xsl:variable name="in-portlet" >select="/result/request/container-type >>= 'portlet'" as="xs:boolean" /> >> <head> >> <title>XForms Upload</title> >> <xforms:model> >> <xforms:instance id="main-instance"> >> <form xmlns=""> >> <action /> >> <files> >> <file filename="" >>mediatype="" size="" /> >> </files> >> </form> >> </xforms:instance> >> <xforms:instance id="control-instance"> >> <control xmlns=""> >> <simple-upload-trigger /> >> </control> >> </xforms:instance> >> <!-- Using xs:anyURI will cause the XForms >>engine to store a reference to >> a URI instead of inlinig the content of the file --> >> <xforms:bind >>nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> >> <!--<xforms:bind nodeset="/form/files/file" >>type="xs:base64Binary"/>--> >> <!-- Control whether the upload trigger is >>read-only or not --> >> <xforms:bind >>nodeset="instance('control-instance')/simple-upload-trigger" >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >> <!-- Main submission which uploads the files --> >> <xforms:submission id="main-submission" >>method="post" replace="all" action="/xforms-upload" /> >> </xforms:model> >> </head> >> <body> >> <xsl:if test="/result/message"> >> <p style="color: red"> >> <xsl:value-of select="/result/message" >>/> >> </p> >> </xsl:if> >> <table> >> <tr> >> <td> >> <xforms:upload ref="."> >> <xforms:filename >>ref="@filename" /> >> <xforms:mediatype >>ref="@mediatype" /> >> <xxforms:size >>ref="@size" /> >> </xforms:upload> >> </td> >> </tr> >> </table> >> <table class="gridtable"> >> <tr> >> <th> >> Simple file upload >> </th> >> <td> >> <xforms:trigger >>ref="instance('control-instance')/simple-upload-trigger"> >> >><xforms:label>Upload</xforms:label> >> <xforms:action >>ev:event="DOMActivate"> >> <xforms:setvalue > >>ref="instance('main-instance')/action">simple-upload</xforms:setvalue> >> <xforms:send >>submission="main-submission" /> >> </xforms:action> >> </xforms:trigger> >> </td> >> </tr> >> </table> >> <xsl:if test="$uploaded"> >> <h2>Submitted XForms Instance</h2> >> <f:box> >> <f:xml-source> >> <xsl:copy-of >>select="doc('input:instance')" /> >> </f:xml-source> >> </f:box> >> </xsl:if> >> </body> >></html> >> >>Upload_file.xpl >>*********************************************************************** >>* >>************ >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >>to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >>(for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >>#instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and container >>type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >>#container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >></p:config> >> >> >> >> >>-----Original Message----- >>From: [hidden email] [mailto:[hidden email]] On Behalf Of >>Alessandro Vernet >>Sent: Wednesday, March 01, 2006 7:19 PM >>To: [hidden email] >>Subject: Re: [ops-users] Portable Instance >> >> >>Richard, >> >>To upload the instance to the server, you can use the XForms upload >>control. See the XForms upload example and the "Upload" section in the >>XForms Reference. If the instance you are uploading is large, use >>xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". >> >>http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload >> >>To send the instance to the user, just use the XML serializer. >> >>http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer >> >>Alex >> >>On 2/27/06, Richard Braman <[hidden email]> wrote: >>> >>> Erik, >>> >>> I want to add to my architecture the ability for users will be able >>> to >>take >>> their data with them instead of storing it on the server. When they >>hit >>> save it will update their XForms in memory on the server. But >>ultimately at >>> any time they can download their instance (which becomes their >>portable >>> electronic tax file) to their disk and upload it the next time to >>resume >>> preparation of their return or do something else. >>> >>> Three questions, what are the issues with this, especially when an >>instance >>> can be quite large? >>> What is the code to to process an uploaded instance into an input XML > >>> pipeline? What is the code to display the instance as an XML >>> Document? >>> >>> RIch >>> >>> >>> >>> Richard Braman >>> mailto:[hidden email] >>> 561.748.4002 (voice) >>> >>> http://www.taxcodesoftware.org >>> Free Open Source Tax Software >>> >>> >>> -- >>> You receive this message as a subscriber of the >>[hidden email] >>> mailing list. >>> To unsubscribe: mailto:[hidden email] >>> For general help: mailto:[hidden email]?subject=help >>> ObjectWeb mailing lists service home page: >>http://www.objectweb.org/wws >>> >>> >>> >> >> >>-- >>Blog (XML, Web apps, Open Source): >>http://www.orbeon.com/blog/ >> >> >> >> >> >> >> >> > > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Hi Ryan, et al.
I am trying to handle the submission of the file I am uploading, but its not making sense. I don't see /xforms-server-submit in the page flow, but rather is the properties.xml file. It has a pointer to xforms-server-submit.xpl which seems to get the sumssion and do something with it. 2 questions: 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit See the original control at http://24.75.221.234:8080/taxcode/1040ez/xforms-upload 2. How this ties into upload_action.xpl <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <p:param name="data" type="input"/> <p:param name="instance" type="input"/> <p:param name="data" type="output"/> <!-- Get container type --> <p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/container-type</include> </config> </p:input> <p:output name="data" id="container-type"/> </p:processor> <p:choose href="#instance"> <p:when test="/*/action = 'simple-upload'"> <!-- A file was uploaded and we just want to send it back to the browser --> <!-- Dereference the xs:anyURI obtained from the instance (for the first file with an URI only) --> <p:processor name="oxf:pipeline"> <p:input name="config" href="read-uri.xpl"/> <p:input name="uri" href="aggregate('uri', #instance#xpointer(string(/*/files/file[. != ''][1])))"/> <p:output name="data" id="file"/> </p:processor> <!-- Send the data to the browser --> <p:processor name="oxf:http-serializer"> <p:input name="data" href="#file"/> <p:input name="config"> <config> <content-type>text/xml</content-type> <force-content-type>true</force-content-type> <cache-control> <use-local-cache>false</use-local-cache> </cache-control> </config> </p:input> </p:processor> <!-- Make sure the view is not executed --> <p:processor name="oxf:identity"> <p:input name="data"> <root xsi:nil="true"/> </p:input> <p:output name="data" ref="data"/> </p:processor> </p:when> <p:otherwise> <!-- Forward the URL generated by the action and container type to the view --> <p:processor name="oxf:identity"> <p:input name="data" href="aggregate('result', #data, #container-type)"/> <p:output name="data" ref="data"/> </p:processor> </p:otherwise> </p:choose> </p:config> -----Original Message----- From: Ryan Puddephatt [mailto:[hidden email]] Sent: Tuesday, March 07, 2006 11:56 AM To: [hidden email] Subject: RE: [ops-users] Portable Instance I don't quite understand what you need to handle? Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 07 March 2006 16:39 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >I don't need it to, I just don't understand how to handle it. > >-----Original Message----- >From: Ryan Puddephatt [mailto:[hidden email]] >Sent: Tuesday, March 07, 2006 11:37 AM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Richard, > Currently all URLs are set to xforms-server-submit after a >has taken place! Why do you need the URL to show as xforms-upload? > >Ryan Puddephatt >Software Engineer >TFX Group - IT UK >1 Michaelson Square >Livingston >West Lothian >Scotand >EH54 7DP > >* [hidden email] >( 01506 407 110 >7 01506 407 108 > > >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: 07 March 2006 06:09 >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >>Can someone plase give me a hint on how to get this upload control to >>work, where do you handle the postback. It seems to >>/path/xforms-server-submit and there is nothing there in my pageflow. >> >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: Sunday, March 05, 2006 10:21 PM >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >> >>I see that the submission url is set in propertiex.xml. I changed it >>to /1040ez/xforms-upload, but that didn't do the trick. When you >>initially go to the page, it looks like it is trying to process the >>upload, but nothing has been uploaded yet. I am at a loss to figure >>out how the post-back occurs. >> >> >>java.io.EOFException >>Message >>Servlet Stack Trace >>(87 method calls) Class Name Method Name File Name Line Number >>java.util.zip.GZIPInputStream readUByte N/A >>java.util.zip.GZIPInputStream readUShort N/A >>java.util.zip.GZIPInputStream readHeader N/A >>java.util.zip.GZIPInputStream <init> N/A >>java.util.zip.GZIPInputStream > >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >>XFormsUtils.java >> >> >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: Sunday, March 05, 2006 9:37 PM >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >> >>Trying to solve my own problem: This should be fixed. >> >><xforms:upload ref="instance('main-instance')//files/file"> >>Instead of ., now it seem to want to goto >>http://24.75.221.234:8080/taxcode/xforms-server-submit >>Which doesn't exist. I thought it was supposed to post back to >>itself. >> >> >> >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: Sunday, March 05, 2006 8:59 PM >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >> >>Hi Alex, >> >>I looked at the example, and I kind of get it, but I only need to >>upload 1 file, simple upload. So I tried to separate the piece I need >>and I am getting an Xforms error >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >>This file is the users xforms instance, and I just want to send it >>back > >>to the browser for now. I plan to ultimately load it into my app, but >>1 step at a time. >> >>I cannot debug the XForms error: Node is not an element or attribute. >> >>Thanks for the help. >> >>Page flow >><page id="main" >> path-info="/1040ez/xforms-upload" >> model="xforms/upload_action.xpl" >> view="xforms/upload.xhtml"> >> <action when="/*/action = 'simple-upload'"><result >>page="main"/></action> >> </page> >> >>****************************************** >>upload.xhtml >> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >>xmlns:xforms="http://www.w3.org/2002/xforms" >>xmlns:ev="http://www.w3.org/2001/xml-events" >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" >>as="xs:boolean" /> >> <xsl:variable name="in-portlet" >select="/result/request/container-type >>= 'portlet'" as="xs:boolean" /> >> <head> >> <title>XForms Upload</title> >> <xforms:model> >> <xforms:instance id="main-instance"> >> <form xmlns=""> >> <action /> >> <files> >> <file filename="" >>mediatype="" size="" /> >> </files> >> </form> >> </xforms:instance> >> <xforms:instance id="control-instance"> >> <control xmlns=""> >> <simple-upload-trigger /> >> </control> >> </xforms:instance> >> <!-- Using xs:anyURI will cause the XForms >>engine to store a reference to >> a URI instead of inlinig the content of the file --> >> <xforms:bind >>type="xs:anyURI" /> >> <!--<xforms:bind nodeset="/form/files/file" >>type="xs:base64Binary"/>--> >> <!-- Control whether the upload trigger is >>read-only or not --> >> <xforms:bind >>nodeset="instance('control-instance')/simple-upload-trigger" >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >> <!-- Main submission which uploads the files --> >> <xforms:submission id="main-submission" >>method="post" replace="all" action="/xforms-upload" /> >> </xforms:model> >> </head> >> <body> >> <xsl:if test="/result/message"> >> <p style="color: red"> >> <xsl:value-of select="/result/message" >>/> >> </p> >> </xsl:if> >> <table> >> <tr> >> <td> >> <xforms:upload ref="."> >> <xforms:filename >>ref="@filename" /> >> <xforms:mediatype >>ref="@mediatype" /> >> <xxforms:size >>ref="@size" /> >> </xforms:upload> >> </td> >> </tr> >> </table> >> <table class="gridtable"> >> <tr> >> <th> >> Simple file upload >> </th> >> <td> >> <xforms:trigger >>ref="instance('control-instance')/simple-upload-trigger"> >> >><xforms:label>Upload</xforms:label> >> <xforms:action >>ev:event="DOMActivate"> >> <xforms:setvalue > >>ref="instance('main-instance')/action">simple-upload</xforms:setvalue> >> <xforms:send >>submission="main-submission" /> >> </xforms:action> >> </xforms:trigger> >> </td> >> </tr> >> </table> >> <xsl:if test="$uploaded"> >> <h2>Submitted XForms Instance</h2> >> <f:box> >> <f:xml-source> >> <xsl:copy-of >>select="doc('input:instance')" /> >> </f:xml-source> >> </f:box> >> </xsl:if> >> </body> >></html> >> >>Upload_file.xpl >>********************************************************************** >>* >>* >>************ >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >>to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >>(for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >>#instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and container >>type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >>#container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >></p:config> >> >> >> >> >>-----Original Message----- >>From: [hidden email] [mailto:[hidden email]] On Behalf Of >>Alessandro Vernet >>Sent: Wednesday, March 01, 2006 7:19 PM >>To: [hidden email] >>Subject: Re: [ops-users] Portable Instance >> >> >>Richard, >> >>To upload the instance to the server, you can use the XForms upload >>control. See the XForms upload example and the "Upload" section in the >>XForms Reference. If the instance you are uploading is large, use >>xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". >> >>http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload >> >>To send the instance to the user, just use the XML serializer. >> >>http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer >> >>Alex >> >>On 2/27/06, Richard Braman <[hidden email]> wrote: >>> >>> Erik, >>> >>> I want to add to my architecture the ability for users will be able >>> to >>take >>> their data with them instead of storing it on the server. When they >>hit >>> save it will update their XForms in memory on the server. But >>ultimately at >>> any time they can download their instance (which becomes their >>portable >>> electronic tax file) to their disk and upload it the next time to >>resume >>> preparation of their return or do something else. >>> >>> Three questions, what are the issues with this, especially when an >>instance >>> can be quite large? >>> What is the code to to process an uploaded instance into an input >>> XML > >>> pipeline? What is the code to display the instance as an XML >>> Document? >>> >>> RIch >>> >>> >>> >>> Richard Braman >>> mailto:[hidden email] >>> 561.748.4002 (voice) >>> >>> http://www.taxcodesoftware.org >>> Free Open Source Tax Software >>> >>> >>> -- >>> You receive this message as a subscriber of the >>[hidden email] >>> mailing list. >>> To unsubscribe: mailto:[hidden email] >>> For general help: mailto:[hidden email]?subject=help >>> ObjectWeb mailing lists service home page: >>http://www.objectweb.org/wws >>> >>> >>> >> >> >>-- >>Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ >> >> >> >> >> >> >> >> > > > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Richard,
The 404 you get is not because /xforms-server-submit does not exist, but because the URL that the XForms server tries to access returns a 404. In your view you have: <xforms:submission id="main-submission" method="post" replace="all" action="/xforms-upload" /> But in the page flow you have: <page id="main" path-info="/1040ez/xforms-upload" ...> So I think you are getting this 404 because the XForms server can't find /xforms-upload. Maybe try replacing /xforms-upload by /1040ez/xforms-upload for the value of the action attribute. Alex On 3/7/06, Richard Braman <[hidden email]> wrote: > Hi Ryan, et al. > > I am trying to handle the submission of the file I am uploading, but its > not making sense. I don't see /xforms-server-submit in the page flow, > but rather is the properties.xml file. It has a pointer to > xforms-server-submit.xpl which seems to get the sumssion and do > something with it. 2 questions: > > 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit > > See the original control at > http://24.75.221.234:8080/taxcode/1040ez/xforms-upload > > 2. How this ties into upload_action.xpl > > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:oxf="http://www.orbeon.com/oxf/processors"> > > <p:param name="data" type="input"/> > <p:param name="instance" type="input"/> > <p:param name="data" type="output"/> > > <!-- Get container type --> > <p:processor name="oxf:request"> > <p:input name="config"> > <config> > <include>/request/container-type</include> > </config> > </p:input> > <p:output name="data" id="container-type"/> > </p:processor> > > <p:choose href="#instance"> > <p:when test="/*/action = 'simple-upload'"> > <!-- A file was uploaded and we just want to send it back to > the browser --> > > <!-- Dereference the xs:anyURI obtained from the instance > (for the first file with an URI only) --> > <p:processor name="oxf:pipeline"> > <p:input name="config" href="read-uri.xpl"/> > <p:input name="uri" href="aggregate('uri', > #instance#xpointer(string(/*/files/file[. != ''][1])))"/> > <p:output name="data" id="file"/> > </p:processor> > > <!-- Send the data to the browser --> > <p:processor name="oxf:http-serializer"> > <p:input name="data" href="#file"/> > <p:input name="config"> > <config> > <content-type>text/xml</content-type> > <force-content-type>true</force-content-type> > <cache-control> > <use-local-cache>false</use-local-cache> > </cache-control> > </config> > </p:input> > </p:processor> > > <!-- Make sure the view is not executed --> > <p:processor name="oxf:identity"> > <p:input name="data"> > <root xsi:nil="true"/> > </p:input> > <p:output name="data" ref="data"/> > </p:processor> > </p:when> > <p:otherwise> > <!-- Forward the URL generated by the action and container > type to the view --> > <p:processor name="oxf:identity"> > <p:input name="data" href="aggregate('result', #data, > #container-type)"/> > <p:output name="data" ref="data"/> > </p:processor> > </p:otherwise> > </p:choose> > > </p:config> > > -----Original Message----- > From: Ryan Puddephatt [mailto:[hidden email]] > Sent: Tuesday, March 07, 2006 11:56 AM > To: [hidden email] > Subject: RE: [ops-users] Portable Instance > > > I don't quite understand what you need to handle? > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 > > > >-----Original Message----- > >From: Richard Braman [mailto:[hidden email]] > >Sent: 07 March 2006 16:39 > >To: [hidden email] > >Subject: RE: [ops-users] Portable Instance > > > >I don't need it to, I just don't understand how to handle it. > > > >-----Original Message----- > >From: Ryan Puddephatt [mailto:[hidden email]] > >Sent: Tuesday, March 07, 2006 11:37 AM > >To: [hidden email] > >Subject: RE: [ops-users] Portable Instance > > > > > >Richard, > > Currently all URLs are set to xforms-server-submit after a > submission > >has taken place! Why do you need the URL to show as xforms-upload? > > > >Ryan Puddephatt > >Software Engineer > >TFX Group - IT UK > >1 Michaelson Square > >Livingston > >West Lothian > >Scotand > >EH54 7DP > > > >* [hidden email] > >( 01506 407 110 > >7 01506 407 108 > > > > > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: 07 March 2006 06:09 > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >>Can someone plase give me a hint on how to get this upload control to > >>work, where do you handle the postback. It seems to > >>/path/xforms-server-submit and there is nothing there in my pageflow. > >> > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: Sunday, March 05, 2006 10:21 PM > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >> > >>I see that the submission url is set in propertiex.xml. I changed it > >>to /1040ez/xforms-upload, but that didn't do the trick. When you > >>initially go to the page, it looks like it is trying to process the > >>upload, but nothing has been uploaded yet. I am at a loss to figure > >>out how the post-back occurs. > >> > >> > >>java.io.EOFException > >>Message > >>Servlet Stack Trace > >>(87 method calls) Class Name Method Name File Name Line Number > >>java.util.zip.GZIPInputStream readUByte N/A > >>java.util.zip.GZIPInputStream readUShort N/A > >>java.util.zip.GZIPInputStream readHeader N/A > >>java.util.zip.GZIPInputStream <init> N/A > >>java.util.zip.GZIPInputStream > > > >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML > >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML > >>XFormsUtils.java > >> > >> > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: Sunday, March 05, 2006 9:37 PM > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >> > >>Trying to solve my own problem: This should be fixed. > >> > >><xforms:upload ref="instance('main-instance')//files/file"> > >>Instead of ., now it seem to want to goto > >>http://24.75.221.234:8080/taxcode/xforms-server-submit > >>Which doesn't exist. I thought it was supposed to post back to > >>itself. > >> > >> > >> > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: Sunday, March 05, 2006 8:59 PM > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >> > >>Hi Alex, > >> > >>I looked at the example, and I kind of get it, but I only need to > >>upload 1 file, simple upload. So I tried to separate the piece I need > > >>and I am getting an Xforms error > >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload > >> > >>This file is the users xforms instance, and I just want to send it > >>back > > > >>to the browser for now. I plan to ultimately load it into my app, but > > >>1 step at a time. > >> > >>I cannot debug the XForms error: Node is not an element or attribute. > >> > >>Thanks for the help. > >> > >>Page flow > >><page id="main" > >> path-info="/1040ez/xforms-upload" > >> model="xforms/upload_action.xpl" > >> view="xforms/upload.xhtml"> > >> <action when="/*/action = 'simple-upload'"><result > >>page="main"/></action> > >> </page> > >> > >>****************************************** > >>upload.xhtml > >> > >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" > >>xmlns:xhtml="http://www.w3.org/1999/xhtml" > >>xmlns:xforms="http://www.w3.org/2002/xforms" > >>xmlns:ev="http://www.w3.org/2001/xml-events" > >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" > >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > >>xmlns:xs="http://www.w3.org/2001/XMLSchema" > >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> > >> <xsl:variable name="uploaded" select="/result/urls/url != ''" > >>as="xs:boolean" /> > >> <xsl:variable name="in-portlet" > >select="/result/request/container-type > >>= 'portlet'" as="xs:boolean" /> > >> <head> > >> <title>XForms Upload</title> > >> <xforms:model> > >> <xforms:instance id="main-instance"> > >> <form xmlns=""> > >> <action /> > >> <files> > >> <file filename="" > >>mediatype="" size="" /> > >> </files> > >> </form> > >> </xforms:instance> > >> <xforms:instance id="control-instance"> > >> <control xmlns=""> > >> <simple-upload-trigger /> > >> </control> > >> </xforms:instance> > >> <!-- Using xs:anyURI will cause the XForms > >>engine to store a reference to > >> a URI instead of inlinig the content of the file --> > >> <xforms:bind > nodeset="instance('main-instance')/files/file" > >>type="xs:anyURI" /> > >> <!--<xforms:bind nodeset="/form/files/file" > >>type="xs:base64Binary"/>--> > >> <!-- Control whether the upload trigger is > >>read-only or not --> > >> <xforms:bind > >>nodeset="instance('control-instance')/simple-upload-trigger" > >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> > >> <!-- Main submission which uploads the files --> > >> <xforms:submission id="main-submission" > >>method="post" replace="all" action="/xforms-upload" /> > >> </xforms:model> > >> </head> > >> <body> > >> <xsl:if test="/result/message"> > >> <p style="color: red"> > >> <xsl:value-of select="/result/message" > >>/> > >> </p> > >> </xsl:if> > >> <table> > >> <tr> > >> <td> > >> <xforms:upload ref="."> > >> <xforms:filename > >>ref="@filename" /> > >> <xforms:mediatype > >>ref="@mediatype" /> > >> <xxforms:size > >>ref="@size" /> > >> </xforms:upload> > >> </td> > >> </tr> > >> </table> > >> <table class="gridtable"> > >> <tr> > >> <th> > >> Simple file upload > >> </th> > >> <td> > >> <xforms:trigger > >>ref="instance('control-instance')/simple-upload-trigger"> > >> > >><xforms:label>Upload</xforms:label> > >> <xforms:action > >>ev:event="DOMActivate"> > >> <xforms:setvalue > > > >>ref="instance('main-instance')/action">simple-upload</xforms:setvalue> > >> <xforms:send > >>submission="main-submission" /> > >> </xforms:action> > >> </xforms:trigger> > >> </td> > >> </tr> > >> </table> > >> <xsl:if test="$uploaded"> > >> <h2>Submitted XForms Instance</h2> > >> <f:box> > >> <f:xml-source> > >> <xsl:copy-of > >>select="doc('input:instance')" /> > >> </f:xml-source> > >> </f:box> > >> </xsl:if> > >> </body> > >></html> > >> > >>Upload_file.xpl > >>********************************************************************** > >>* > >>* > >>************ > >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> > >> > >> <p:param name="data" type="input"/> > >> <p:param name="instance" type="input"/> > >> <p:param name="data" type="output"/> > >> > >> <!-- Get container type --> > >> <p:processor name="oxf:request"> > >> <p:input name="config"> > >> <config> > >> <include>/request/container-type</include> > >> </config> > >> </p:input> > >> <p:output name="data" id="container-type"/> > >> </p:processor> > >> > >> <p:choose href="#instance"> > >> <p:when test="/*/action = 'simple-upload'"> > >> <!-- A file was uploaded and we just want to send it back > >>to the browser --> > >> > >> <!-- Dereference the xs:anyURI obtained from the instance > >>(for the first file with an URI only) --> > >> <p:processor name="oxf:pipeline"> > >> <p:input name="config" href="read-uri.xpl"/> > >> <p:input name="uri" href="aggregate('uri', > >>#instance#xpointer(string(/*/files/file[. != ''][1])))"/> > >> <p:output name="data" id="file"/> > >> </p:processor> > >> > >> <!-- Send the data to the browser --> > >> <p:processor name="oxf:http-serializer"> > >> <p:input name="data" href="#file"/> > >> <p:input name="config"> > >> <config> > >> <content-type>text/xml</content-type> > >> <force-content-type>true</force-content-type> > >> <cache-control> > >> <use-local-cache>false</use-local-cache> > >> </cache-control> > >> </config> > >> </p:input> > >> </p:processor> > >> > >> <!-- Make sure the view is not executed --> > >> <p:processor name="oxf:identity"> > >> <p:input name="data"> > >> <root xsi:nil="true"/> > >> </p:input> > >> <p:output name="data" ref="data"/> > >> </p:processor> > >> </p:when> > >> <p:otherwise> > >> <!-- Forward the URL generated by the action and container > > >>type to the view --> > >> <p:processor name="oxf:identity"> > >> <p:input name="data" href="aggregate('result', #data, > >>#container-type)"/> > >> <p:output name="data" ref="data"/> > >> </p:processor> > >> </p:otherwise> > >> </p:choose> > >> > >></p:config> > >> > >> > >> > >> > >>-----Original Message----- > >>From: [hidden email] [mailto:[hidden email]] On Behalf Of > >>Alessandro Vernet > >>Sent: Wednesday, March 01, 2006 7:19 PM > >>To: [hidden email] > >>Subject: Re: [ops-users] Portable Instance > >> > >> > >>Richard, > >> > >>To upload the instance to the server, you can use the XForms upload > >>control. See the XForms upload example and the "Upload" section in the > > >>XForms Reference. If the instance you are uploading is large, use > >>xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". > >> > >>http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload > >> > >>To send the instance to the user, just use the XML serializer. > >> > >>http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer > >> > >>Alex > >> > >>On 2/27/06, Richard Braman <[hidden email]> wrote: > >>> > >>> Erik, > >>> > >>> I want to add to my architecture the ability for users will be able > >>> to > >>take > >>> their data with them instead of storing it on the server. When they > >>hit > >>> save it will update their XForms in memory on the server. But > >>ultimately at > >>> any time they can download their instance (which becomes their > >>portable > >>> electronic tax file) to their disk and upload it the next time to > >>resume > >>> preparation of their return or do something else. > >>> > >>> Three questions, what are the issues with this, especially when an > >>instance > >>> can be quite large? > >>> What is the code to to process an uploaded instance into an input > >>> XML > > > >>> pipeline? What is the code to display the instance as an XML > >>> Document? > >>> > >>> RIch > >>> > >>> > >>> > >>> Richard Braman > >>> mailto:[hidden email] > >>> 561.748.4002 (voice) > >>> > >>> http://www.taxcodesoftware.org > >>> Free Open Source Tax Software > >>> > >>> > >>> -- > >>> You receive this message as a subscriber of the > >>[hidden email] > >>> mailing list. > >>> To unsubscribe: mailto:[hidden email] > >>> For general help: mailto:[hidden email]?subject=help > >>> ObjectWeb mailing lists service home page: > >>http://www.objectweb.org/wws > >>> > >>> > >>> > >> > >> > >>-- > >>Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > >> > >> > >> > >> > >> > >> > >> > >> > > > > > > > > > > > > > > > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Thanks Alex, that fixed the 404. But the uploaded xml is not being sent
back to the browser. That's not that important, I ultimately want the uploaded data to become the xforms instance on /1040ez. What should I use to connect the two? -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: Tuesday, March 07, 2006 8:01 PM To: [hidden email] Subject: Re: [ops-users] Portable Instance Richard, The 404 you get is not because /xforms-server-submit does not exist, but because the URL that the XForms server tries to access returns a 404. In your view you have: <xforms:submission id="main-submission" method="post" replace="all" action="/xforms-upload" /> But in the page flow you have: <page id="main" path-info="/1040ez/xforms-upload" ...> So I think you are getting this 404 because the XForms server can't find /xforms-upload. Maybe try replacing /xforms-upload by /1040ez/xforms-upload for the value of the action attribute. Alex On 3/7/06, Richard Braman <[hidden email]> wrote: > Hi Ryan, et al. > > I am trying to handle the submission of the file I am uploading, but > its not making sense. I don't see /xforms-server-submit in the page > flow, but rather is the properties.xml file. It has a pointer to > xforms-server-submit.xpl which seems to get the sumssion and do > something with it. 2 questions: > > 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit > > See the original control at > http://24.75.221.234:8080/taxcode/1040ez/xforms-upload > > 2. How this ties into upload_action.xpl > > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:oxf="http://www.orbeon.com/oxf/processors"> > > <p:param name="data" type="input"/> > <p:param name="instance" type="input"/> > <p:param name="data" type="output"/> > > <!-- Get container type --> > <p:processor name="oxf:request"> > <p:input name="config"> > <config> > <include>/request/container-type</include> > </config> > </p:input> > <p:output name="data" id="container-type"/> > </p:processor> > > <p:choose href="#instance"> > <p:when test="/*/action = 'simple-upload'"> > <!-- A file was uploaded and we just want to send it back > to the browser --> > > <!-- Dereference the xs:anyURI obtained from the instance > (for the first file with an URI only) --> > <p:processor name="oxf:pipeline"> > <p:input name="config" href="read-uri.xpl"/> > <p:input name="uri" href="aggregate('uri', > #instance#xpointer(string(/*/files/file[. != ''][1])))"/> > <p:output name="data" id="file"/> > </p:processor> > > <!-- Send the data to the browser --> > <p:processor name="oxf:http-serializer"> > <p:input name="data" href="#file"/> > <p:input name="config"> > <config> > <content-type>text/xml</content-type> > <force-content-type>true</force-content-type> > <cache-control> > <use-local-cache>false</use-local-cache> > </cache-control> > </config> > </p:input> > </p:processor> > > <!-- Make sure the view is not executed --> > <p:processor name="oxf:identity"> > <p:input name="data"> > <root xsi:nil="true"/> > </p:input> > <p:output name="data" ref="data"/> > </p:processor> > </p:when> > <p:otherwise> > <!-- Forward the URL generated by the action and container > type to the view --> > <p:processor name="oxf:identity"> > <p:input name="data" href="aggregate('result', #data, > #container-type)"/> > <p:output name="data" ref="data"/> > </p:processor> > </p:otherwise> > </p:choose> > > </p:config> > > -----Original Message----- > From: Ryan Puddephatt [mailto:[hidden email]] > Sent: Tuesday, March 07, 2006 11:56 AM > To: [hidden email] > Subject: RE: [ops-users] Portable Instance > > > I don't quite understand what you need to handle? > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 > > > >-----Original Message----- > >From: Richard Braman [mailto:[hidden email]] > >Sent: 07 March 2006 16:39 > >To: [hidden email] > >Subject: RE: [ops-users] Portable Instance > > > >I don't need it to, I just don't understand how to handle it. > > > >-----Original Message----- > >From: Ryan Puddephatt [mailto:[hidden email]] > >Sent: Tuesday, March 07, 2006 11:37 AM > >To: [hidden email] > >Subject: RE: [ops-users] Portable Instance > > > > > >Richard, > > Currently all URLs are set to xforms-server-submit after a > submission > >has taken place! Why do you need the URL to show as xforms-upload? > > > >Ryan Puddephatt > >Software Engineer > >TFX Group - IT UK > >1 Michaelson Square > >Livingston > >West Lothian > >Scotand > >EH54 7DP > > > >* [hidden email] > >( 01506 407 110 > >7 01506 407 108 > > > > > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: 07 March 2006 06:09 > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >>Can someone plase give me a hint on how to get this upload control > >>to work, where do you handle the postback. It seems to > >>/path/xforms-server-submit and there is nothing there in my > >>pageflow. > >> > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: Sunday, March 05, 2006 10:21 PM > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >> > >>I see that the submission url is set in propertiex.xml. I changed > >>it to /1040ez/xforms-upload, but that didn't do the trick. When you > >>initially go to the page, it looks like it is trying to process the > >>upload, but nothing has been uploaded yet. I am at a loss to figure > >>out how the post-back occurs. > >> > >> > >>java.io.EOFException > >>Message > >>Servlet Stack Trace > >>(87 method calls) Class Name Method Name File Name Line Number > >>java.util.zip.GZIPInputStream readUByte N/A > >>java.util.zip.GZIPInputStream readUShort N/A > >>java.util.zip.GZIPInputStream readHeader N/A > >>java.util.zip.GZIPInputStream <init> N/A > >>java.util.zip.GZIPInputStream > > > >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML > >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML > >>XFormsUtils.java > >> > >> > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: Sunday, March 05, 2006 9:37 PM > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >> > >>Trying to solve my own problem: This should be fixed. > >> > >><xforms:upload ref="instance('main-instance')//files/file"> > >>Instead of ., now it seem to want to goto > >>http://24.75.221.234:8080/taxcode/xforms-server-submit > >>Which doesn't exist. I thought it was supposed to post back to > >>itself. > >> > >> > >> > >>-----Original Message----- > >>From: Richard Braman [mailto:[hidden email]] > >>Sent: Sunday, March 05, 2006 8:59 PM > >>To: [hidden email] > >>Subject: RE: [ops-users] Portable Instance > >> > >> > >>Hi Alex, > >> > >>I looked at the example, and I kind of get it, but I only need to > >>upload 1 file, simple upload. So I tried to separate the piece I > >>need > > >>and I am getting an Xforms error > >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload > >> > >>This file is the users xforms instance, and I just want to send it > >>back > > > >>to the browser for now. I plan to ultimately load it into my app, > >>but > > >>1 step at a time. > >> > >>I cannot debug the XForms error: Node is not an element or > >>attribute. > >> > >>Thanks for the help. > >> > >>Page flow > >><page id="main" > >> path-info="/1040ez/xforms-upload" > >> model="xforms/upload_action.xpl" > >> view="xforms/upload.xhtml"> > >> <action when="/*/action = 'simple-upload'"><result > >>page="main"/></action> > >> </page> > >> > >>****************************************** > >>upload.xhtml > >> > >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" > >>xmlns:xhtml="http://www.w3.org/1999/xhtml" > >>xmlns:xforms="http://www.w3.org/2002/xforms" > >>xmlns:ev="http://www.w3.org/2001/xml-events" > >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" > >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > >>xmlns:xs="http://www.w3.org/2001/XMLSchema" > >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> > >> <xsl:variable name="uploaded" select="/result/urls/url != ''" > >>as="xs:boolean" /> > >> <xsl:variable name="in-portlet" > >select="/result/request/container-type > >>= 'portlet'" as="xs:boolean" /> > >> <head> > >> <title>XForms Upload</title> > >> <xforms:model> > >> <xforms:instance id="main-instance"> > >> <form xmlns=""> > >> <action /> > >> <files> > >> <file filename="" > >>mediatype="" size="" /> > >> </files> > >> </form> > >> </xforms:instance> > >> <xforms:instance id="control-instance"> > >> <control xmlns=""> > >> <simple-upload-trigger /> > >> </control> > >> </xforms:instance> > >> <!-- Using xs:anyURI will cause the XForms > >>engine to store a reference to > >> a URI instead of inlinig the content of the file > >> <xforms:bind > nodeset="instance('main-instance')/files/file" > >>type="xs:anyURI" /> > >> <!--<xforms:bind nodeset="/form/files/file" > >>type="xs:base64Binary"/>--> > >> <!-- Control whether the upload trigger is > >>read-only or not --> > >> <xforms:bind > >>nodeset="instance('control-instance')/simple-upload-trigger" > >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> > >> <!-- Main submission which uploads the files > >> <xforms:submission id="main-submission" > >>method="post" replace="all" action="/xforms-upload" /> > >> </xforms:model> > >> </head> > >> <body> > >> <xsl:if test="/result/message"> > >> <p style="color: red"> > >> <xsl:value-of select="/result/message" > >>/> > >> </p> > >> </xsl:if> > >> <table> > >> <tr> > >> <td> > >> <xforms:upload ref="."> > >> <xforms:filename > >>ref="@filename" /> > >> <xforms:mediatype > >>ref="@mediatype" /> > >> <xxforms:size > >>ref="@size" /> > >> </xforms:upload> > >> </td> > >> </tr> > >> </table> > >> <table class="gridtable"> > >> <tr> > >> <th> > >> Simple file upload > >> </th> > >> <td> > >> <xforms:trigger > >>ref="instance('control-instance')/simple-upload-trigger"> > >> > >><xforms:label>Upload</xforms:label> > >> <xforms:action > >>ev:event="DOMActivate"> > >> > >><xforms:setvalue > > > >>ref="instance('main-instance')/action">simple-upload</xforms:setvalue> > >> <xforms:send > >>submission="main-submission" /> > >> </xforms:action> > >> </xforms:trigger> > >> </td> > >> </tr> > >> </table> > >> <xsl:if test="$uploaded"> > >> <h2>Submitted XForms Instance</h2> > >> <f:box> > >> <f:xml-source> > >> <xsl:copy-of > >>select="doc('input:instance')" /> > >> </f:xml-source> > >> </f:box> > >> </xsl:if> > >> </body> > >></html> > >> > >>Upload_file.xpl > >>******************************************************************** > >>** > >>* > >>* > >>************ > >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> > >> > >> <p:param name="data" type="input"/> > >> <p:param name="instance" type="input"/> > >> <p:param name="data" type="output"/> > >> > >> <!-- Get container type --> > >> <p:processor name="oxf:request"> > >> <p:input name="config"> > >> <config> > >> <include>/request/container-type</include> > >> </config> > >> </p:input> > >> <p:output name="data" id="container-type"/> > >> </p:processor> > >> > >> <p:choose href="#instance"> > >> <p:when test="/*/action = 'simple-upload'"> > >> <!-- A file was uploaded and we just want to send it > >>back to the browser --> > >> > >> <!-- Dereference the xs:anyURI obtained from the > >>instance (for the first file with an URI only) --> > >> <p:processor name="oxf:pipeline"> > >> <p:input name="config" href="read-uri.xpl"/> > >> <p:input name="uri" href="aggregate('uri', > >>#instance#xpointer(string(/*/files/file[. != ''][1])))"/> > >> <p:output name="data" id="file"/> > >> </p:processor> > >> > >> <!-- Send the data to the browser --> > >> <p:processor name="oxf:http-serializer"> > >> <p:input name="data" href="#file"/> > >> <p:input name="config"> > >> <config> > >> <content-type>text/xml</content-type> > >> > >> <cache-control> > >> <use-local-cache>false</use-local-cache> > >> </cache-control> > >> </config> > >> </p:input> > >> </p:processor> > >> > >> <!-- Make sure the view is not executed --> > >> <p:processor name="oxf:identity"> > >> <p:input name="data"> > >> <root xsi:nil="true"/> > >> </p:input> > >> <p:output name="data" ref="data"/> > >> </p:processor> > >> </p:when> > >> <p:otherwise> > >> <!-- Forward the URL generated by the action and > >> container > > >>type to the view --> > >> <p:processor name="oxf:identity"> > >> <p:input name="data" href="aggregate('result', > >>#data, #container-type)"/> > >> <p:output name="data" ref="data"/> > >> </p:processor> > >> </p:otherwise> > >> </p:choose> > >> > >></p:config> > >> > >> > >> > >> > >>-----Original Message----- > >>From: [hidden email] [mailto:[hidden email]] On Behalf Of > >>Alessandro Vernet > >>Sent: Wednesday, March 01, 2006 7:19 PM > >>To: [hidden email] > >>Subject: Re: [ops-users] Portable Instance > >> > >> > >>Richard, > >> > >>To upload the instance to the server, you can use the XForms upload > >>control. See the XForms upload example and the "Upload" section in > >>the > > >>XForms Reference. If the instance you are uploading is large, use > >>xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". > >> > >>http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload > >> > >>To send the instance to the user, just use the XML serializer. > >> > >>http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer > >> > >>Alex > >> > >>On 2/27/06, Richard Braman <[hidden email]> wrote: > >>> > >>> Erik, > >>> > >>> I want to add to my architecture the ability for users will be > >>> able to > >>take > >>> their data with them instead of storing it on the server. When > >>> they > >>hit > >>> save it will update their XForms in memory on the server. But > >>ultimately at > >>> any time they can download their instance (which becomes their > >>portable > >>> electronic tax file) to their disk and upload it the next time to > >>resume > >>> preparation of their return or do something else. > >>> > >>> Three questions, what are the issues with this, especially when an > >>instance > >>> can be quite large? > >>> What is the code to to process an uploaded instance into an input > >>> XML > > > >>> pipeline? What is the code to display the instance as an XML > >>> Document? > >>> > >>> RIch > >>> > >>> > >>> > >>> Richard Braman > >>> mailto:[hidden email] > >>> 561.748.4002 (voice) > >>> > >>> http://www.taxcodesoftware.org > >>> Free Open Source Tax Software > >>> > >>> > >>> -- > >>> You receive this message as a subscriber of the > >>[hidden email] > >>> mailing list. > >>> To unsubscribe: mailto:[hidden email] > >>> For general help: mailto:[hidden email]?subject=help > >>> ObjectWeb mailing lists service home page: > >>http://www.objectweb.org/wws > >>> > >>> > >>> > >> > >> > >>-- > >>Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > >> > >> > >> > >> > >> > >> > >> > >> > > > > > > > > > > > > > > > > > -- > You receive this message as a subscriber of the > [hidden email] mailing list. To unsubscribe: > mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Richard, if you are using an upload page which will forward onto your form
when clicking the upload button then you could have the following In the upload page the submission should be set replace attribute should be set to "all" to forward to the new page In the page flow you should have something like the following <page id="XFormsUpload" path-info="/xforms-upload" model="model.xpl" view="view.xsl"/> Where your model is doing some processing on the uploaded file and the view is your 1040EZ form. In your view.xsl you'll want <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <!-- Import empty instance --> </xsl:otherwise> </xsl:choose> This should copy the uploaded instance into the page when there is one, but give an empty one when the page is loaded normally! Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 08 March 2006 07:56 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Thanks Alex, that fixed the 404. But the uploaded xml is not being sent >back to the browser. That's not that important, I ultimately want the >uploaded data to become the xforms instance on /1040ez. What should I >use to connect the two? > > > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] On Behalf Of >Alessandro Vernet >Sent: Tuesday, March 07, 2006 8:01 PM >To: [hidden email] >Subject: Re: [ops-users] Portable Instance > > >Richard, > >The 404 you get is not because /xforms-server-submit does not exist, but >because the URL that the XForms server tries to access returns a 404. In >your view you have: > ><xforms:submission id="main-submission" method="post" replace="all" >action="/xforms-upload" /> > >But in the page flow you have: > ><page id="main" path-info="/1040ez/xforms-upload" ...> > >So I think you are getting this 404 because the XForms server can't find >/xforms-upload. Maybe try replacing /xforms-upload by >/1040ez/xforms-upload for the value of the action attribute. > >Alex > >On 3/7/06, Richard Braman <[hidden email]> wrote: >> Hi Ryan, et al. >> >> I am trying to handle the submission of the file I am uploading, but >> its not making sense. I don't see /xforms-server-submit in the page >> flow, but rather is the properties.xml file. It has a pointer to >> xforms-server-submit.xpl which seems to get the sumssion and do >> something with it. 2 questions: >> >> 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit >> >> See the original control at >> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> 2. How this ties into upload_action.xpl >> >> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >> to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >> (for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and container > >> type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >> #container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >> </p:config> >> >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: Tuesday, March 07, 2006 11:56 AM >> To: [hidden email] >> Subject: RE: [ops-users] Portable Instance >> >> >> I don't quite understand what you need to handle? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >> >> >-----Original Message----- >> >From: Richard Braman [mailto:[hidden email]] >> >Sent: 07 March 2006 16:39 >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> >I don't need it to, I just don't understand how to handle it. >> > >> >-----Original Message----- >> >From: Ryan Puddephatt [mailto:[hidden email]] >> >Sent: Tuesday, March 07, 2006 11:37 AM >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> > >> >Richard, >> > Currently all URLs are set to xforms-server-submit after a >> submission >> >has taken place! Why do you need the URL to show as xforms-upload? >> > >> >Ryan Puddephatt >> >Software Engineer >> >TFX Group - IT UK >> >1 Michaelson Square >> >Livingston >> >West Lothian >> >Scotand >> >EH54 7DP >> > >> >* [hidden email] >> >( 01506 407 110 >> >7 01506 407 108 >> > >> > >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: 07 March 2006 06:09 >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >>Can someone plase give me a hint on how to get this upload control >> >>to work, where do you handle the postback. It seems to >> >>/path/xforms-server-submit and there is nothing there in my >> >>pageflow. >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 10:21 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>I see that the submission url is set in propertiex.xml. I changed >> >>it to /1040ez/xforms-upload, but that didn't do the trick. When you > >> >>initially go to the page, it looks like it is trying to process the >> >>upload, but nothing has been uploaded yet. I am at a loss to figure > >> >>out how the post-back occurs. >> >> >> >> >> >>java.io.EOFException >> >>Message >> >>Servlet Stack Trace >> >>(87 method calls) Class Name Method Name File Name Line Number >> >>java.util.zip.GZIPInputStream readUByte N/A >> >>java.util.zip.GZIPInputStream readUShort N/A >> >>java.util.zip.GZIPInputStream readHeader N/A >> >>java.util.zip.GZIPInputStream <init> N/A >> >>java.util.zip.GZIPInputStream >> > >> >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 9:37 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Trying to solve my own problem: This should be fixed. >> >> >> >><xforms:upload ref="instance('main-instance')//files/file"> >> >>Instead of ., now it seem to want to goto >> >>http://24.75.221.234:8080/taxcode/xforms-server-submit >> >>Which doesn't exist. I thought it was supposed to post back to >> >>itself. >> >> >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 8:59 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Hi Alex, >> >> >> >>I looked at the example, and I kind of get it, but I only need to >> >>upload 1 file, simple upload. So I tried to separate the piece I >> >>need >> >> >>and I am getting an Xforms error >> >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> >> >>This file is the users xforms instance, and I just want to send it >> >>back >> > >> >>to the browser for now. I plan to ultimately load it into my app, >> >>but >> >> >>1 step at a time. >> >> >> >>I cannot debug the XForms error: Node is not an element or >> >>attribute. >> >> >> >>Thanks for the help. >> >> >> >>Page flow >> >><page id="main" >> >> path-info="/1040ez/xforms-upload" >> >> model="xforms/upload_action.xpl" >> >> view="xforms/upload.xhtml"> >> >> <action when="/*/action = 'simple-upload'"><result >> >>page="main"/></action> >> >> </page> >> >> >> >>****************************************** >> >>upload.xhtml >> >> >> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >> >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >> >>xmlns:xforms="http://www.w3.org/2002/xforms" >> >>xmlns:ev="http://www.w3.org/2001/xml-events" >> >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >> >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >> >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" >> >>as="xs:boolean" /> >> >> <xsl:variable name="in-portlet" >> >select="/result/request/container-type >> >>= 'portlet'" as="xs:boolean" /> >> >> <head> >> >> <title>XForms Upload</title> >> >> <xforms:model> >> >> <xforms:instance id="main-instance"> >> >> <form xmlns=""> >> >> <action /> >> >> <files> >> >> <file filename="" >> >>mediatype="" size="" /> >> >> </files> >> >> </form> >> >> </xforms:instance> >> >> <xforms:instance id="control-instance"> >> >> <control xmlns=""> >> >> <simple-upload-trigger /> >> >> </control> >> >> </xforms:instance> >> >> <!-- Using xs:anyURI will cause the XForms >> >>engine to store a reference to >> >> a URI instead of inlinig the content of the file >--> >> >> <xforms:bind >> nodeset="instance('main-instance')/files/file" >> >>type="xs:anyURI" /> >> >> <!--<xforms:bind nodeset="/form/files/file" >> >>type="xs:base64Binary"/>--> >> >> <!-- Control whether the upload trigger is >> >>read-only or not --> >> >> <xforms:bind >> >>nodeset="instance('control-instance')/simple-upload-trigger" >> >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >> >> <!-- Main submission which uploads the files >--> >> >> <xforms:submission id="main-submission" >> >>method="post" replace="all" action="/xforms-upload" /> >> >> </xforms:model> >> >> </head> >> >> <body> >> >> <xsl:if test="/result/message"> >> >> <p style="color: red"> >> >> <xsl:value-of select="/result/message" > >> >>/> >> >> </p> >> >> </xsl:if> >> >> <table> >> >> <tr> >> >> <td> >> >> <xforms:upload ref="."> >> >> <xforms:filename >> >>ref="@filename" /> >> >> <xforms:mediatype >> >>ref="@mediatype" /> >> >> <xxforms:size >> >>ref="@size" /> >> >> </xforms:upload> >> >> </td> >> >> </tr> >> >> </table> >> >> <table class="gridtable"> >> >> <tr> >> >> <th> >> >> Simple file upload >> >> </th> >> >> <td> >> >> <xforms:trigger >> >>ref="instance('control-instance')/simple-upload-trigger"> >> >> >> >><xforms:label>Upload</xforms:label> >> >> <xforms:action >> >>ev:event="DOMActivate"> >> >> >> >><xforms:setvalue >> > >> >>>ref="instance('main-instance')/action">simple-upload</xforms:setvalue> >> >> <xforms:send >> >>submission="main-submission" /> >> >> </xforms:action> >> >> </xforms:trigger> >> >> </td> >> >> </tr> >> >> </table> >> >> <xsl:if test="$uploaded"> >> >> <h2>Submitted XForms Instance</h2> >> >> <f:box> >> >> <f:xml-source> >> >> <xsl:copy-of >> >>select="doc('input:instance')" /> >> >> </f:xml-source> >> >> </f:box> >> >> </xsl:if> >> >> </body> >> >></html> >> >> >> >>Upload_file.xpl >> >>******************************************************************** >> >>** >> >>* >> >>* >> >>************ >> >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> >> >> <p:param name="data" type="input"/> >> >> <p:param name="instance" type="input"/> >> >> <p:param name="data" type="output"/> >> >> >> >> <!-- Get container type --> >> >> <p:processor name="oxf:request"> >> >> <p:input name="config"> >> >> <config> >> >> <include>/request/container-type</include> >> >> </config> >> >> </p:input> >> >> <p:output name="data" id="container-type"/> >> >> </p:processor> >> >> >> >> <p:choose href="#instance"> >> >> <p:when test="/*/action = 'simple-upload'"> >> >> <!-- A file was uploaded and we just want to send it >> >>back to the browser --> >> >> >> >> <!-- Dereference the xs:anyURI obtained from the >> >>instance (for the first file with an URI only) --> >> >> <p:processor name="oxf:pipeline"> >> >> <p:input name="config" href="read-uri.xpl"/> >> >> <p:input name="uri" href="aggregate('uri', >> >>#instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> >> <p:output name="data" id="file"/> >> >> </p:processor> >> >> >> >> <!-- Send the data to the browser --> >> >> <p:processor name="oxf:http-serializer"> >> >> <p:input name="data" href="#file"/> >> >> <p:input name="config"> >> >> <config> >> >> <content-type>text/xml</content-type> >> >> ><force-content-type>true</force-content-type> >> >> <cache-control> >> >> <use-local-cache>false</use-local-cache> >> >> </cache-control> >> >> </config> >> >> </p:input> >> >> </p:processor> >> >> >> >> <!-- Make sure the view is not executed --> >> >> <p:processor name="oxf:identity"> >> >> <p:input name="data"> >> >> <root xsi:nil="true"/> >> >> </p:input> >> >> <p:output name="data" ref="data"/> >> >> </p:processor> >> >> </p:when> >> >> <p:otherwise> >> >> <!-- Forward the URL generated by the action and >> >> container >> >> >>type to the view --> >> >> <p:processor name="oxf:identity"> >> >> <p:input name="data" href="aggregate('result', >> >>#data, #container-type)"/> >> >> <p:output name="data" ref="data"/> >> >> </p:processor> >> >> </p:otherwise> >> >> </p:choose> >> >> >> >></p:config> >> >> >> >> >> >> >> >> >> >>-----Original Message----- >> >>From: [hidden email] [mailto:[hidden email]] On Behalf Of >> >>Alessandro Vernet >> >>Sent: Wednesday, March 01, 2006 7:19 PM >> >>To: [hidden email] >> >>Subject: Re: [ops-users] Portable Instance >> >> >> >> >> >>Richard, >> >> >> >>To upload the instance to the server, you can use the XForms upload >> >>control. See the XForms upload example and the "Upload" section in >> >>the >> >> >>XForms Reference. If the instance you are uploading is large, use >> >>xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". >> >> >> >>http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload >> >> >> >>To send the instance to the user, just use the XML serializer. >> >> >> >>http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer >> >> >> >>Alex >> >> >> >>On 2/27/06, Richard Braman <[hidden email]> wrote: >> >>> >> >>> Erik, >> >>> >> >>> I want to add to my architecture the ability for users will be >> >>> able to >> >>take >> >>> their data with them instead of storing it on the server. When >> >>> they >> >>hit >> >>> save it will update their XForms in memory on the server. But >> >>ultimately at >> >>> any time they can download their instance (which becomes their >> >>portable >> >>> electronic tax file) to their disk and upload it the next time to >> >>resume >> >>> preparation of their return or do something else. >> >>> >> >>> Three questions, what are the issues with this, especially when an >> >>instance >> >>> can be quite large? >> >>> What is the code to to process an uploaded instance into an input >> >>> XML >> > >> >>> pipeline? What is the code to display the instance as an XML >> >>> Document? >> >>> >> >>> RIch >> >>> >> >>> >> >>> >> >>> Richard Braman >> >>> mailto:[hidden email] >> >>> 561.748.4002 (voice) >> >>> >> >>> http://www.taxcodesoftware.org >> >>> Free Open Source Tax Software >> >>> >> >>> >> >>> -- >> >>> You receive this message as a subscriber of the >> >>[hidden email] >> >>> mailing list. >> >>> To unsubscribe: mailto:[hidden email] >> >>> For general help: mailto:[hidden email]?subject=help >> >>> ObjectWeb mailing lists service home page: >> >>http://www.objectweb.org/wws >> >>> >> >>> >> >>> >> >> >> >> >> >>-- >> >>Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> > >> > >> > >> >> >> >> >> >> >> >> >> -- >> You receive this message as a subscriber of the >> [hidden email] mailing list. To unsubscribe: >> mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: >http://www.objectweb.org/wws >> >> >> > > >-- >Blog (XML, Web apps, Open Source): >http://www.orbeon.com/blog/ > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
In reply to this post by Richard Braman
Richard,
The only thing that will happen to the uploaded data if you don't take any further action is either (depending on the data type bound to the upload control): o the data will be stored in the submitted XML document as base64Binary o the data will be stored in the submitted XML document as anyURI; the URI will expire after the submission request is done The XForms Upload example shows how you can, from the uploaded data, either: o send it directly back to the browser o save it into a database o send it to a service -Erik Richard Braman wrote: > Thanks Alex, that fixed the 404. But the uploaded xml is not being sent > back to the browser. That's not that important, I ultimately want the > uploaded data to become the xforms instance on /1040ez. What should I > use to connect the two? > > > > -----Original Message----- > From: [hidden email] [mailto:[hidden email]] On Behalf Of > Alessandro Vernet > Sent: Tuesday, March 07, 2006 8:01 PM > To: [hidden email] > Subject: Re: [ops-users] Portable Instance > > > Richard, > > The 404 you get is not because /xforms-server-submit does not exist, but > because the URL that the XForms server tries to access returns a 404. In > your view you have: > > <xforms:submission id="main-submission" method="post" replace="all" > action="/xforms-upload" /> > > But in the page flow you have: > > <page id="main" path-info="/1040ez/xforms-upload" ...> > > So I think you are getting this 404 because the XForms server can't find > /xforms-upload. Maybe try replacing /xforms-upload by > /1040ez/xforms-upload for the value of the action attribute. > > Alex > > On 3/7/06, Richard Braman <[hidden email]> wrote: >> Hi Ryan, et al. >> >> I am trying to handle the submission of the file I am uploading, but >> its not making sense. I don't see /xforms-server-submit in the page >> flow, but rather is the properties.xml file. It has a pointer to >> xforms-server-submit.xpl which seems to get the sumssion and do >> something with it. 2 questions: >> >> 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit >> >> See the original control at >> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> 2. How this ties into upload_action.xpl >> >> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >> to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >> (for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and container > >> type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >> #container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >> </p:config> >> >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: Tuesday, March 07, 2006 11:56 AM >> To: [hidden email] >> Subject: RE: [ops-users] Portable Instance >> >> >> I don't quite understand what you need to handle? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >> >>> -----Original Message----- >>> From: Richard Braman [mailto:[hidden email]] >>> Sent: 07 March 2006 16:39 >>> To: [hidden email] >>> Subject: RE: [ops-users] Portable Instance >>> >>> I don't need it to, I just don't understand how to handle it. >>> >>> -----Original Message----- >>> From: Ryan Puddephatt [mailto:[hidden email]] >>> Sent: Tuesday, March 07, 2006 11:37 AM >>> To: [hidden email] >>> Subject: RE: [ops-users] Portable Instance >>> >>> >>> Richard, >>> Currently all URLs are set to xforms-server-submit after a >> submission >>> has taken place! Why do you need the URL to show as xforms-upload? >>> >>> Ryan Puddephatt >>> Software Engineer >>> TFX Group - IT UK >>> 1 Michaelson Square >>> Livingston >>> West Lothian >>> Scotand >>> EH54 7DP >>> >>> * [hidden email] >>> ( 01506 407 110 >>> 7 01506 407 108 >>> >>> >>>> -----Original Message----- >>>> From: Richard Braman [mailto:[hidden email]] >>>> Sent: 07 March 2006 06:09 >>>> To: [hidden email] >>>> Subject: RE: [ops-users] Portable Instance >>>> >>>> Can someone plase give me a hint on how to get this upload control >>>> to work, where do you handle the postback. It seems to >>>> /path/xforms-server-submit and there is nothing there in my >>>> pageflow. >>>> >>>> -----Original Message----- >>>> From: Richard Braman [mailto:[hidden email]] >>>> Sent: Sunday, March 05, 2006 10:21 PM >>>> To: [hidden email] >>>> Subject: RE: [ops-users] Portable Instance >>>> >>>> >>>> I see that the submission url is set in propertiex.xml. I changed >>>> it to /1040ez/xforms-upload, but that didn't do the trick. When you > >>>> initially go to the page, it looks like it is trying to process the >>>> upload, but nothing has been uploaded yet. I am at a loss to figure > >>>> out how the post-back occurs. >>>> >>>> >>>> java.io.EOFException >>>> Message >>>> Servlet Stack Trace >>>> (87 method calls) Class Name Method Name File Name Line Number >>>> java.util.zip.GZIPInputStream readUByte N/A >>>> java.util.zip.GZIPInputStream readUShort N/A >>>> java.util.zip.GZIPInputStream readHeader N/A >>>> java.util.zip.GZIPInputStream <init> N/A >>>> java.util.zip.GZIPInputStream >>>> <init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >>>> XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >>>> XFormsUtils.java >>>> >>>> >>>> -----Original Message----- >>>> From: Richard Braman [mailto:[hidden email]] >>>> Sent: Sunday, March 05, 2006 9:37 PM >>>> To: [hidden email] >>>> Subject: RE: [ops-users] Portable Instance >>>> >>>> >>>> Trying to solve my own problem: This should be fixed. >>>> >>>> <xforms:upload ref="instance('main-instance')//files/file"> >>>> Instead of ., now it seem to want to goto >>>> http://24.75.221.234:8080/taxcode/xforms-server-submit >>>> Which doesn't exist. I thought it was supposed to post back to >>>> itself. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Richard Braman [mailto:[hidden email]] >>>> Sent: Sunday, March 05, 2006 8:59 PM >>>> To: [hidden email] >>>> Subject: RE: [ops-users] Portable Instance >>>> >>>> >>>> Hi Alex, >>>> >>>> I looked at the example, and I kind of get it, but I only need to >>>> upload 1 file, simple upload. So I tried to separate the piece I >>>> need >>>> and I am getting an Xforms error >>>> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >>>> >>>> This file is the users xforms instance, and I just want to send it >>>> back >>>> to the browser for now. I plan to ultimately load it into my app, >>>> but >>>> 1 step at a time. >>>> >>>> I cannot debug the XForms error: Node is not an element or >>>> attribute. >>>> >>>> Thanks for the help. >>>> >>>> Page flow >>>> <page id="main" >>>> path-info="/1040ez/xforms-upload" >>>> model="xforms/upload_action.xpl" >>>> view="xforms/upload.xhtml"> >>>> <action when="/*/action = 'simple-upload'"><result >>>> page="main"/></action> >>>> </page> >>>> >>>> ****************************************** >>>> upload.xhtml >>>> >>>> <html xmlns:f="http://orbeon.org/oxf/xml/formatting" >>>> xmlns:xhtml="http://www.w3.org/1999/xhtml" >>>> xmlns:xforms="http://www.w3.org/2002/xforms" >>>> xmlns:ev="http://www.w3.org/2001/xml-events" >>>> xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >>>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >>>> xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >>>> <xsl:variable name="uploaded" select="/result/urls/url != ''" >>>> as="xs:boolean" /> >>>> <xsl:variable name="in-portlet" >>> select="/result/request/container-type >>>> = 'portlet'" as="xs:boolean" /> >>>> <head> >>>> <title>XForms Upload</title> >>>> <xforms:model> >>>> <xforms:instance id="main-instance"> >>>> <form xmlns=""> >>>> <action /> >>>> <files> >>>> <file filename="" >>>> mediatype="" size="" /> >>>> </files> >>>> </form> >>>> </xforms:instance> >>>> <xforms:instance id="control-instance"> >>>> <control xmlns=""> >>>> <simple-upload-trigger /> >>>> </control> >>>> </xforms:instance> >>>> <!-- Using xs:anyURI will cause the XForms >>>> engine to store a reference to >>>> a URI instead of inlinig the content of the file > --> >>>> <xforms:bind >> nodeset="instance('main-instance')/files/file" >>>> type="xs:anyURI" /> >>>> <!--<xforms:bind nodeset="/form/files/file" >>>> type="xs:base64Binary"/>--> >>>> <!-- Control whether the upload trigger is >>>> read-only or not --> >>>> <xforms:bind >>>> nodeset="instance('control-instance')/simple-upload-trigger" >>>> readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >>>> <!-- Main submission which uploads the files > --> >>>> <xforms:submission id="main-submission" >>>> method="post" replace="all" action="/xforms-upload" /> >>>> </xforms:model> >>>> </head> >>>> <body> >>>> <xsl:if test="/result/message"> >>>> <p style="color: red"> >>>> <xsl:value-of select="/result/message" > >>>> /> >>>> </p> >>>> </xsl:if> >>>> <table> >>>> <tr> >>>> <td> >>>> <xforms:upload ref="."> >>>> <xforms:filename >>>> ref="@filename" /> >>>> <xforms:mediatype >>>> ref="@mediatype" /> >>>> <xxforms:size >>>> ref="@size" /> >>>> </xforms:upload> >>>> </td> >>>> </tr> >>>> </table> >>>> <table class="gridtable"> >>>> <tr> >>>> <th> >>>> Simple file upload >>>> </th> >>>> <td> >>>> <xforms:trigger >>>> ref="instance('control-instance')/simple-upload-trigger"> >>>> >>>> <xforms:label>Upload</xforms:label> >>>> <xforms:action >>>> ev:event="DOMActivate"> >>>> >>>> <xforms:setvalue >>> ref="instance('main-instance')/action">simple-upload</xforms:setvalue> >>>> <xforms:send >>>> submission="main-submission" /> >>>> </xforms:action> >>>> </xforms:trigger> >>>> </td> >>>> </tr> >>>> </table> >>>> <xsl:if test="$uploaded"> >>>> <h2>Submitted XForms Instance</h2> >>>> <f:box> >>>> <f:xml-source> >>>> <xsl:copy-of >>>> select="doc('input:instance')" /> >>>> </f:xml-source> >>>> </f:box> >>>> </xsl:if> >>>> </body> >>>> </html> >>>> >>>> Upload_file.xpl >>>> ******************************************************************** >>>> ** >>>> * >>>> * >>>> ************ >>>> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >>>> >>>> <p:param name="data" type="input"/> >>>> <p:param name="instance" type="input"/> >>>> <p:param name="data" type="output"/> >>>> >>>> <!-- Get container type --> >>>> <p:processor name="oxf:request"> >>>> <p:input name="config"> >>>> <config> >>>> <include>/request/container-type</include> >>>> </config> >>>> </p:input> >>>> <p:output name="data" id="container-type"/> >>>> </p:processor> >>>> >>>> <p:choose href="#instance"> >>>> <p:when test="/*/action = 'simple-upload'"> >>>> <!-- A file was uploaded and we just want to send it >>>> back to the browser --> >>>> >>>> <!-- Dereference the xs:anyURI obtained from the >>>> instance (for the first file with an URI only) --> >>>> <p:processor name="oxf:pipeline"> >>>> <p:input name="config" href="read-uri.xpl"/> >>>> <p:input name="uri" href="aggregate('uri', >>>> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >>>> <p:output name="data" id="file"/> >>>> </p:processor> >>>> >>>> <!-- Send the data to the browser --> >>>> <p:processor name="oxf:http-serializer"> >>>> <p:input name="data" href="#file"/> >>>> <p:input name="config"> >>>> <config> >>>> <content-type>text/xml</content-type> >>>> > <force-content-type>true</force-content-type> >>>> <cache-control> >>>> <use-local-cache>false</use-local-cache> >>>> </cache-control> >>>> </config> >>>> </p:input> >>>> </p:processor> >>>> >>>> <!-- Make sure the view is not executed --> >>>> <p:processor name="oxf:identity"> >>>> <p:input name="data"> >>>> <root xsi:nil="true"/> >>>> </p:input> >>>> <p:output name="data" ref="data"/> >>>> </p:processor> >>>> </p:when> >>>> <p:otherwise> >>>> <!-- Forward the URL generated by the action and >>>> container >>>> type to the view --> >>>> <p:processor name="oxf:identity"> >>>> <p:input name="data" href="aggregate('result', >>>> #data, #container-type)"/> >>>> <p:output name="data" ref="data"/> >>>> </p:processor> >>>> </p:otherwise> >>>> </p:choose> >>>> >>>> </p:config> >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: [hidden email] [mailto:[hidden email]] On Behalf Of >>>> Alessandro Vernet >>>> Sent: Wednesday, March 01, 2006 7:19 PM >>>> To: [hidden email] >>>> Subject: Re: [ops-users] Portable Instance >>>> >>>> >>>> Richard, >>>> >>>> To upload the instance to the server, you can use the XForms upload >>>> control. See the XForms upload example and the "Upload" section in >>>> the >>>> XForms Reference. If the instance you are uploading is large, use >>>> xsi:type="xs:anyURI" instead of xsi:type="xs:base64Binary". >>>> >>>> http://www.orbeon.com/ops/doc/reference-xforms-ng#xforms-upload >>>> >>>> To send the instance to the user, just use the XML serializer. >>>> >>>> http://www.orbeon.com/ops/doc/processors-serializers#XMLSerializer >>>> >>>> Alex >>>> >>>> On 2/27/06, Richard Braman <[hidden email]> wrote: >>>>> Erik, >>>>> >>>>> I want to add to my architecture the ability for users will be >>>>> able to >>>> take >>>>> their data with them instead of storing it on the server. When >>>>> they >>>> hit >>>>> save it will update their XForms in memory on the server. But >>>> ultimately at >>>>> any time they can download their instance (which becomes their >>>> portable >>>>> electronic tax file) to their disk and upload it the next time to >>>> resume >>>>> preparation of their return or do something else. >>>>> >>>>> Three questions, what are the issues with this, especially when an >>>> instance >>>>> can be quite large? >>>>> What is the code to to process an uploaded instance into an input >>>>> XML >>>>> pipeline? What is the code to display the instance as an XML >>>>> Document? >>>>> >>>>> RIch >>>>> >>>>> >>>>> >>>>> Richard Braman >>>>> mailto:[hidden email] >>>>> 561.748.4002 (voice) >>>>> >>>>> http://www.taxcodesoftware.org >>>>> Free Open Source Tax Software >>>>> >>>>> >>>>> -- >>>>> You receive this message as a subscriber of the >>>> [hidden email] >>>>> mailing list. >>>>> To unsubscribe: mailto:[hidden email] >>>>> For general help: mailto:[hidden email]?subject=help >>>>> ObjectWeb mailing lists service home page: >>>> http://www.objectweb.org/wws >>>>> >>>>> >>>> >>>> -- >>>> Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >> >> >> >> >> >> >> >> -- >> You receive this message as a subscriber of the >> [hidden email] mailing list. To unsubscribe: >> mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: > http://www.objectweb.org/wws >> >> > > > -- > Blog (XML, Web apps, Open Source): > http://www.orbeon.com/blog/ > > > > > > ------------------------------------------------------------------------ > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Ryan Puddephatt
Thanks for the direction Ryan:
I added this simple code to the 1040ez page and hit it directly(without doing an upload), and it bombed (error below). I expected it would just load the empty instance (which still contains data used for testing) like have been doing, but it complained about not being able to convert zero length strings to integers, which means the empty instance must not have been loaded. With the xsl code it works fine: <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <xforms:instance id="f1040ez" src="oxf:/examples/1040ez/xforms/f1040ez.xml"/> <xforms:instance id="fw2" src="oxf:/examples/1040ez/xforms/fw2.xml"/> </xsl:otherwise> </xsl:choose> <xforms:instance id="split"> <form xmlns=""> <nameline1> <first-names/> <taxpayer-firstname/> <taxpayer-lastname/> <spouse-firstname/> <spouse-lastname/> </nameline1> </form> </xforms:instance> <xforms:instance id="eic-table" src="oxf:/examples/1040ez/xforms/eictable.xml"/> <xforms:instance id="taxtable" src="oxf:/examples/1040ez/xforms/taxtable.xml"/> <xforms:instance id="standard-deduction-worksheet"> <form xmlns=""> <wksht> <lineB/> <lineC/> <lineD/> <lineE/> <lineF/> </wksht> </form> </xforms:instance> <xforms:instance id="eic-worksheet"> <form xmlns=""> <wksht> <eic-wksht-1-line1yes/> <eic-wksht-1-line1no/> <eic-wksht-1-line2yes/> <eic-wksht-1-line2no/> <eic-wksht-1-line3yes/> <eic-wksht-1-line3no/> <eic-wksht-1-line4yes/> <eic-wksht-1-line4no/> <eic-wksht-1-line5no/> <eic-wksht-1-line5yes/> <eic-wksht-1-line6yes/> <eic-wksht-1-line6no/> <earned-income/> <eic-wksht-2-earned-income-yes/> <eic-wksht-2-earned-income-no/> <eic-wksht-2-irs-figure-credit-yes/> <eic-wksht-2-irs-figure-credit-no/> <eic-wksht-3-line-2/> <eic-wksht-3-line-4-yes/> <eic-wksht-3-line-4-no/> <eic-wksht-3-line-5-yes/> <eic-wksht-3-line-5-no/> <eic-wksht-3-line5/> <eic/> </wksht> </form> Orbeon PresentationServer (OPS) - Error Page Error Message The following error has occurred: Error Message Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' OPS Call Stack The OPS Call Stack helps you determine what sequence of OPS operations have caused the error. Resource URL Line Column Description XML Element oxf:/ops/pfc/xforms-epilogue.xpl 81 67 xforms:bind element xforms:bind element <xforms:bind id="eic-wksht-2-earned-income-yes" nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" calculate=" if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> <xforms:bind id="eic-wksht-2-earned-income-yes" nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" calculate=" if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> oxf:/ops/pfc/xforms-epilogue.xpl 101 71 reading processor output (name='document', ref='xformed-data') <p:output name="document" ref="xformed-data"/> oxf:/config/epilogue.xpl 36 58 reading processor output (name='xformed-data', id='xformed-data') <p:output name="xformed-data" id="xformed-data"/> oxf:/config/epilogue-servlet.xpl 30 48 reading processor output (name='xformed-data') <p:param type="input" name="xformed-data"/> oxf:/config/epilogue.xpl 54 46 executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline') <p:processor name="oxf:pipeline">...</p:processor> oxf:/examples/1040ez/page-flow.xml 43 44 executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline') oxf:/examples/1040ez/page-flow.xpl 17 39 executing processor (name='{http://www.orbeon.com/oxf/processors}page-flow') <p:processor name="oxf:page-flow">...</p:processor> oxf:/page-flow.xml 35 80 reading page model data output (page id='1040ez', model='/examples/1040ez/page-flow.xpl') <page id="1040ez" path-info="/1040ez*" model="/examples/1040ez/page-flow.xpl"/> Java Exceptions (4 total) Java Exceptions are the native mechanism by which OPS reports errors. More than one exception may be provided below but usually the first exception along with the OPS Stack Trace above provide enough information to track down an issue. org.orbeon.oxf.common.ValidationException Exception Class org.orbeon.oxf.common.ValidationException Message Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (169 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.xforms.XFormsModel$3 handleNode XFormsModel.java 321 org.orbeon.oxf.xforms.XFormsModel iterateNodeSet XFormsModel.java 556 org.orbeon.oxf.xforms.XFormsModel handleCalculateBinds XFormsModel.java 309 org.orbeon.oxf.xforms.XFormsModel access$000 XFormsModel.java 49 org.orbeon.oxf.xforms.XFormsModel$1 applyBind XFormsModel.java 262 org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 298 org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java 260 org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 790 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 More... org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 769 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent XFormsContainingDocument.java 461 org.orbeon.oxf.xforms.processor.XFormsServer createXFormsContainingDocument XFormsServer.java 1046 org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 XFormsToXHTML.java 41 org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl XFormsToXHTML.java 61 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.ValidationException Exception Class org.orbeon.oxf.common.ValidationException Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (164 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 300 org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java 260 org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 790 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 769 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent XFormsContainingDocument.java 461 org.orbeon.oxf.xforms.processor.XFormsServer createXFormsContainingDocument XFormsServer.java 1046 org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 More... org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 XFormsToXHTML.java 41 org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl XFormsToXHTML.java 61 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.OXFException Exception Class org.orbeon.oxf.common.OXFException Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (47 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 33 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 More... org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.ValidationException -----Original Message----- From: Ryan Puddephatt [mailto:[hidden email]] Sent: Wednesday, March 08, 2006 4:54 AM To: [hidden email] Subject: RE: [ops-users] Portable Instance Richard, if you are using an upload page which will forward onto your form when clicking the upload button then you could have the following In the upload page the submission should be set replace attribute should be set to "all" to forward to the new page In the page flow you should have something like the following <page id="XFormsUpload" path-info="/xforms-upload" model="model.xpl" view="view.xsl"/> Where your model is doing some processing on the uploaded file and the view is your 1040EZ form. In your view.xsl you'll want <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <!-- Import empty instance --> </xsl:otherwise> </xsl:choose> This should copy the uploaded instance into the page when there is one, but give an empty one when the page is loaded normally! Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 08 March 2006 07:56 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Thanks Alex, that fixed the 404. But the uploaded xml is not being >sent back to the browser. That's not that important, I ultimately >want the uploaded data to become the xforms instance on /1040ez. What >should I use to connect the two? > > > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] On Behalf Of >Alessandro Vernet >Sent: Tuesday, March 07, 2006 8:01 PM >To: [hidden email] >Subject: Re: [ops-users] Portable Instance > > >Richard, > >The 404 you get is not because /xforms-server-submit does not exist, >but because the URL that the XForms server tries to access returns a >404. In your view you have: > ><xforms:submission id="main-submission" method="post" replace="all" >action="/xforms-upload" /> > >But in the page flow you have: > ><page id="main" path-info="/1040ez/xforms-upload" ...> > >So I think you are getting this 404 because the XForms server can't >find /xforms-upload. Maybe try replacing /xforms-upload by >/1040ez/xforms-upload for the value of the action attribute. > >Alex > >On 3/7/06, Richard Braman <[hidden email]> wrote: >> Hi Ryan, et al. >> >> I am trying to handle the submission of the file I am uploading, but >> its not making sense. I don't see /xforms-server-submit in the page >> flow, but rather is the properties.xml file. It has a pointer to >> xforms-server-submit.xpl which seems to get the sumssion and do >> something with it. 2 questions: >> >> 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit >> >> See the original control at >> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> 2. How this ties into upload_action.xpl >> >> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >> to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >> (for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and >> container > >> type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >> #container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >> </p:config> >> >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: Tuesday, March 07, 2006 11:56 AM >> To: [hidden email] >> Subject: RE: [ops-users] Portable Instance >> >> >> I don't quite understand what you need to handle? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >> >> >-----Original Message----- >> >From: Richard Braman [mailto:[hidden email]] >> >Sent: 07 March 2006 16:39 >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> >I don't need it to, I just don't understand how to handle it. >> > >> >-----Original Message----- >> >From: Ryan Puddephatt [mailto:[hidden email]] >> >Sent: Tuesday, March 07, 2006 11:37 AM >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> > >> >Richard, >> > Currently all URLs are set to xforms-server-submit after a >> submission >> >has taken place! Why do you need the URL to show as xforms-upload? >> > >> >Ryan Puddephatt >> >Software Engineer >> >TFX Group - IT UK >> >1 Michaelson Square >> >Livingston >> >West Lothian >> >Scotand >> >EH54 7DP >> > >> >* [hidden email] >> >( 01506 407 110 >> >7 01506 407 108 >> > >> > >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: 07 March 2006 06:09 >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >>Can someone plase give me a hint on how to get this upload control >> >>to work, where do you handle the postback. It seems to >> >>/path/xforms-server-submit and there is nothing there in my >> >>pageflow. >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 10:21 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>I see that the submission url is set in propertiex.xml. I changed >> >>it to /1040ez/xforms-upload, but that didn't do the trick. When >> >>you > >> >>initially go to the page, it looks like it is trying to process the >> >>upload, but nothing has been uploaded yet. I am at a loss to >> >>figure > >> >>out how the post-back occurs. >> >> >> >> >> >>java.io.EOFException >> >>Message >> >>Servlet Stack Trace >> >>(87 method calls) Class Name Method Name File Name Line Number >> >>java.util.zip.GZIPInputStream readUByte N/A >> >>java.util.zip.GZIPInputStream readUShort N/A >> >>java.util.zip.GZIPInputStream readHeader N/A >> >>java.util.zip.GZIPInputStream <init> N/A >> >>java.util.zip.GZIPInputStream >> > >> >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 9:37 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Trying to solve my own problem: This should be fixed. >> >> >> >><xforms:upload ref="instance('main-instance')//files/file"> >> >>Instead of ., now it seem to want to goto >> >>http://24.75.221.234:8080/taxcode/xforms-server-submit >> >>Which doesn't exist. I thought it was supposed to post back to >> >>itself. >> >> >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 8:59 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Hi Alex, >> >> >> >>I looked at the example, and I kind of get it, but I only need to >> >>upload 1 file, simple upload. So I tried to separate the piece I >> >>need >> >> >>and I am getting an Xforms error >> >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> >> >>This file is the users xforms instance, and I just want to send it >> >>back >> > >> >>to the browser for now. I plan to ultimately load it into my app, >> >>but >> >> >>1 step at a time. >> >> >> >>I cannot debug the XForms error: Node is not an element or >> >>attribute. >> >> >> >>Thanks for the help. >> >> >> >>Page flow >> >><page id="main" >> >> path-info="/1040ez/xforms-upload" >> >> model="xforms/upload_action.xpl" >> >> view="xforms/upload.xhtml"> >> >> <action when="/*/action = 'simple-upload'"><result >> >>page="main"/></action> >> >> </page> >> >> >> >>****************************************** >> >>upload.xhtml >> >> >> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >> >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >> >>xmlns:xforms="http://www.w3.org/2002/xforms" >> >>xmlns:ev="http://www.w3.org/2001/xml-events" >> >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >> >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >> >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" >> >>as="xs:boolean" /> >> >> <xsl:variable name="in-portlet" >> >select="/result/request/container-type >> >>= 'portlet'" as="xs:boolean" /> >> >> <head> >> >> <title>XForms Upload</title> >> >> <xforms:model> >> >> <xforms:instance id="main-instance"> >> >> <form xmlns=""> >> >> <action /> >> >> <files> >> >> <file filename="" >> >>mediatype="" size="" /> >> >> </files> >> >> </form> >> >> </xforms:instance> >> >> <xforms:instance id="control-instance"> >> >> <control xmlns=""> >> >> <simple-upload-trigger /> >> >> </control> >> >> </xforms:instance> >> >> <!-- Using xs:anyURI will cause the XForms >> >>engine to store a reference to >> >> a URI instead of inlinig the content of the file >--> >> >> <xforms:bind >> nodeset="instance('main-instance')/files/file" >> >>type="xs:anyURI" /> >> >> <!--<xforms:bind nodeset="/form/files/file" >> >>type="xs:base64Binary"/>--> >> >> <!-- Control whether the upload trigger is >> >>read-only or not --> >> >> <xforms:bind >> >>nodeset="instance('control-instance')/simple-upload-trigger" >> >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >> >> <!-- Main submission which uploads the files >--> >> >> <xforms:submission id="main-submission" >> >>method="post" replace="all" action="/xforms-upload" /> >> >> </xforms:model> >> >> </head> >> >> <body> >> >> <xsl:if test="/result/message"> >> >> <p style="color: red"> >> >> <xsl:value-of >> >>select="/result/message" > >> >>/> >> >> </p> >> >> </xsl:if> >> >> <table> >> >> <tr> >> >> <td> >> >> <xforms:upload ref="."> >> >> <xforms:filename >> >>ref="@filename" /> >> >> <xforms:mediatype >> >>ref="@mediatype" /> >> >> <xxforms:size >> >>ref="@size" /> >> >> </xforms:upload> >> >> </td> >> >> </tr> >> >> </table> >> >> <table class="gridtable"> >> >> <tr> >> >> <th> >> >> Simple file upload >> >> </th> >> >> <td> >> >> <xforms:trigger >> >>ref="instance('control-instance')/simple-upload-trigger"> >> >> >> >><xforms:label>Upload</xforms:label> >> >> <xforms:action >> >>ev:event="DOMActivate"> >> >> >> >><xforms:setvalue >> > >> >>>ref="instance('main-instance')/action">simple-upload</xforms:setvalue >>>> >> >> <xforms:send >> >>submission="main-submission" /> >> >> </xforms:action> >> >> </xforms:trigger> >> >> </td> >> >> </tr> >> >> </table> >> >> <xsl:if test="$uploaded"> >> >> <h2>Submitted XForms Instance</h2> >> >> <f:box> >> >> <f:xml-source> >> >> <xsl:copy-of >> >>select="doc('input:instance')" /> >> >> </f:xml-source> >> >> </f:box> >> >> </xsl:if> >> >> </body> >> >></html> >> >> >> >>Upload_file.xpl >> >>******************************************************************* >> >>* >> >>** >> >>* >> >>* >> >>************ >> >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> >> >> <p:param name="data" type="input"/> >> >> <p:param name="instance" type="input"/> >> >> <p:param name="data" type="output"/> >> >> >> >> <!-- Get container type --> >> >> <p:processor name="oxf:request"> >> >> <p:input name="config"> >> >> <config> >> >> <include>/request/container-type</include> >> >> </config> >> >> </p:input> >> >> <p:output name="data" id="container-type"/> >> >> </p:processor> >> >> >> >> <p:choose href="#instance"> >> >> <p:when test="/*/action = 'simple-upload'"> >> >> <!-- A file was uploaded and we just want to send it >> >>back to the browser --> >> >> >> >> <!-- Dereference the xs:anyURI obtained from the >> >>instance (for the first file with an URI only) --> >> >> <p:processor name="oxf:pipeline"> >> >> <p:input name="config" href="read-uri.xpl"/> >> >> <p:input name="uri" href="aggregate('uri', >> >>#instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> >> <p:output name="data" id="file"/> >> >> </p:processor> >> >> >> >> <!-- Send the data to the browser --> >> >> <p:processor name="oxf:http-serializer"> >> >> <p:input name="data" href="#f |
That should have said without the XSL code it works fine. I did get my
upload code to send the uploaded xml back to the browser. Yeah. Thanks for being patient with me. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Wednesday, March 08, 2006 1:36 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Thanks for the direction Ryan: I added this simple code to the 1040ez page and hit it directly(without doing an upload), and it bombed (error below). I expected it would just load the empty instance (which still contains data used for testing) like have been doing, but it complained about not being able to convert zero length strings to integers, which means the empty instance must not have been loaded. With the xsl code it works fine: <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <xforms:instance id="f1040ez" src="oxf:/examples/1040ez/xforms/f1040ez.xml"/> <xforms:instance id="fw2" src="oxf:/examples/1040ez/xforms/fw2.xml"/> </xsl:otherwise> </xsl:choose> <xforms:instance id="split"> <form xmlns=""> <nameline1> <first-names/> <taxpayer-firstname/> <taxpayer-lastname/> <spouse-firstname/> <spouse-lastname/> </nameline1> </form> </xforms:instance> <xforms:instance id="eic-table" src="oxf:/examples/1040ez/xforms/eictable.xml"/> <xforms:instance id="taxtable" src="oxf:/examples/1040ez/xforms/taxtable.xml"/> <xforms:instance id="standard-deduction-worksheet"> <form xmlns=""> <wksht> <lineB/> <lineC/> <lineD/> <lineE/> <lineF/> </wksht> </form> </xforms:instance> <xforms:instance id="eic-worksheet"> <form xmlns=""> <wksht> <eic-wksht-1-line1yes/> <eic-wksht-1-line1no/> <eic-wksht-1-line2yes/> <eic-wksht-1-line2no/> <eic-wksht-1-line3yes/> <eic-wksht-1-line3no/> <eic-wksht-1-line4yes/> <eic-wksht-1-line4no/> <eic-wksht-1-line5no/> <eic-wksht-1-line5yes/> <eic-wksht-1-line6yes/> <eic-wksht-1-line6no/> <earned-income/> <eic-wksht-2-earned-income-yes/> <eic-wksht-2-earned-income-no/> <eic-wksht-2-irs-figure-credit-yes/> <eic-wksht-2-irs-figure-credit-no/> <eic-wksht-3-line-2/> <eic-wksht-3-line-4-yes/> <eic-wksht-3-line-4-no/> <eic-wksht-3-line-5-yes/> <eic-wksht-3-line-5-no/> <eic-wksht-3-line5/> <eic/> </wksht> </form> Orbeon PresentationServer (OPS) - Error Page Error Message The following error has occurred: Error Message Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' OPS Call Stack The OPS Call Stack helps you determine what sequence of OPS operations have caused the error. Resource URL Line Column Description XML Element oxf:/ops/pfc/xforms-epilogue.xpl 81 67 xforms:bind element xforms:bind element <xforms:bind id="eic-wksht-2-earned-income-yes" nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" calculate=" if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> <xforms:bind id="eic-wksht-2-earned-income-yes" nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" calculate=" if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> oxf:/ops/pfc/xforms-epilogue.xpl 101 71 reading processor output (name='document', ref='xformed-data') <p:output name="document" ref="xformed-data"/> oxf:/config/epilogue.xpl 36 58 reading processor output (name='xformed-data', id='xformed-data') <p:output name="xformed-data" id="xformed-data"/> oxf:/config/epilogue-servlet.xpl 30 48 reading processor output (name='xformed-data') <p:param type="input" name="xformed-data"/> oxf:/config/epilogue.xpl 54 46 executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline') <p:processor name="oxf:pipeline">...</p:processor> oxf:/examples/1040ez/page-flow.xml 43 44 executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline') oxf:/examples/1040ez/page-flow.xpl 17 39 executing processor (name='{http://www.orbeon.com/oxf/processors}page-flow') <p:processor name="oxf:page-flow">...</p:processor> oxf:/page-flow.xml 35 80 reading page model data output (page id='1040ez', model='/examples/1040ez/page-flow.xpl') <page id="1040ez" path-info="/1040ez*" model="/examples/1040ez/page-flow.xpl"/> Java Exceptions (4 total) Java Exceptions are the native mechanism by which OPS reports errors. More than one exception may be provided below but usually the first exception along with the OPS Stack Trace above provide enough information to track down an issue. org.orbeon.oxf.common.ValidationException Exception Class org.orbeon.oxf.common.ValidationException Message Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (169 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.xforms.XFormsModel$3 handleNode XFormsModel.java 321 org.orbeon.oxf.xforms.XFormsModel iterateNodeSet XFormsModel.java 556 org.orbeon.oxf.xforms.XFormsModel handleCalculateBinds XFormsModel.java 309 org.orbeon.oxf.xforms.XFormsModel access$000 XFormsModel.java 49 org.orbeon.oxf.xforms.XFormsModel$1 applyBind XFormsModel.java 262 org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 298 org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java 260 org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 790 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 More... org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 769 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent XFormsContainingDocument.java 461 org.orbeon.oxf.xforms.processor.XFormsServer createXFormsContainingDocument XFormsServer.java 1046 org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 XFormsToXHTML.java 41 org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl XFormsToXHTML.java 61 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.ValidationException Exception Class org.orbeon.oxf.common.ValidationException Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (164 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 300 org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java 260 org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 790 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 769 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent XFormsContainingDocument.java 461 org.orbeon.oxf.xforms.processor.XFormsServer createXFormsContainingDocument XFormsServer.java 1046 org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 More... org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 XFormsToXHTML.java 41 org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl XFormsToXHTML.java 61 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.OXFException Exception Class org.orbeon.oxf.common.OXFException Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (47 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 33 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 More... org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.ValidationException -----Original Message----- From: Ryan Puddephatt [mailto:[hidden email]] Sent: Wednesday, March 08, 2006 4:54 AM To: [hidden email] Subject: RE: [ops-users] Portable Instance Richard, if you are using an upload page which will forward onto your form when clicking the upload button then you could have the following In the upload page the submission should be set replace attribute should be set to "all" to forward to the new page In the page flow you should have something like the following <page id="XFormsUpload" path-info="/xforms-upload" model="model.xpl" view="view.xsl"/> Where your model is doing some processing on the uploaded file and the view is your 1040EZ form. In your view.xsl you'll want <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <!-- Import empty instance --> </xsl:otherwise> </xsl:choose> This should copy the uploaded instance into the page when there is one, but give an empty one when the page is loaded normally! Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 08 March 2006 07:56 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Thanks Alex, that fixed the 404. But the uploaded xml is not being >sent back to the browser. That's not that important, I ultimately >want the uploaded data to become the xforms instance on /1040ez. What >should I use to connect the two? > > > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] On Behalf Of >Alessandro Vernet >Sent: Tuesday, March 07, 2006 8:01 PM >To: [hidden email] >Subject: Re: [ops-users] Portable Instance > > >Richard, > >The 404 you get is not because /xforms-server-submit does not exist, >but because the URL that the XForms server tries to access returns a >404. In your view you have: > ><xforms:submission id="main-submission" method="post" replace="all" >action="/xforms-upload" /> > >But in the page flow you have: > ><page id="main" path-info="/1040ez/xforms-upload" ...> > >So I think you are getting this 404 because the XForms server can't >find /xforms-upload. Maybe try replacing /xforms-upload by >/1040ez/xforms-upload for the value of the action attribute. > >Alex > >On 3/7/06, Richard Braman <[hidden email]> wrote: >> Hi Ryan, et al. >> >> I am trying to handle the submission of the file I am uploading, but >> its not making sense. I don't see /xforms-server-submit in the page >> flow, but rather is the properties.xml file. It has a pointer to >> xforms-server-submit.xpl which seems to get the sumssion and do >> something with it. 2 questions: >> >> 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit >> >> See the original control at >> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> 2. How this ties into upload_action.xpl >> >> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >> to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >> (for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and >> container > >> type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >> #container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >> </p:config> >> >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: Tuesday, March 07, 2006 11:56 AM >> To: [hidden email] >> Subject: RE: [ops-users] Portable Instance >> >> >> I don't quite understand what you need to handle? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >> >> >-----Original Message----- >> >From: Richard Braman [mailto:[hidden email]] >> >Sent: 07 March 2006 16:39 >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> >I don't need it to, I just don't understand how to handle it. >> > >> >-----Original Message----- >> >From: Ryan Puddephatt [mailto:[hidden email]] >> >Sent: Tuesday, March 07, 2006 11:37 AM >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> > >> >Richard, >> > Currently all URLs are set to xforms-server-submit after a >> submission >> >has taken place! Why do you need the URL to show as xforms-upload? >> > >> >Ryan Puddephatt >> >Software Engineer >> >TFX Group - IT UK >> >1 Michaelson Square >> >Livingston >> >West Lothian >> >Scotand >> >EH54 7DP >> > >> >* [hidden email] >> >( 01506 407 110 >> >7 01506 407 108 >> > >> > >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: 07 March 2006 06:09 >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >>Can someone plase give me a hint on how to get this upload control >> >>to work, where do you handle the postback. It seems to >> >>/path/xforms-server-submit and there is nothing there in my >> >>pageflow. >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 10:21 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>I see that the submission url is set in propertiex.xml. I changed >> >>it to /1040ez/xforms-upload, but that didn't do the trick. When >> >>you > >> >>initially go to the page, it looks like it is trying to process the >> >>upload, but nothing has been uploaded yet. I am at a loss to >> >>figure > >> >>out how the post-back occurs. >> >> >> >> >> >>java.io.EOFException >> >>Message >> >>Servlet Stack Trace >> >>(87 method calls) Class Name Method Name File Name Line Number >> >>java.util.zip.GZIPInputStream readUByte N/A >> >>java.util.zip.GZIPInputStream readUShort N/A >> >>java.util.zip.GZIPInputStream readHeader N/A >> >>java.util.zip.GZIPInputStream <init> N/A >> >>java.util.zip.GZIPInputStream >> > >> >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 9:37 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Trying to solve my own problem: This should be fixed. >> >> >> >><xforms:upload ref="instance('main-instance')//files/file"> >> >>Instead of ., now it seem to want to goto >> >>http://24.75.221.234:8080/taxcode/xforms-server-submit >> >>Which doesn't exist. I thought it was supposed to post back to >> >>itself. >> >> >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 8:59 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Hi Alex, >> >> >> >>I looked at the example, and I kind of get it, but I only need to >> >>upload 1 file, simple upload. So I tried to separate the piece I >> >>need >> >> >>and I am getting an Xforms error >> >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> >> >>This file is the users xforms instance, and I just want to send it >> >>back >> > >> >>to the browser for now. I plan to ultimately load it into my app, >> >>but >> >> >>1 step at a time. >> >> >> >>I cannot debug the XForms error: Node is not an element or >> >>attribute. >> >> >> >>Thanks for the help. >> >> >> >>Page flow >> >><page id="main" >> >> path-info="/1040ez/xforms-upload" >> >> model="xforms/upload_action.xpl" >> >> view="xforms/upload.xhtml"> >> >> <action when="/*/action = 'simple-upload'"><result >> >>page="main"/></action> >> >> </page> >> >> >> >>****************************************** >> >>upload.xhtml >> >> >> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >> >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >> >>xmlns:xforms="http://www.w3.org/2002/xforms" >> >>xmlns:ev="http://www.w3.org/2001/xml-events" >> >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >> >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >> >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" >> >>as="xs:boolean" /> >> >> <xsl:variable name="in-portlet" >> >select="/result/request/container-type >> >>= 'portlet'" as="xs:boolean" /> >> >> <head> >> >> <title>XForms Upload</title> >> >> <xforms:model> >> >> <xforms:instance id="main-instance"> >> >> <form xmlns=""> >> >> <action /> >> >> <files> >> >> <file filename="" >> >>mediatype="" size="" /> >> >> </files> >> >> </form> >> >> </xforms:instance> >> >> <xforms:instance id="control-instance"> >> >> <control xmlns=""> >> >> <simple-upload-trigger /> >> >> </control> >> >> </xforms:instance> >> >> <!-- Using xs:anyURI will cause the XForms >> >>engine to store a reference to >> >> a URI instead of inlinig the content of the file >--> >> >> <xforms:bind >> nodeset="instance('main-instance')/files/file" >> >>type="xs:anyURI" /> >> >> <!--<xforms:bind nodeset="/form/files/file" >> >>type="xs:base64Binary"/>--> >> >> <!-- Control whether the upload trigger is >> >>read-only or not --> >> >> <xforms:bind >> >>nodeset="instance('control-instance')/simple-upload-trigger" >> >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >> >> <!-- Main submission which uploads the files >--> >> >> <xforms:submission id="main-submission" >> >>method="post" replace="all" action="/xforms-upload" /> >> >> </xforms:model> >> >> </head> >> >> <body> >> >> <xsl:if test="/result/message"> >> >> <p style="color: red"> >> >> <xsl:value-of >> >>select="/result/message" > >> >>/> >> >> </p> >> >> </xsl:if> >> >> <table> >> >> <tr> >> >> <td> >> >> <xforms:upload ref="."> >> >> <xforms:filename >> >>ref="@filename" /> >> >> <xforms:mediatype >> >>ref="@mediatype" /> >> >> <xxforms:size >> >>ref="@size" /> >> >> </xforms:upload> >> >> </td> >> >> </tr> >> >> </table> >> >> <table class="gridtable"> >> >> <tr> >> >> <th> >> >> Simple file upload >> >> </th> >> >> <td> >> >> <xforms:trigger >> >>ref="instance('control-instance')/simple-upload-trigger"> >> >> >> >><xforms:label>Upload</xforms:label> >> >> <xforms:action >> >>ev:event="DOMActivate"> >> >> >> >><xforms:setvalue >> > >> >>>ref="instance('main-instance')/action">simple-upload</xforms:setvalue >>>> >> >> <xforms:send >> >>submission="main-submission" /> >> >> </xforms:action> >> >> </xforms:trigger> >> >> </td> >> >> </tr> >> >> </table> >> >> <xsl:if test="$uploaded"> >> >> <h2>Submitted XForms Instance</h2> >> >> <f:box> >> >> <f:xml-source> >> >> <xsl:copy-of >> >>select="doc('input:instance')" /> >> >> </f:xml-source> >> >> </f:box> >> >> </xsl:if> >> >> </body> >> >></html> >> >> >> >>Upload_file.xpl >> >>******************************************************************* >> >>* >> >>** >> >>* >> >>* >> >>************ >> >><p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> >> >> <p:param name="data" type="input"/> >> >> <p:param name="instance" type="input"/> >> >> <p:param name="data" type="output"/> >> >> >> >> <!-- Get container type --> >> >> <p:processor name="oxf:request"> >> >> <p:input name="config"> >> >> <config> >> >> <include>/request/container-type</include> >> >> </config> >> >> </p:input> >> >> <p:output name="data" id="container-type"/> >> >> </p:processor> >> >> >> >> <p:choose href="#instance"> >> >> <p:when test="/*/action = 'simple-upload'"> >> >> <!-- A file was uploaded and we just want to send it >> >>back to the browser --> >> >> >> >> <!-- Dereference the xs:anyURI obtained from the >> >>instance (for the first file with an URI only) --> >> >> <p:processor name="oxf:pipeline"> >> >> <p:input name="config" href="read-uri.xpl"/> >> >> |
I tried sending the uploaded code back to the browser as XML. It worked
fine with http serializer (returned text), but with XML serializer it did the error: Reference to undeclared namespace prefix: 'xsi'. Error processing resource 'http://24.75.221.234:8080/taxcode/xforms-server... The XML page cannot be displayed Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later. ------------------------------------------------------------------------ -------- Reference to undeclared namespace prefix: 'xsi'. Error processing resource 'http://24.75.221.234:8080/taxcode/xforms-server... <document xsi:type="xs:base64Binary" content-type="application/octet-stream">PCEtLQogVGhlIGNvbnRlbnRzIG9mIHRo aXMgZmlsZ... ------------------------------------------------------------------------ ---------- I have <xforms:bind nodeset="instance('main-instance')/files/file" type="xs:anyURI" /> in my upload view. I have xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" defined as a namespace in my upload XML. I just want to display the MXL file just as it was uploaded. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Wednesday, March 08, 2006 2:09 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance That should have said without the XSL code it works fine. I did get my upload code to send the uploaded xml back to the browser. Yeah. Thanks for being patient with me. -----Original Message----- From: Richard Braman [mailto:[hidden email]] Sent: Wednesday, March 08, 2006 1:36 PM To: [hidden email] Subject: RE: [ops-users] Portable Instance Thanks for the direction Ryan: I added this simple code to the 1040ez page and hit it directly(without doing an upload), and it bombed (error below). I expected it would just load the empty instance (which still contains data used for testing) like have been doing, but it complained about not being able to convert zero length strings to integers, which means the empty instance must not have been loaded. With the xsl code it works fine: <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <xforms:instance id="f1040ez" src="oxf:/examples/1040ez/xforms/f1040ez.xml"/> <xforms:instance id="fw2" src="oxf:/examples/1040ez/xforms/fw2.xml"/> </xsl:otherwise> </xsl:choose> <xforms:instance id="split"> <form xmlns=""> <nameline1> <first-names/> <taxpayer-firstname/> <taxpayer-lastname/> <spouse-firstname/> <spouse-lastname/> </nameline1> </form> </xforms:instance> <xforms:instance id="eic-table" src="oxf:/examples/1040ez/xforms/eictable.xml"/> <xforms:instance id="taxtable" src="oxf:/examples/1040ez/xforms/taxtable.xml"/> <xforms:instance id="standard-deduction-worksheet"> <form xmlns=""> <wksht> <lineB/> <lineC/> <lineD/> <lineE/> <lineF/> </wksht> </form> </xforms:instance> <xforms:instance id="eic-worksheet"> <form xmlns=""> <wksht> <eic-wksht-1-line1yes/> <eic-wksht-1-line1no/> <eic-wksht-1-line2yes/> <eic-wksht-1-line2no/> <eic-wksht-1-line3yes/> <eic-wksht-1-line3no/> <eic-wksht-1-line4yes/> <eic-wksht-1-line4no/> <eic-wksht-1-line5no/> <eic-wksht-1-line5yes/> <eic-wksht-1-line6yes/> <eic-wksht-1-line6no/> <earned-income/> <eic-wksht-2-earned-income-yes/> <eic-wksht-2-earned-income-no/> <eic-wksht-2-irs-figure-credit-yes/> <eic-wksht-2-irs-figure-credit-no/> <eic-wksht-3-line-2/> <eic-wksht-3-line-4-yes/> <eic-wksht-3-line-4-no/> <eic-wksht-3-line-5-yes/> <eic-wksht-3-line-5-no/> <eic-wksht-3-line5/> <eic/> </wksht> </form> Orbeon PresentationServer (OPS) - Error Page Error Message The following error has occurred: Error Message Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' OPS Call Stack The OPS Call Stack helps you determine what sequence of OPS operations have caused the error. Resource URL Line Column Description XML Element oxf:/ops/pfc/xforms-epilogue.xpl 81 67 xforms:bind element xforms:bind element <xforms:bind id="eic-wksht-2-earned-income-yes" nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" calculate=" if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> <xforms:bind id="eic-wksht-2-earned-income-yes" nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" calculate=" if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> oxf:/ops/pfc/xforms-epilogue.xpl 101 71 reading processor output (name='document', ref='xformed-data') <p:output name="document" ref="xformed-data"/> oxf:/config/epilogue.xpl 36 58 reading processor output (name='xformed-data', id='xformed-data') <p:output name="xformed-data" id="xformed-data"/> oxf:/config/epilogue-servlet.xpl 30 48 reading processor output (name='xformed-data') <p:param type="input" name="xformed-data"/> oxf:/config/epilogue.xpl 54 46 executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline') <p:processor name="oxf:pipeline">...</p:processor> oxf:/examples/1040ez/page-flow.xml 43 44 executing processor (name='{http://www.orbeon.com/oxf/processors}pipeline') oxf:/examples/1040ez/page-flow.xpl 17 39 executing processor (name='{http://www.orbeon.com/oxf/processors}page-flow') <p:processor name="oxf:page-flow">...</p:processor> oxf:/page-flow.xml 35 80 reading page model data output (page id='1040ez', model='/examples/1040ez/page-flow.xpl') <page id="1040ez" path-info="/1040ez*" model="/examples/1040ez/page-flow.xpl"/> Java Exceptions (4 total) Java Exceptions are the native mechanism by which OPS reports errors. More than one exception may be provided below but usually the first exception along with the OPS Stack Trace above provide enough information to track down an issue. org.orbeon.oxf.common.ValidationException Exception Class org.orbeon.oxf.common.ValidationException Message Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (169 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.xforms.XFormsModel$3 handleNode XFormsModel.java 321 org.orbeon.oxf.xforms.XFormsModel iterateNodeSet XFormsModel.java 556 org.orbeon.oxf.xforms.XFormsModel handleCalculateBinds XFormsModel.java 309 org.orbeon.oxf.xforms.XFormsModel access$000 XFormsModel.java 49 org.orbeon.oxf.xforms.XFormsModel$1 applyBind XFormsModel.java 262 org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 298 org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java 260 org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 790 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 More... org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 769 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent XFormsContainingDocument.java 461 org.orbeon.oxf.xforms.processor.XFormsServer createXFormsContainingDocument XFormsServer.java 1046 org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 XFormsToXHTML.java 41 org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl XFormsToXHTML.java 61 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.ValidationException Exception Class org.orbeon.oxf.common.ValidationException Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (164 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 300 org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java 260 org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 790 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java 769 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent XFormsContainingDocument.java 616 org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent XFormsContainingDocument.java 461 org.orbeon.oxf.xforms.processor.XFormsServer createXFormsContainingDocument XFormsServer.java 1046 org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 More... org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 XFormsToXHTML.java 41 org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl XFormsToXHTML.java 61 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run PipelineProcessor.java 572 org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java 533 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput readImpl PipelineProcessor.java 568 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 232 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.OXFException Exception Class org.orbeon.oxf.common.OXFException Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, description xforms:bind element: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot convert zero-length string to an integer when evaluating ' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' Resource URL oxf:/ops/pfc/xforms-epilogue.xpl Line 81 Column 67 Servlet Stack Trace (47 method calls) Class Name Method Name File Name Line Number org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 33 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput PipelineProcessor.java 140 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 89 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 More... org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 354 org.orbeon.oxf.processor.IdentityProcessor$1 readImpl IdentityProcessor.java 33 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run PipelineProcessor.java 96 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 PipelineProcessor.java 66 org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl PipelineProcessor.java 94 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 readImpl ConcreteChooseProcessor.java 122 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 TeeProcessor.java 36 org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl TeeProcessor.java 57 org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read ProcessorImpl.java 1170 org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java 349 org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J ProcessorImpl.java 404 org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject ProcessorImpl.java 470 org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J ProcessorImpl.java 426 org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start ConcreteChooseProcessor.java 185 org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run PipelineProcessor.java 652 org.orbeon.oxf.processor.ProcessorImpl executeChildren ProcessorImpl.java 515 org.orbeon.oxf.processor.pipeline.PipelineProcessor start PipelineProcessor.java 649 org.orbeon.oxf.processor.PageFlowControllerProcessor start PageFlowControllerProcessor.java 416 org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 org.orbeon.oxf.servlet.OPSServletDelegate service OPSServletDelegate.java 144 javax.servlet.http.HttpServlet service HttpServlet.java 802 org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 Servlet Stack Trace (15 method calls) Class Name Method Name File Name Line Number javax.servlet.http.HttpServlet service HttpServlet.java 802 org.apache.catalina.core.ApplicationFilterChain internalDoFilter ApplicationFilterChain.java 252 org.apache.catalina.core.ApplicationFilterChain doFilter ApplicationFilterChain.java 173 org.apache.catalina.core.StandardWrapperValve invoke StandardWrapperValve.java 213 org.apache.catalina.core.StandardContextValve invoke StandardContextValve.java 178 org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java 126 org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java 105 org.apache.catalina.core.StandardEngineValve invoke StandardEngineValve.java 107 org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java 148 org.apache.coyote.http11.Http11Processor process Http11Processor.java 856 More... org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler processConnection Http11Protocol.java 744 org.apache.tomcat.util.net.PoolTcpEndpoint processSocket PoolTcpEndpoint.java 527 org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt LeaderFollowerWorkerThread.java 80 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run ThreadPool.java 684 java.lang.Thread run N/A org.orbeon.oxf.common.ValidationException -----Original Message----- From: Ryan Puddephatt [mailto:[hidden email]] Sent: Wednesday, March 08, 2006 4:54 AM To: [hidden email] Subject: RE: [ops-users] Portable Instance Richard, if you are using an upload page which will forward onto your form when clicking the upload button then you could have the following In the upload page the submission should be set replace attribute should be set to "all" to forward to the new page In the page flow you should have something like the following <page id="XFormsUpload" path-info="/xforms-upload" model="model.xpl" view="view.xsl"/> Where your model is doing some processing on the uploaded file and the view is your 1040EZ form. In your view.xsl you'll want <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <!-- Import empty instance --> </xsl:otherwise> </xsl:choose> This should copy the uploaded instance into the page when there is one, but give an empty one when the page is loaded normally! Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 08 March 2006 07:56 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Thanks Alex, that fixed the 404. But the uploaded xml is not being >sent back to the browser. That's not that important, I ultimately >want the uploaded data to become the xforms instance on /1040ez. What >should I use to connect the two? > > > >-----Original Message----- >From: [hidden email] [mailto:[hidden email]] On Behalf Of >Alessandro Vernet >Sent: Tuesday, March 07, 2006 8:01 PM >To: [hidden email] >Subject: Re: [ops-users] Portable Instance > > >Richard, > >The 404 you get is not because /xforms-server-submit does not exist, >but because the URL that the XForms server tries to access returns a >404. In your view you have: > ><xforms:submission id="main-submission" method="post" replace="all" >action="/xforms-upload" /> > >But in the page flow you have: > ><page id="main" path-info="/1040ez/xforms-upload" ...> > >So I think you are getting this 404 because the XForms server can't >find /xforms-upload. Maybe try replacing /xforms-upload by >/1040ez/xforms-upload for the value of the action attribute. > >Alex > >On 3/7/06, Richard Braman <[hidden email]> wrote: >> Hi Ryan, et al. >> >> I am trying to handle the submission of the file I am uploading, but >> its not making sense. I don't see /xforms-server-submit in the page >> flow, but rather is the properties.xml file. It has a pointer to >> xforms-server-submit.xpl which seems to get the sumssion and do >> something with it. 2 questions: >> >> 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit >> >> See the original control at >> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> 2. How this ties into upload_action.xpl >> >> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >> >> <p:param name="data" type="input"/> >> <p:param name="instance" type="input"/> >> <p:param name="data" type="output"/> >> >> <!-- Get container type --> >> <p:processor name="oxf:request"> >> <p:input name="config"> >> <config> >> <include>/request/container-type</include> >> </config> >> </p:input> >> <p:output name="data" id="container-type"/> >> </p:processor> >> >> <p:choose href="#instance"> >> <p:when test="/*/action = 'simple-upload'"> >> <!-- A file was uploaded and we just want to send it back >> to the browser --> >> >> <!-- Dereference the xs:anyURI obtained from the instance >> (for the first file with an URI only) --> >> <p:processor name="oxf:pipeline"> >> <p:input name="config" href="read-uri.xpl"/> >> <p:input name="uri" href="aggregate('uri', >> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >> <p:output name="data" id="file"/> >> </p:processor> >> >> <!-- Send the data to the browser --> >> <p:processor name="oxf:http-serializer"> >> <p:input name="data" href="#file"/> >> <p:input name="config"> >> <config> >> <content-type>text/xml</content-type> >> <force-content-type>true</force-content-type> >> <cache-control> >> <use-local-cache>false</use-local-cache> >> </cache-control> >> </config> >> </p:input> >> </p:processor> >> >> <!-- Make sure the view is not executed --> >> <p:processor name="oxf:identity"> >> <p:input name="data"> >> <root xsi:nil="true"/> >> </p:input> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:when> >> <p:otherwise> >> <!-- Forward the URL generated by the action and >> container > >> type to the view --> >> <p:processor name="oxf:identity"> >> <p:input name="data" href="aggregate('result', #data, >> #container-type)"/> >> <p:output name="data" ref="data"/> >> </p:processor> >> </p:otherwise> >> </p:choose> >> >> </p:config> >> >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: Tuesday, March 07, 2006 11:56 AM >> To: [hidden email] >> Subject: RE: [ops-users] Portable Instance >> >> >> I don't quite understand what you need to handle? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >> >> >-----Original Message----- >> >From: Richard Braman [mailto:[hidden email]] >> >Sent: 07 March 2006 16:39 >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> >I don't need it to, I just don't understand how to handle it. >> > >> >-----Original Message----- >> >From: Ryan Puddephatt [mailto:[hidden email]] >> >Sent: Tuesday, March 07, 2006 11:37 AM >> >To: [hidden email] >> >Subject: RE: [ops-users] Portable Instance >> > >> > >> >Richard, >> > Currently all URLs are set to xforms-server-submit after a >> submission >> >has taken place! Why do you need the URL to show as xforms-upload? >> > >> >Ryan Puddephatt >> >Software Engineer >> >TFX Group - IT UK >> >1 Michaelson Square >> >Livingston >> >West Lothian >> >Scotand >> >EH54 7DP >> > >> >* [hidden email] >> >( 01506 407 110 >> >7 01506 407 108 >> > >> > >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: 07 March 2006 06:09 >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >>Can someone plase give me a hint on how to get this upload control >> >>to work, where do you handle the postback. It seems to >> >>/path/xforms-server-submit and there is nothing there in my >> >>pageflow. >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 10:21 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>I see that the submission url is set in propertiex.xml. I changed >> >>it to /1040ez/xforms-upload, but that didn't do the trick. When >> >>you > >> >>initially go to the page, it looks like it is trying to process the >> >>upload, but nothing has been uploaded yet. I am at a loss to >> >>figure > >> >>out how the post-back occurs. >> >> >> >> >> >>java.io.EOFException >> >>Message >> >>Servlet Stack Trace >> >>(87 method calls) Class Name Method Name File Name Line Number >> >>java.util.zip.GZIPInputStream readUByte N/A >> >>java.util.zip.GZIPInputStream readUShort N/A >> >>java.util.zip.GZIPInputStream readHeader N/A >> >>java.util.zip.GZIPInputStream <init> N/A >> >>java.util.zip.GZIPInputStream >> > >> >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >> >>XFormsUtils.java >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 9:37 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Trying to solve my own problem: This should be fixed. >> >> >> >><xforms:upload ref="instance('main-instance')//files/file"> >> >>Instead of ., now it seem to want to goto >> >>http://24.75.221.234:8080/taxcode/xforms-server-submit >> >>Which doesn't exist. I thought it was supposed to post back to >> >>itself. >> >> >> >> >> >> >> >>-----Original Message----- >> >>From: Richard Braman [mailto:[hidden email]] >> >>Sent: Sunday, March 05, 2006 8:59 PM >> >>To: [hidden email] >> >>Subject: RE: [ops-users] Portable Instance >> >> >> >> >> >>Hi Alex, >> >> >> >>I looked at the example, and I kind of get it, but I only need to >> >>upload 1 file, simple upload. So I tried to separate the piece I >> >>need >> >> >>and I am getting an Xforms error >> >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >> >> >> >>This file is the users xforms instance, and I just want to send it >> >>back >> > >> >>to the browser for now. I plan to ultimately load it into my app, >> >>but >> >> >>1 step at a time. >> >> >> >>I cannot debug the XForms error: Node is not an element or >> >>attribute. >> >> >> >>Thanks for the help. >> >> >> >>Page flow >> >><page id="main" >> >> path-info="/1040ez/xforms-upload" >> >> model="xforms/upload_action.xpl" >> >> view="xforms/upload.xhtml"> >> >> <action when="/*/action = 'simple-upload'"><result >> >>page="main"/></action> >> >> </page> >> >> >> >>****************************************** >> >>upload.xhtml >> >> >> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >> >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >> >>xmlns:xforms="http://www.w3.org/2002/xforms" >> >>xmlns:ev="http://www.w3.org/2001/xml-events" >> >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >> >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >> >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" >> >>as="xs:boolean" /> >> >> <xsl:variable name="in-portlet" >> >select="/result/request/container-type >> >>= 'portlet'" as="xs:boolean" /> >> >> <head> >> >> <title>XForms Upload</title> >> >> <xforms:model> >> >> <xforms:instance id="main-instance"> >> >> <form xmlns=""> >> >> <action /> >> >> <files> >> >> <file filename="" >> >>mediatype="" size="" /> >> >> </files> >> >> </form> >> >> </xforms:instance> >> >> <xforms:instance id="control-instance"> >> >> <control xmlns=""> >> >> <simple-upload-trigger /> >> >> </control> >> >> </xforms:instance> >> >> <!-- Using xs:anyURI will cause the XForms >> >>engine to store a reference to >> >> a URI instead of inlinig the content of the file >--> >> >> <xforms:bind >> nodeset="instance('main-instance')/files/file" >> >>type="xs:anyURI" /> >> >> <!--<xforms:bind nodeset="/form/files/file" >> >>type="xs:base64Binary"/>--> >> >> <!-- Control whether the upload trigger is >> >>read-only or not --> >> >> <xforms:bind >> >>nodeset="instance('control-instance')/simple-upload-trigger" >> >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >> >> <!-- Main submission which uploads the files >--> >> >> <xforms:submission id="main-submission" >> >>method="post" replace="all" action="/xforms-upload" /> >> >> </xforms:model> >> >> </head> >> >> <body> >> >> <xsl:if test="/result/message"> >> >> <p style="color: red"> >> >> <xsl:value-of >> >>select="/result/message" > >> >>/> >> >> </p> >> >> </xsl:if> >> >> <table> >> >> <tr> >> >> <td> >> >> <xforms:upload ref="."> >> >> <xforms:filename >> >>ref="@filename" /> >> >> <xforms:mediatype >> >>ref="@mediatype" /> >> >> <xxforms:size >> >>ref="@size" /> >> >> </xforms:upload> >> >> </td> >> >> </tr> >> >> </table> >> >> <table class="gridtable"> >> >> <tr> >> >> <th> >> >> Simple file upload >> >> </th> >> >> <td> >> >> <xforms:trigger >> >>ref="instance('control-instance')/simple-upload-trigger"> >> >> >> >><xforms:label>Upload</xforms:label> >> >> <xforms:action >> >>ev:event="DOMActivate"> >> >> >> >><xforms:setvalue >> > >> >>>ref="instance('main-instance')/action">simple-upload</xforms:setvalue >>>> >> >> <xforms:send >> >>submission="main-submission" /> >> >> </xforms:action> >> >> </xforms:trigger> >> >> </td> >> >> </tr> >> >> </table> >> >> <xsl:if test="$uploaded"> >> >> <h2>Submitted XForms Instance</h2> >> >> <f:box> >> >> <f:xml-source> >> >> <xsl:copy-of >> >>select="doc('input:instance')" /> >> >> </f:xml-source> >> >> |
In reply to this post by Richard Braman
Richard,
Try <xforms:instance id="f1040ez"> <xsl:choose> <xsl:when test="count(/*) gt 0"> <xsl:copy-of select="/*"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="doc('oxf:/examples/1040ez/xforms/f1040ez.xml')"/> </xsl:otherwise> </xsl:choose> </xforms:instance> Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Richard Braman [mailto:[hidden email]] >Sent: 08 March 2006 18:36 >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > >Thanks for the direction Ryan: > >I added this simple code to the 1040ez page and hit it directly(without >doing an upload), and it bombed (error below). >I expected it would just load the empty instance (which still contains >data used for testing) like have been doing, but it complained about not >being able to convert zero length strings to integers, which means the >empty instance must not have been loaded. >With the xsl code it works fine: > ><xsl:choose> > <xsl:when test="count(/*) gt 0"> > <xsl:copy-of select="/*"/> > </xsl:when> > <xsl:otherwise> > <xforms:instance id="f1040ez" >src="oxf:/examples/1040ez/xforms/f1040ez.xml"/> > <xforms:instance id="fw2" >src="oxf:/examples/1040ez/xforms/fw2.xml"/> > </xsl:otherwise> ></xsl:choose> > > <xforms:instance id="split"> > <form xmlns=""> > <nameline1> > <first-names/> > <taxpayer-firstname/> > <taxpayer-lastname/> > <spouse-firstname/> > <spouse-lastname/> > </nameline1> > </form> > </xforms:instance> > <xforms:instance id="eic-table" >src="oxf:/examples/1040ez/xforms/eictable.xml"/> > <xforms:instance id="taxtable" >src="oxf:/examples/1040ez/xforms/taxtable.xml"/> > <xforms:instance >id="standard-deduction-worksheet"> > <form xmlns=""> > <wksht> > <lineB/> > <lineC/> > <lineD/> > <lineE/> > <lineF/> > </wksht> > </form> > </xforms:instance> > <xforms:instance id="eic-worksheet"> > <form xmlns=""> > <wksht> > <eic-wksht-1-line1yes/> > <eic-wksht-1-line1no/> > <eic-wksht-1-line2yes/> > <eic-wksht-1-line2no/> > <eic-wksht-1-line3yes/> > <eic-wksht-1-line3no/> > <eic-wksht-1-line4yes/> > <eic-wksht-1-line4no/> > <eic-wksht-1-line5no/> > <eic-wksht-1-line5yes/> > <eic-wksht-1-line6yes/> > <eic-wksht-1-line6no/> > <earned-income/> > ><eic-wksht-2-earned-income-yes/> > ><eic-wksht-2-earned-income-no/> > ><eic-wksht-2-irs-figure-credit-yes/> > ><eic-wksht-2-irs-figure-credit-no/> > <eic-wksht-3-line-2/> > ><eic-wksht-3-line-4-yes/> > <eic-wksht-3-line-4-no/> > ><eic-wksht-3-line-5-yes/> > <eic-wksht-3-line-5-no/> > <eic-wksht-3-line5/> > <eic/> > </wksht> > </form> > > >Orbeon PresentationServer (OPS) - Error Page >Error Message >The following error has occurred: > >Error Message >Cannot convert zero-length string to an integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and >instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and >instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' ' > >OPS Call Stack >The OPS Call Stack helps you determine what sequence of OPS operations >have caused the error. > >Resource URL Line Column Description XML Element >oxf:/ops/pfc/xforms-epilogue.xpl 81 67 xforms:bind element >xforms:bind element <xforms:bind id="eic-wksht-2-earned-income-yes" >nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" >calculate=" if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and >instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and >instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> > <xforms:bind id="eic-wksht-2-earned-income-yes" >nodeset="instance('eic-worksheet')//wksht/eic-wksht-2-earned-income-yes" >calculate=" if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 and >instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 and >instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else '' "/> >oxf:/ops/pfc/xforms-epilogue.xpl 101 71 reading processor output >(name='document', ref='xformed-data') <p:output name="document" >ref="xformed-data"/> >oxf:/config/epilogue.xpl 36 58 reading processor output >(name='xformed-data', id='xformed-data') <p:output name="xformed-data" >id="xformed-data"/> >oxf:/config/epilogue-servlet.xpl 30 48 reading processor output >(name='xformed-data') <p:param type="input" name="xformed-data"/> >oxf:/config/epilogue.xpl 54 46 executing processor >(name='{http://www.orbeon.com/oxf/processors}pipeline') <p:processor >name="oxf:pipeline">...</p:processor> >oxf:/examples/1040ez/page-flow.xml 43 44 executing processor >(name='{http://www.orbeon.com/oxf/processors}pipeline') >oxf:/examples/1040ez/page-flow.xpl 17 39 executing processor >(name='{http://www.orbeon.com/oxf/processors}page-flow') <p:processor >name="oxf:page-flow">...</p:processor> >oxf:/page-flow.xml 35 80 reading page model data output (page >id='1040ez', model='/examples/1040ez/page-flow.xpl') <page id="1040ez" >path-info="/1040ez*" model="/examples/1040ez/page-flow.xpl"/> > >Java Exceptions (4 total) >Java Exceptions are the native mechanism by which OPS reports errors. >More than one exception may be provided below but usually the first >exception along with the OPS Stack Trace above provide enough >information to track down an issue. > > org.orbeon.oxf.common.ValidationException >Exception Class org.orbeon.oxf.common.ValidationException >Message Cannot convert zero-length string to an integer when evaluating >' if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt >11750 and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' >else if (xs:integer(instance('eic-worksheet')//wksht/earned-income) lt >13750 and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' >else '' ' >Resource URL oxf:/ops/pfc/xforms-epilogue.xpl >Line 81 >Column 67 >Servlet Stack Trace >(169 method calls) Class Name Method Name File Name Line Number >org.orbeon.oxf.xforms.XFormsModel$3 handleNode XFormsModel.java 321 >org.orbeon.oxf.xforms.XFormsModel iterateNodeSet XFormsModel.java 556 >org.orbeon.oxf.xforms.XFormsModel handleCalculateBinds XFormsModel.java >309 >org.orbeon.oxf.xforms.XFormsModel access$000 XFormsModel.java 49 >org.orbeon.oxf.xforms.XFormsModel$1 applyBind XFormsModel.java 262 >org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 298 >org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java >260 >org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 >org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java >790 >org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent >XFormsContainingDocument.java 616 > More... >org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java >769 >org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent >XFormsContainingDocument.java 616 >org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent >XFormsContainingDocument.java 461 >org.orbeon.oxf.xforms.processor.XFormsServer >createXFormsContainingDocument XFormsServer.java 1046 >org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 > >org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 >XFormsToXHTML.java 41 >org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl >XFormsToXHTML.java 61 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run >PipelineProcessor.java 572 >org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java >533 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput >readImpl PipelineProcessor.java 568 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run >PipelineProcessor.java 572 >org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java >533 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput >readImpl PipelineProcessor.java 568 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 >TeeProcessor.java 36 >org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl >TeeProcessor.java 57 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J >ProcessorImpl.java 404 >org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject >ProcessorImpl.java 470 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J >ProcessorImpl.java 426 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 185 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 232 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 232 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.PageFlowControllerProcessor start >PageFlowControllerProcessor.java 416 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput >PipelineProcessor.java 140 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 89 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.IdentityProcessor$1 readImpl >IdentityProcessor.java 33 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput >PipelineProcessor.java 140 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 89 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.IdentityProcessor$1 readImpl >IdentityProcessor.java 33 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 >TeeProcessor.java 36 >org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl >TeeProcessor.java 57 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J >ProcessorImpl.java 404 >org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject >ProcessorImpl.java 470 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J >ProcessorImpl.java 426 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 185 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.PageFlowControllerProcessor start >PageFlowControllerProcessor.java 416 >org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 >org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 >org.orbeon.oxf.servlet.OPSServletDelegate service >OPSServletDelegate.java 144 >javax.servlet.http.HttpServlet service HttpServlet.java 802 >org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 > >Servlet Stack Trace >(15 method calls) Class Name Method Name File Name Line Number >javax.servlet.http.HttpServlet service HttpServlet.java 802 >org.apache.catalina.core.ApplicationFilterChain internalDoFilter >ApplicationFilterChain.java 252 >org.apache.catalina.core.ApplicationFilterChain doFilter >ApplicationFilterChain.java 173 >org.apache.catalina.core.StandardWrapperValve invoke >StandardWrapperValve.java 213 >org.apache.catalina.core.StandardContextValve invoke >StandardContextValve.java 178 >org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java >126 >org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java >105 >org.apache.catalina.core.StandardEngineValve invoke >StandardEngineValve.java 107 >org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java >148 >org.apache.coyote.http11.Http11Processor process Http11Processor.java >856 > More... >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler >processConnection Http11Protocol.java 744 >org.apache.tomcat.util.net.PoolTcpEndpoint processSocket >PoolTcpEndpoint.java 527 >org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt >LeaderFollowerWorkerThread.java 80 >org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run >ThreadPool.java 684 >java.lang.Thread run N/A > > org.orbeon.oxf.common.ValidationException >Exception Class org.orbeon.oxf.common.ValidationException >Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, >description xforms:bind element: Cannot convert zero-length string to an >integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 >and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 >and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else >'' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot >convert zero-length string to an integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 >and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 >and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else >'' ' >Resource URL oxf:/ops/pfc/xforms-epilogue.xpl >Line 81 >Column 67 >Servlet Stack Trace >(164 method calls) Class Name Method Name File Name Line Number >org.orbeon.oxf.xforms.XFormsModel applyBinds XFormsModel.java 300 >org.orbeon.oxf.xforms.XFormsModel applyCalculateBinds XFormsModel.java >260 >org.orbeon.oxf.xforms.XFormsModel doRecalculate XFormsModel.java 897 >org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java >790 >org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent >XFormsContainingDocument.java 616 >org.orbeon.oxf.xforms.XFormsModel performDefaultAction XFormsModel.java >769 >org.orbeon.oxf.xforms.XFormsContainingDocument dispatchEvent >XFormsContainingDocument.java 616 >org.orbeon.oxf.xforms.XFormsContainingDocument dispatchExternalEvent >XFormsContainingDocument.java 461 >org.orbeon.oxf.xforms.processor.XFormsServer >createXFormsContainingDocument XFormsServer.java 1046 >org.orbeon.oxf.xforms.processor.XFormsToXHTML doIt XFormsToXHTML.java 79 > > More... >org.orbeon.oxf.xforms.processor.XFormsToXHTML access$000 >XFormsToXHTML.java 41 >org.orbeon.oxf.xforms.processor.XFormsToXHTML$1 readImpl >XFormsToXHTML.java 61 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run >PipelineProcessor.java 572 >org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java >533 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput >readImpl PipelineProcessor.java 568 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1500 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$6 run >PipelineProcessor.java 572 >org.orbeon.oxf.processor.ProcessorImpl executeParents ProcessorImpl.java >533 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$1600 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput >readImpl PipelineProcessor.java 568 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 >TeeProcessor.java 36 >org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl >TeeProcessor.java 57 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J >ProcessorImpl.java 404 >org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject >ProcessorImpl.java 470 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J >ProcessorImpl.java 426 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 185 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 232 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 232 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.PageFlowControllerProcessor start >PageFlowControllerProcessor.java 416 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput >PipelineProcessor.java 140 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 89 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.IdentityProcessor$1 readImpl >IdentityProcessor.java 33 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 31 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput >PipelineProcessor.java 140 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 89 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.IdentityProcessor$1 readImpl >IdentityProcessor.java 33 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 >TeeProcessor.java 36 >org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl >TeeProcessor.java 57 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J >ProcessorImpl.java 404 >org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject >ProcessorImpl.java 470 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J >ProcessorImpl.java 426 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 185 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.PageFlowControllerProcessor start >PageFlowControllerProcessor.java 416 >org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 >org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 >org.orbeon.oxf.servlet.OPSServletDelegate service >OPSServletDelegate.java 144 >javax.servlet.http.HttpServlet service HttpServlet.java 802 >org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 > >Servlet Stack Trace >(15 method calls) Class Name Method Name File Name Line Number >javax.servlet.http.HttpServlet service HttpServlet.java 802 >org.apache.catalina.core.ApplicationFilterChain internalDoFilter >ApplicationFilterChain.java 252 >org.apache.catalina.core.ApplicationFilterChain doFilter >ApplicationFilterChain.java 173 >org.apache.catalina.core.StandardWrapperValve invoke >StandardWrapperValve.java 213 >org.apache.catalina.core.StandardContextValve invoke >StandardContextValve.java 178 >org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java >126 >org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java >105 >org.apache.catalina.core.StandardEngineValve invoke >StandardEngineValve.java 107 >org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java >148 >org.apache.coyote.http11.Http11Processor process Http11Processor.java >856 > More... >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler >processConnection Http11Protocol.java 744 >org.apache.tomcat.util.net.PoolTcpEndpoint processSocket >PoolTcpEndpoint.java 527 >org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt >LeaderFollowerWorkerThread.java 80 >org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run >ThreadPool.java 684 >java.lang.Thread run N/A > > org.orbeon.oxf.common.OXFException >Exception Class org.orbeon.oxf.common.OXFException >Message oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, >description xforms:bind element: oxf:/ops/pfc/xforms-epilogue.xpl, line >81, column 67, description xforms:bind element: Cannot convert >zero-length string to an integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 >and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 >and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else >'' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot >convert zero-length string to an integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 >and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 >and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else >'' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67, >description xforms:bind element: Cannot convert zero-length string to an >integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 >and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 >and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else >'' ' oxf:/ops/pfc/xforms-epilogue.xpl, line 81, column 67: Cannot >convert zero-length string to an integer when evaluating ' if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 11750 >and instance('f1040ez')//f1040ez/SEQ0030 eq '') then 'X' else if >(xs:integer(instance('eic-worksheet')//wksht/earned-income) lt 13750 >and instance('f1040ez')//f1040ez/SEQ0030 ne '') then 'X' else >'' ' >Resource URL oxf:/ops/pfc/xforms-epilogue.xpl >Line 81 >Column 67 >Servlet Stack Trace >(47 method calls) Class Name Method Name File Name Line Number >org.orbeon.oxf.processor.NullSerializer start NullSerializer.java 33 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 getInput >PipelineProcessor.java 140 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 89 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 > More... >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >354 >org.orbeon.oxf.processor.IdentityProcessor$1 readImpl >IdentityProcessor.java 33 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$000 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2 run >PipelineProcessor.java 96 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor access$100 >PipelineProcessor.java 66 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1 readImpl >PipelineProcessor.java 94 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1 >readImpl ConcreteChooseProcessor.java 122 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.pipeline.TeeProcessor access$100 >TeeProcessor.java 36 >org.orbeon.oxf.processor.pipeline.TeeProcessor$1 readImpl >TeeProcessor.java 57 >org.orbeon.oxf.processor.ProcessorImpl$6 read ProcessorImpl.java 987 >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl read >ProcessorImpl.java 1170 >org.orbeon.oxf.processor.ProcessorImpl readInputAsSAX ProcessorImpl.java >349 >org.orbeon.oxf.processor.ProcessorImpl readInputAsDOM4J >ProcessorImpl.java 404 >org.orbeon.oxf.processor.ProcessorImpl$4 read ProcessorImpl.java 428 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsObject >ProcessorImpl.java 470 >org.orbeon.oxf.processor.ProcessorImpl readCacheInputAsDOM4J >ProcessorImpl.java 426 >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor start >ConcreteChooseProcessor.java 185 >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11 run >PipelineProcessor.java 652 >org.orbeon.oxf.processor.ProcessorImpl executeChildren >ProcessorImpl.java 515 >org.orbeon.oxf.processor.pipeline.PipelineProcessor start >PipelineProcessor.java 649 >org.orbeon.oxf.processor.PageFlowControllerProcessor start >PageFlowControllerProcessor.java 416 >org.orbeon.oxf.pipeline.InitUtils runProcessor InitUtils.java 86 >org.orbeon.oxf.webapp.ProcessorService service ProcessorService.java 95 >org.orbeon.oxf.servlet.OPSServletDelegate service >OPSServletDelegate.java 144 >javax.servlet.http.HttpServlet service HttpServlet.java 802 >org.orbeon.oxf.servlet.OPSServlet service OPSServlet.java 74 > >Servlet Stack Trace >(15 method calls) Class Name Method Name File Name Line Number >javax.servlet.http.HttpServlet service HttpServlet.java 802 >org.apache.catalina.core.ApplicationFilterChain internalDoFilter >ApplicationFilterChain.java 252 >org.apache.catalina.core.ApplicationFilterChain doFilter >ApplicationFilterChain.java 173 >org.apache.catalina.core.StandardWrapperValve invoke >StandardWrapperValve.java 213 >org.apache.catalina.core.StandardContextValve invoke >StandardContextValve.java 178 >org.apache.catalina.core.StandardHostValve invoke StandardHostValve.java >126 >org.apache.catalina.valves.ErrorReportValve invoke ErrorReportValve.java >105 >org.apache.catalina.core.StandardEngineValve invoke >StandardEngineValve.java 107 >org.apache.catalina.connector.CoyoteAdapter service CoyoteAdapter.java >148 >org.apache.coyote.http11.Http11Processor process Http11Processor.java >856 > More... >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler >processConnection Http11Protocol.java 744 >org.apache.tomcat.util.net.PoolTcpEndpoint processSocket >PoolTcpEndpoint.java 527 >org.apache.tomcat.util.net.LeaderFollowerWorkerThread runIt >LeaderFollowerWorkerThread.java 80 >org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run >ThreadPool.java 684 >java.lang.Thread run N/A > > org.orbeon.oxf.common.ValidationException > >-----Original Message----- >From: Ryan Puddephatt [mailto:[hidden email]] >Sent: Wednesday, March 08, 2006 4:54 AM >To: [hidden email] >Subject: RE: [ops-users] Portable Instance > > >Richard, if you are using an upload page which will forward onto your >form when clicking the upload button then you could have the following > >In the upload page the submission should be set replace attribute should >be set to "all" to forward to the new page > >In the page flow you should have something like the following > ><page id="XFormsUpload" path-info="/xforms-upload" > model="model.xpl" > view="view.xsl"/> > >Where your model is doing some processing on the uploaded file and the >view is your 1040EZ form. > >In your view.xsl you'll want > ><xsl:choose> > <xsl:when test="count(/*) gt 0"> > <xsl:copy-of select="/*"/> > </xsl:when> > <xsl:otherwise> > <!-- Import empty instance --> > </xsl:otherwise> ></xsl:choose> > >This should copy the uploaded instance into the page when there is one, >but give an empty one when the page is loaded normally! > >Ryan Puddephatt >Software Engineer >TFX Group - IT UK >1 Michaelson Square >Livingston >West Lothian >Scotand >EH54 7DP > >* [hidden email] >( 01506 407 110 >7 01506 407 108 > > >>-----Original Message----- >>From: Richard Braman [mailto:[hidden email]] >>Sent: 08 March 2006 07:56 >>To: [hidden email] >>Subject: RE: [ops-users] Portable Instance >> >>Thanks Alex, that fixed the 404. But the uploaded xml is not being >>sent back to the browser. That's not that important, I ultimately >>want the uploaded data to become the xforms instance on /1040ez. What >>should I use to connect the two? >> >> >> >>-----Original Message----- >>From: [hidden email] [mailto:[hidden email]] On Behalf Of >>Alessandro Vernet >>Sent: Tuesday, March 07, 2006 8:01 PM >>To: [hidden email] >>Subject: Re: [ops-users] Portable Instance >> >> >>Richard, >> >>The 404 you get is not because /xforms-server-submit does not exist, >>but because the URL that the XForms server tries to access returns a >>404. In your view you have: >> >><xforms:submission id="main-submission" method="post" replace="all" >>action="/xforms-upload" /> >> >>But in the page flow you have: >> >><page id="main" path-info="/1040ez/xforms-upload" ...> >> >>So I think you are getting this 404 because the XForms server can't >>find /xforms-upload. Maybe try replacing /xforms-upload by >>/1040ez/xforms-upload for the value of the action attribute. >> >>Alex >> >>On 3/7/06, Richard Braman <[hidden email]> wrote: >>> Hi Ryan, et al. >>> >>> I am trying to handle the submission of the file I am uploading, but >>> its not making sense. I don't see /xforms-server-submit in the page >>> flow, but rather is the properties.xml file. It has a pointer to >>> xforms-server-submit.xpl which seems to get the sumssion and do >>> something with it. 2 questions: >>> >>> 1.404 error http://24.75.221.234:8080/taxcode/xforms-server-submit >>> >>> See the original control at >>> http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >>> >>> 2. How this ties into upload_action.xpl >>> >>> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xmlns:oxf="http://www.orbeon.com/oxf/processors"> >>> >>> <p:param name="data" type="input"/> >>> <p:param name="instance" type="input"/> >>> <p:param name="data" type="output"/> >>> >>> <!-- Get container type --> >>> <p:processor name="oxf:request"> >>> <p:input name="config"> >>> <config> >>> <include>/request/container-type</include> >>> </config> >>> </p:input> >>> <p:output name="data" id="container-type"/> >>> </p:processor> >>> >>> <p:choose href="#instance"> >>> <p:when test="/*/action = 'simple-upload'"> >>> <!-- A file was uploaded and we just want to send it back > >>> to the browser --> >>> >>> <!-- Dereference the xs:anyURI obtained from the instance > >>> (for the first file with an URI only) --> >>> <p:processor name="oxf:pipeline"> >>> <p:input name="config" href="read-uri.xpl"/> >>> <p:input name="uri" href="aggregate('uri', >>> #instance#xpointer(string(/*/files/file[. != ''][1])))"/> >>> <p:output name="data" id="file"/> >>> </p:processor> >>> >>> <!-- Send the data to the browser --> >>> <p:processor name="oxf:http-serializer"> >>> <p:input name="data" href="#file"/> >>> <p:input name="config"> >>> <config> >>> <content-type>text/xml</content-type> >>> <force-content-type>true</force-content-type> >>> <cache-control> >>> <use-local-cache>false</use-local-cache> >>> </cache-control> >>> </config> >>> </p:input> >>> </p:processor> >>> >>> <!-- Make sure the view is not executed --> >>> <p:processor name="oxf:identity"> >>> <p:input name="data"> >>> <root xsi:nil="true"/> >>> </p:input> >>> <p:output name="data" ref="data"/> >>> </p:processor> >>> </p:when> >>> <p:otherwise> >>> <!-- Forward the URL generated by the action and >>> container >> >>> type to the view --> >>> <p:processor name="oxf:identity"> >>> <p:input name="data" href="aggregate('result', #data, > >>> #container-type)"/> >>> <p:output name="data" ref="data"/> >>> </p:processor> >>> </p:otherwise> >>> </p:choose> >>> >>> </p:config> >>> >>> -----Original Message----- >>> From: Ryan Puddephatt [mailto:[hidden email]] >>> Sent: Tuesday, March 07, 2006 11:56 AM >>> To: [hidden email] >>> Subject: RE: [ops-users] Portable Instance >>> >>> >>> I don't quite understand what you need to handle? >>> >>> Ryan Puddephatt >>> Software Engineer >>> TFX Group - IT UK >>> 1 Michaelson Square >>> Livingston >>> West Lothian >>> Scotand >>> EH54 7DP >>> >>> * [hidden email] >>> ( 01506 407 110 >>> 7 01506 407 108 >>> >>> >>> >-----Original Message----- >>> >From: Richard Braman [mailto:[hidden email]] >>> >Sent: 07 March 2006 16:39 >>> >To: [hidden email] >>> >Subject: RE: [ops-users] Portable Instance >>> > >>> >I don't need it to, I just don't understand how to handle it. >>> > >>> >-----Original Message----- >>> >From: Ryan Puddephatt [mailto:[hidden email]] >>> >Sent: Tuesday, March 07, 2006 11:37 AM >>> >To: [hidden email] >>> >Subject: RE: [ops-users] Portable Instance >>> > >>> > >>> >Richard, >>> > Currently all URLs are set to xforms-server-submit after a >>> submission >>> >has taken place! Why do you need the URL to show as xforms-upload? >>> > >>> >Ryan Puddephatt >>> >Software Engineer >>> >TFX Group - IT UK >>> >1 Michaelson Square >>> >Livingston >>> >West Lothian >>> >Scotand >>> >EH54 7DP >>> > >>> >* [hidden email] >>> >( 01506 407 110 >>> >7 01506 407 108 >>> > >>> > >>> >>-----Original Message----- >>> >>From: Richard Braman [mailto:[hidden email]] >>> >>Sent: 07 March 2006 06:09 >>> >>To: [hidden email] >>> >>Subject: RE: [ops-users] Portable Instance >>> >> >>> >>Can someone plase give me a hint on how to get this upload control >>> >>to work, where do you handle the postback. It seems to >>> >>/path/xforms-server-submit and there is nothing there in my >>> >>pageflow. >>> >> >>> >>-----Original Message----- >>> >>From: Richard Braman [mailto:[hidden email]] >>> >>Sent: Sunday, March 05, 2006 10:21 PM >>> >>To: [hidden email] >>> >>Subject: RE: [ops-users] Portable Instance >>> >> >>> >> >>> >>I see that the submission url is set in propertiex.xml. I changed >>> >>it to /1040ez/xforms-upload, but that didn't do the trick. When >>> >>you >> >>> >>initially go to the page, it looks like it is trying to process the > >>> >>upload, but nothing has been uploaded yet. I am at a loss to >>> >>figure >> >>> >>out how the post-back occurs. >>> >> >>> >> >>> >>java.io.EOFException >>> >>Message >>> >>Servlet Stack Trace >>> >>(87 method calls) Class Name Method Name File Name Line Number >>> >>java.util.zip.GZIPInputStream readUByte N/A >>> >>java.util.zip.GZIPInputStream readUShort N/A >>> >>java.util.zip.GZIPInputStream readHeader N/A >>> >>java.util.zip.GZIPInputStream <init> N/A >>> >>java.util.zip.GZIPInputStream >>> > >>> >><init> N/A org.orbeon.oxf.xforms.XFormsUtils decodeXML >>> >>XFormsUtils.java 377 org.orbeon.oxf.xforms.XFormsUtils decodeXML >>> >>XFormsUtils.java >>> >> >>> >> >>> >>-----Original Message----- >>> >>From: Richard Braman [mailto:[hidden email]] >>> >>Sent: Sunday, March 05, 2006 9:37 PM >>> >>To: [hidden email] >>> >>Subject: RE: [ops-users] Portable Instance >>> >> >>> >> >>> >>Trying to solve my own problem: This should be fixed. >>> >> >>> >><xforms:upload ref="instance('main-instance')//files/file"> >>> >>Instead of ., now it seem to want to goto >>> >>http://24.75.221.234:8080/taxcode/xforms-server-submit >>> >>Which doesn't exist. I thought it was supposed to post back to >>> >>itself. >>> >> >>> >> >>> >> >>> >>-----Original Message----- >>> >>From: Richard Braman [mailto:[hidden email]] >>> >>Sent: Sunday, March 05, 2006 8:59 PM >>> >>To: [hidden email] >>> >>Subject: RE: [ops-users] Portable Instance >>> >> >>> >> >>> >>Hi Alex, >>> >> >>> >>I looked at the example, and I kind of get it, but I only need to >>> >>upload 1 file, simple upload. So I tried to separate the piece I >>> >>need >>> >>> >>and I am getting an Xforms error >>> >>http://24.75.221.234:8080/taxcode/1040ez/xforms-upload >>> >> >>> >>This file is the users xforms instance, and I just want to send it >>> >>back >>> > >>> >>to the browser for now. I plan to ultimately load it into my app, >>> >>but >>> >>> >>1 step at a time. >>> >> >>> >>I cannot debug the XForms error: Node is not an element or >>> >>attribute. >>> >> >>> >>Thanks for the help. >>> >> >>> >>Page flow >>> >><page id="main" >>> >> path-info="/1040ez/xforms-upload" >>> >> model="xforms/upload_action.xpl" >>> >> view="xforms/upload.xhtml"> >>> >> <action when="/*/action = 'simple-upload'"><result >>> >>page="main"/></action> >>> >> </page> >>> >> >>> >>****************************************** >>> >>upload.xhtml >>> >> >>> >><html xmlns:f="http://orbeon.org/oxf/xml/formatting" >>> >>xmlns:xhtml="http://www.w3.org/1999/xhtml" >>> >>xmlns:xforms="http://www.w3.org/2002/xforms" >>> >>xmlns:ev="http://www.w3.org/2001/xml-events" >>> >>xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" >>> >>xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >>> >>xmlns:xs="http://www.w3.org/2001/XMLSchema" >>> >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> >>xmlns="http://www.w3.org/1999/xhtml" xsl:version="2.0"> >>> >> <xsl:variable name="uploaded" select="/result/urls/url != ''" > >>> >>as="xs:boolean" /> >>> >> <xsl:variable name="in-portlet" >>> >select="/result/request/container-type >>> >>= 'portlet'" as="xs:boolean" /> >>> >> <head> >>> >> <title>XForms Upload</title> >>> >> <xforms:model> >>> >> <xforms:instance id="main-instance"> >>> >> <form xmlns=""> >>> >> <action /> >>> >> <files> >>> >> <file filename="" >>> >>mediatype="" size="" /> >>> >> </files> >>> >> </form> >>> >> </xforms:instance> >>> >> <xforms:instance id="control-instance"> >>> >> <control xmlns=""> >>> >> <simple-upload-trigger /> >>> >> </control> >>> >> </xforms:instance> >>> >> <!-- Using xs:anyURI will cause the XForms >>> >>engine to store a reference to >>> >> a URI instead of inlinig the content of the file >>--> >>> >> <xforms:bind >>> nodeset="instance('main-instance')/files/file" >>> >>type="xs:anyURI" /> >>> >> <!--<xforms:bind nodeset="/form/files/file" >>> >>type="xs:base64Binary"/>--> >>> >> <!-- Control whether the upload trigger is >>> >>read-only or not --> >>> >> <xforms:bind >>> >>nodeset="instance('control-instance')/simple-upload-trigger" >>> >>readonly="{if ($in-portlet) then 'true()' else 'false()'}" /> >>> >> <!-- Main submission which uploads the files >>--> >>> >> <xforms:submission id="main-submission" >>> >>method="post" replace="all" action="/xforms-upload" /> >>> >> </xforms:model> >>> >> </head> >>> >> <body> >>> >> <xsl:if test="/result/message"> >>> >> <p style="color: red"> >>> >> <xsl:value-of >>> >>select="/result/message" >> >>> >>/> >>> >> </p> >>> >> </xsl:if> >>> >> <table> >>> >> <tr> >>> >> <td> >>> >> <xforms:upload ref="."> >>> >> <xforms:filename >>> >>ref="@filename" /> >>> >> <xforms:mediatype >>> >>ref="@mediatype" /> >>> >> <xxforms:size >>> >>ref="@size" /> >>> >> </xforms:upload> >>> >> </td> >>> >> </tr> >>> >> </table> >>> >> <table class="gridtable"> >>> >> <tr> >>> >> <th> >>> >> Simple file upload >>> >> </th> >>> >> <td> >>> >> <xforms:trigger >>> >>ref="instance('control-instance')/simple-upload-trigger"> >>> >> >>> >><xforms:label>Upload</xforms:label> >>> >> <xforms:action >>> >>ev:event="DOMActivate"> >>> >> >>> >><xforms:setvalue >>> > >>> >>>>ref="instance('main-instance')/action">simple-upload</xforms:setvalue >>>>> >>> >> <xforms:send >>> >>submission="main-submission" /> >>> >> </xforms:action> >>> >> </xforms:trigger> >>> >> </td> >>> >> </tr> >>> >> </table> >>> >> <xsl:if test="$uploaded"> >>> >> <h2>Submitted XForms Instance</h2> >>> >> <f:box> >>> >> <f:xml-source> >>> >> <xsl:copy-of >>> >>select="doc('input:instance')" /> >>> >> </f:xml-source> >>> >> </f:box> >>> >> </xsl:if> >>> >> </body> >>> >></html> >>> >> >>> >>Upload_file.xpl >>> >>******* |
In reply to this post by Richard Braman
I am still having a problem with my upload control. When I upload , it
redirects to my main form page, but none of my uploaded instance data is loaded into the form. Instead the default instance is used. I don't think is getting passed over or something. view <xforms:instance id="f1040ez"> <xsl:choose> <xsl:when test="count(/form/f1040ez) gt 0"> <xsl:copy-of select="/"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="doc('oxf:/examples/1040ez/xforms/f1040ez.xml')"/> </xsl:otherwise> </xsl:choose> </xforms:instance> Page flow <page id="f1040ez" path-info="/1040ez" view="xforms/f1040ez.xsl" model="xforms/f1040EZ.xsd"/> <page id="upload" path-info="/1040ez/xforms-upload" model="xforms/upload_action.xpl" view="xforms/upload.xhtml"> <action when="/form/action = 'simple-upload'"><result page="f1040ez" instance-passing="redirect"/></action> </page> Test instance to upload <form> <f1040ez> <ByteCount>1017</ByteCount> <StartofRecordSentinel>****</StartofRecordSentinel> <SEQ0000>RET&#xa0;&#xa0;&#xa0;</SEQ0000> <SEQ0001>1040Z&#xa0;</SEQ0001> <SEQ0002>PG01&#xa0;</SEQ0002> <SEQ0003/> <SEQ0004>&#xa0;</SEQ0004> <SEQ0005>200512</SEQ0005> <SEQ0006>&#xa0;</SEQ0006> <SEQ0007/> <SEQ0008/> <SEQ0010>400001001</SEQ0010> <SEQ0020/> <SEQ0030>400002001</SEQ0030> <SEQ0040/> <SEQ0050/> <SEQ0055/> <SEQ0060>TEST I<TEST </SEQ0060> <SEQ0062/> <SEQ0064/> <SEQ0066/> <SEQ0070/> <SEQ0080>TEST</SEQ0080> <SEQ0083>TEST</SEQ0083> <SEQ0087>NE</SEQ0087> <SEQ0095>33316</SEQ0095> <SEQ0097/> <SEQ0098/> <SEQ0100/> <SEQ0110></SEQ0110> <SEQ0115/> <SEQ0120/> <SEQ0125/> <SEQ0135/> <SEQ0357/> <SEQ0358/> <SEQ0362/> <SEQ0364/> <SEQ0366/> <SEQ0368/> <SEQ0372/> <SEQ0373/> <SEQ0375>1000</SEQ0375> <SEQ0378>0</SEQ0378> <SEQ0379/> <SEQ0380>63</SEQ0380> <SEQ0382/> <SEQ0385/> <SEQ0545/> <SEQ0551/> <SEQ0552>0</SEQ0552> <SEQ0750/> <SEQ0770></SEQ0770> <SEQ0775/> <SEQ0815/> <SEQ0820/> <SEQ1155/> <SEQ1160/> <SEQ1178/> <SEQ1180/> <SEQ1183/> <SEQ1185/> <SEQ1195/> <SEQ1197/> <SEQ1250/> <SEQ1256/> <SEQ1262/> <SEQ1263/> <SEQ1270/> <SEQ1272>123456780</SEQ1272> <SEQ1274>X</SEQ1274> <SEQ1276/> <SEQ1278>02135763</SEQ1278> <SEQ1290/> <SEQ1303/> <SEQ1305/> <SEQ1307>JOHN DOE</SEQ1307> <SEQ1309>8885551111</SEQ1309> <SEQ1313/> <SEQ1315/> <SEQ1321/> <SEQ1323>MILITARY</SEQ1323> <SEQ1324/> <SEQ1325/> <SEQ1326/> <SEQ1327>HOUSEWIFE</SEQ1327> <SEQ1328>8885551111</SEQ1328> <SEQ1338/> <SEQ1340/> <SEQ1350/> <SEQ1360>123456789</SEQ1360> <SEQ1370>TCSF</SEQ1370> <SEQ1380>123456789</SEQ1380> <SEQ1390>JUPITER</SEQ1390> <SEQ1400>FL</SEQ1400> <SEQ1410>33469</SEQ1410> <SEQ1420>5617484002</SEQ1420> <SEQ1465/> <SEQ1470/> <RecordTerminusCharacter>#</RecordTerminusCharacter> </f1040ez> </form> Upload-action.xpl <!-- Copyright (C) 2004 Orbeon, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. The full text of the license is available at http://www.gnu.org/copyleft/lesser.html --> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxf="http://www.orbeon.com/oxf/processors"> <p:param name="data" type="input"/> <p:param name="instance" type="input"/> <p:param name="data" type="output"/> <!-- Get container type --> <p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/container-type</include> </config> </p:input> <p:output name="data" id="container-type"/> </p:processor> <p:choose href="#instance"> <p:when test="/*/action = 'simple-upload'"> <!-- A file was uploaded and we just want to send it back to the browser --> <!-- Dereference the xs:anyURI obtained from the instance (for the first file with an URI only) --> <p:processor name="oxf:pipeline"> <p:input name="config" href="read-uri.xpl"/> <p:input name="uri" href="aggregate('uri', #instance#xpointer(string(/*/files/file[. != ''][1])))"/> <p:output name="data" id="file"/> </p:processor> <!-- Send the data to the browser --> <!-- <p:processor name="oxf:http-serializer"> <p:input name="data" href="#file"/> <p:input name="config"> <config> <content-type>text/xml</content-type> <force-content-type>true</force-content-type> <cache-control> <use-local-cache>false</use-local-cache> </cache-control> </config> </p:input> </p:processor>--> <p:processor name="oxf:xml-serializer" xmlns:p="http://www.orbeon.com/oxf/pipeline"> <p:input name="config"> <config> <content-type>text/xml</content-type> </config> </p:input> <p:input name="data" href="#file"/> </p:processor> <!-- Make sure the view is not executed --> <p:processor name="oxf:identity"> <p:input name="data"> <root xsi:nil="true"/> </p:input> <p:output name="data" ref="data"/> </p:processor> </p:when> <p:otherwise> <!-- Forward the URL generated by the action and container type to the view --> <p:processor name="oxf:identity"> <p:input name="data" href="aggregate('result', #data, #container-type)"/> <p:output name="data" ref="data"/> </p:processor> </p:otherwise> </p:choose> </p:config> Richard Braman mailto:[hidden email] 561.748.4002 (voice) http://www.taxcodesoftware.org Free Open Source Tax Software -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws message-footer.txt (290 bytes) Download Attachment |
Administrator
|
Richard,
In the page flow you have: <page id="f1040ez" path-info="/1040ez" view="xforms/f1040ez.xsl" model="xforms/f1040EZ.xsd"/> There is something wrong with having the model point to the XSD file. I am not sure what your intent is there, but most likely this won't do what you are looking for. So you are saying that in the view (xforms/f1040ez.xsl), the branch of the choose where you test on "count(/form/f1040ez) gt 0" is never executed? I suggest you add debug statements in your code to see what is going on. After you upload the file, first upload_action.xpl should run. Are you getting there what you expect? Alex On 3/15/06, Richard Braman <[hidden email]> wrote: > I am still having a problem with my upload control. When I upload , it > redirects to my main form page, but none of my uploaded instance data is > loaded into the form. Instead the default instance is used. I don't > think is getting passed over or something. > > view > <xforms:instance id="f1040ez"> > <xsl:choose> > <xsl:when > test="count(/form/f1040ez) gt 0"> > <xsl:copy-of > select="/"/> > </xsl:when> > <xsl:otherwise> > <xsl:copy-of > select="doc('oxf:/examples/1040ez/xforms/f1040ez.xml')"/> > </xsl:otherwise> > </xsl:choose> > </xforms:instance> > Page flow > > <page id="f1040ez" path-info="/1040ez" view="xforms/f1040ez.xsl" > model="xforms/f1040EZ.xsd"/> > <page id="upload" path-info="/1040ez/xforms-upload" > model="xforms/upload_action.xpl" view="xforms/upload.xhtml"> > <action when="/form/action = 'simple-upload'"><result > page="f1040ez" instance-passing="redirect"/></action> > </page> > > Test instance to upload > > <form> > <f1040ez> > <ByteCount>1017</ByteCount> > > <StartofRecordSentinel>****</StartofRecordSentinel> > > <SEQ0000>RET&#xa0;&#xa0;&#xa0;</SEQ0000> > <SEQ0001>1040Z&#xa0;</SEQ0001> > <SEQ0002>PG01&#xa0;</SEQ0002> > <SEQ0003/> > <SEQ0004>&#xa0;</SEQ0004> > <SEQ0005>200512</SEQ0005> > <SEQ0006>&#xa0;</SEQ0006> > <SEQ0007/> > <SEQ0008/> > <SEQ0010>400001001</SEQ0010> > <SEQ0020/> > <SEQ0030>400002001</SEQ0030> > <SEQ0040/> > <SEQ0050/> > <SEQ0055/> > <SEQ0060>TEST I<TEST > > </SEQ0060> > <SEQ0062/> > <SEQ0064/> > <SEQ0066/> > <SEQ0070/> > <SEQ0080>TEST</SEQ0080> > <SEQ0083>TEST</SEQ0083> > <SEQ0087>NE</SEQ0087> > <SEQ0095>33316</SEQ0095> > <SEQ0097/> > <SEQ0098/> > <SEQ0100/> > <SEQ0110></SEQ0110> > <SEQ0115/> > <SEQ0120/> > <SEQ0125/> > <SEQ0135/> > <SEQ0357/> > <SEQ0358/> > <SEQ0362/> > <SEQ0364/> > <SEQ0366/> > <SEQ0368/> > <SEQ0372/> > <SEQ0373/> > <SEQ0375>1000</SEQ0375> > <SEQ0378>0</SEQ0378> > <SEQ0379/> > <SEQ0380>63</SEQ0380> > <SEQ0382/> > <SEQ0385/> > <SEQ0545/> > <SEQ0551/> > <SEQ0552>0</SEQ0552> > <SEQ0750/> > <SEQ0770></SEQ0770> > <SEQ0775/> > <SEQ0815/> > <SEQ0820/> > <SEQ1155/> > <SEQ1160/> > <SEQ1178/> > <SEQ1180/> > <SEQ1183/> > <SEQ1185/> > <SEQ1195/> > <SEQ1197/> > <SEQ1250/> > <SEQ1256/> > <SEQ1262/> > <SEQ1263/> > <SEQ1270/> > <SEQ1272>123456780</SEQ1272> > <SEQ1274>X</SEQ1274> > <SEQ1276/> > <SEQ1278>02135763</SEQ1278> > <SEQ1290/> > <SEQ1303/> > <SEQ1305/> > <SEQ1307>JOHN DOE</SEQ1307> > <SEQ1309>8885551111</SEQ1309> > <SEQ1313/> > <SEQ1315/> > <SEQ1321/> > <SEQ1323>MILITARY</SEQ1323> > <SEQ1324/> > <SEQ1325/> > <SEQ1326/> > <SEQ1327>HOUSEWIFE</SEQ1327> > <SEQ1328>8885551111</SEQ1328> > <SEQ1338/> > <SEQ1340/> > <SEQ1350/> > <SEQ1360>123456789</SEQ1360> > <SEQ1370>TCSF</SEQ1370> > <SEQ1380>123456789</SEQ1380> > <SEQ1390>JUPITER</SEQ1390> > <SEQ1400>FL</SEQ1400> > <SEQ1410>33469</SEQ1410> > <SEQ1420>5617484002</SEQ1420> > <SEQ1465/> > <SEQ1470/> > > <RecordTerminusCharacter>#</RecordTerminusCharacter> > </f1040ez> > </form> > > Upload-action.xpl > <!-- > Copyright (C) 2004 Orbeon, Inc. > > This program is free software; you can redistribute it and/or modify > it under the terms of the > GNU Lesser General Public License as published by the Free Software > Foundation; either version > 2.1 of the License, or (at your option) any later version. > > This program is distributed in the hope that it will be useful, but > WITHOUT ANY WARRANTY; > without even the implied warranty of MERCHANTABILITY or FITNESS FOR > A PARTICULAR PURPOSE. > See the GNU Lesser General Public License for more details. > > The full text of the license is available at > http://www.gnu.org/copyleft/lesser.html > --> > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:oxf="http://www.orbeon.com/oxf/processors"> > > <p:param name="data" type="input"/> > <p:param name="instance" type="input"/> > <p:param name="data" type="output"/> > > <!-- Get container type --> > <p:processor name="oxf:request"> > <p:input name="config"> > <config> > <include>/request/container-type</include> > </config> > </p:input> > <p:output name="data" id="container-type"/> > </p:processor> > > <p:choose href="#instance"> > <p:when test="/*/action = 'simple-upload'"> > <!-- A file was uploaded and we just want to send it back to > the browser --> > > <!-- Dereference the xs:anyURI obtained from the instance > (for the first file with an URI only) --> > <p:processor name="oxf:pipeline"> > <p:input name="config" href="read-uri.xpl"/> > <p:input name="uri" href="aggregate('uri', > #instance#xpointer(string(/*/files/file[. != ''][1])))"/> > <p:output name="data" id="file"/> > </p:processor> > > <!-- Send the data to the browser --> > <!-- > <p:processor name="oxf:http-serializer"> > <p:input name="data" href="#file"/> > <p:input name="config"> > <config> > <content-type>text/xml</content-type> > <force-content-type>true</force-content-type> > <cache-control> > <use-local-cache>false</use-local-cache> > </cache-control> > </config> > </p:input> > </p:processor>--> > <p:processor name="oxf:xml-serializer" > xmlns:p="http://www.orbeon.com/oxf/pipeline"> > <p:input name="config"> > <config> > <content-type>text/xml</content-type> > </config> > </p:input> > <p:input name="data" href="#file"/> > </p:processor> > > <!-- Make sure the view is not executed --> > <p:processor name="oxf:identity"> > <p:input name="data"> > <root xsi:nil="true"/> > </p:input> > <p:output name="data" ref="data"/> > </p:processor> > </p:when> > <p:otherwise> > <!-- Forward the URL generated by the action and container > type to the view --> > <p:processor name="oxf:identity"> > <p:input name="data" href="aggregate('result', #data, > #container-type)"/> > <p:output name="data" ref="data"/> > </p:processor> > </p:otherwise> > </p:choose> > </p:config> > > Richard Braman > mailto:[hidden email] > 561.748.4002 (voice) > > http://www.taxcodesoftware.org > Free Open Source Tax Software > > > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Free forum by Nabble | Edit this page |