Portable Instance

classic Classic list List threaded Threaded
20 messages Options
Reply | Threaded
Open this post in threaded view
|

Portable Instance

Richard Braman
Message
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
[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
Reply | Threaded
Open this post in threaded view
|

Re: Portable Instance

Alessandro  Vernet
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Ryan Puddephatt
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Ryan Puddephatt
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

Re: Portable Instance

Alessandro  Vernet
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Ryan Puddephatt
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
Reply | Threaded
Open this post in threaded view
|

Re: Portable Instance

Erik Bruchez
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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"/>
>> >>            
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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>
>> >>                      
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Ryan Puddephatt
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
>>> >>*******
Reply | Threaded
Open this post in threaded view
|

RE: Portable Instance

Richard Braman
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&amp;#xa0;&amp;#xa0;&amp;#xa0;</SEQ0000>
                                <SEQ0001>1040Z&amp;#xa0;</SEQ0001>
                                <SEQ0002>PG01&amp;#xa0;</SEQ0002>
                                <SEQ0003/>
                                <SEQ0004>&amp;#xa0;</SEQ0004>
                                <SEQ0005>200512</SEQ0005>
                                <SEQ0006>&amp;#xa0;</SEQ0006>
                                <SEQ0007/>
                                <SEQ0008/>
                                <SEQ0010>400001001</SEQ0010>
                                <SEQ0020/>
                                <SEQ0030>400002001</SEQ0030>
                                <SEQ0040/>
                                <SEQ0050/>
                                <SEQ0055/>
                                <SEQ0060>TEST I&lt;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
Reply | Threaded
Open this post in threaded view
|

Re: Portable Instance

Alessandro  Vernet
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&amp;#xa0;&amp;#xa0;&amp;#xa0;</SEQ0000>
>                                 <SEQ0001>1040Z&amp;#xa0;</SEQ0001>
>                                 <SEQ0002>PG01&amp;#xa0;</SEQ0002>
>                                 <SEQ0003/>
>                                 <SEQ0004>&amp;#xa0;</SEQ0004>
>                                 <SEQ0005>200512</SEQ0005>
>                                 <SEQ0006>&amp;#xa0;</SEQ0006>
>                                 <SEQ0007/>
>                                 <SEQ0008/>
>                                 <SEQ0010>400001001</SEQ0010>
>                                 <SEQ0020/>
>                                 <SEQ0030>400002001</SEQ0030>
>                                 <SEQ0040/>
>                                 <SEQ0050/>
>                                 <SEQ0055/>
>                                 <SEQ0060>TEST I&lt;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