XForms vs XSLT

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

XForms vs XSLT

Eric van der Vlist
Hi,

When you design a web site which implements the 4 crud operations with
Orbeon Forms, it is quite obvious that you'd better use XForms for
creations and updates, but it is less obvious to decide if you'd better
use XForms or XSLT for read operations.

As far as I can see, here are the pros and cons of the two solutions:

Using XForms to create forms with only xforms:output controls, has the
benefit of being very coherent with the architecture that you're using
for creation and updates. This means that you can eventually reuse code
between the operations. It can also be handy to use xforms:label,
xforms:hint and xforms:help with xforms:output.

However, it gives you less control over the HTML that is generated. The
result degrades less nicely in browsers that do no support the YUI (for
instance, if you look at a <xforms:repeat><li>...</li></xforms:repeat>
with lynx, you'll see multiple empty lines that are used as markers by
Orbeon Forms). This can be a real issue for sites which serve mostly
read operations and very few updates and which would want to be as
perfect as possible for these read operations.

Also, it often seems more difficult to achieve simple results that are
easy to achieve with XSLT. For instance, generating a calculated link is
just a matter of using the XPath concat() function in XSLT but that's
more tedious with XForms especially if you try to avoid using too many
Orbeon Forms extension...

Using XSLT gives you complete control over what you're generating but it
means that you implement read operations with a different technique than
create and update operations and that may make you site more difficult
to maintain in the long term.

Also, it means that you're adding a XSLT transformation in the loop and
that may slow down your site.

What do you think?

Is that an accurate summary or have I missed important things?

Thanks,

Eric

--
GPG-PGP: 2A528005
Le premier annuaire des apiculteurs 100% XML!
                                                http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


--
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

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: XForms vs XSLT

Hank Ratzesberger
A good point that I have been thinking about also,
but not so far as to deliver / branch to different
piplelines for different output depending on the
Agent.  

I have found myself outputing html like the example
below.  

<xforms:output mediatype="text/html" value="if (@in-range = 'true')
  then format-number(.,'####.0')
  else concat('&lt;i&gt;', format-number(.,'####.0'),'&lt;/i&gt;')"/>

I suppose the limit to what html you can create using concat() is
the practical one.

Cheers,
Hank


Hi,

When you design a web site which implements the 4 crud operations with
Orbeon Forms, it is quite obvious that you'd better use XForms for
creations and updates, but it is less obvious to decide if you'd better
use XForms or XSLT for read operations.

As far as I can see, here are the pros and cons of the two solutions:

Using XForms to create forms with only xforms:output controls, has the
benefit of being very coherent with the architecture that you're using
for creation and updates. This means that you can eventually reuse code
between the operations. It can also be handy to use xforms:label,
xforms:hint and xforms:help with xforms:output.

However, it gives you less control over the HTML that is generated. The
result degrades less nicely in browsers that do no support the YUI (for
instance, if you look at a <xforms:repeat><li>...</li></xforms:repeat>
with lynx, you'll see multiple empty lines that are used as markers by
Orbeon Forms). This can be a real issue for sites which serve mostly
read operations and very few updates and which would want to be as
perfect as possible for these read operations.

Also, it often seems more difficult to achieve simple results that are
easy to achieve with XSLT. For instance, generating a calculated link is
just a matter of using the XPath concat() function in XSLT but that's
more tedious with XForms especially if you try to avoid using too many
Orbeon Forms extension...

Using XSLT gives you complete control over what you're generating but it
means that you implement read operations with a different technique than
create and update operations and that may make you site more difficult
to maintain in the long term.

Also, it means that you're adding a XSLT transformation in the loop and
that may slow down your site.

What do you think?

Is that an accurate summary or have I missed important things?

Thanks,

Eric

--
GPG-PGP: 2A528005
Le premier annuaire des apiculteurs 100% XML!
                                                http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
----- Original Message -----
From: "Eric van der Vlist" <[hidden email]>
To: "ops-users" <[hidden email]>
Sent: Thursday, May 24, 2007 11:47 AM
Subject: [ops-users] XForms vs XSLT



--
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: XForms vs XSLT

Eric van der Vlist
Le jeudi 24 mai 2007 à 13:52 -0700, Hank Ratzesberger a écrit :

> A good point that I have been thinking about also,
> but not so far as to deliver / branch to different
> piplelines for different output depending on the
> Agent.  
>
> I have found myself outputing html like the example
> below.  
>
> <xforms:output mediatype="text/html" value="if (@in-range = 'true')
>   then format-number(.,'####.0')
>   else concat('&lt;i&gt;', format-number(.,'####.0'),'&lt;/i&gt;')"/>
>
> I suppose the limit to what html you can create using concat() is
> the practical one.
Yes, it opens amazing possibilities.

You could also write:

<xforms:group ref=".[@in-range = 'true']">
  <xforms:output value="format-number(.,'####.0')">
</xforms:group>
<xforms:group ref="not(.[@in-range = 'true'])">
  <i>
    <xforms:output value="format-number(.,'####.0')">
  </i>
</xforms:group>

That's more verbose but can arguably be considered more readable!

I wonder if these kind of tips is documented somewhere...

Eric


> Cheers,
> Hank
>

--
GPG-PGP: 2A528005
Le premier annuaire des apiculteurs 100% XML!
                                                http://apiculteurs.info/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


--
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

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: XForms vs XSLT

Ryan Puddephatt
Eric,
    I'm not sure the second xforms:group would work, doesn't not() return a xs:boolean value, I thought @ref on the group had to correspond to a node or nodes? wouldn't it be <xforms:group ref=".[not(@in-range = 'true')]"> ?

Ryan

Ryan Puddephatt
Software Engineer
 
Teleflex Group - IT UK
1 Michaelson Square
Livingston
West Lothian
Scotland
EH54 7DP
 
e> [hidden email]
t> +44(0)1506 407 110
f> +44(0)1506 407 108
w> www.teleflex.com

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." - Bill Gates
"If you lie to the compiler, it will get its revenge." - Henry Spencer
"It's hard enough to find an error in your code when you're looking for it; it's even harder when you've assumed your code is error-free." - Steve McConnell
"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." - Gerald Weinberg



Eric van der Vlist wrote:
Le jeudi 24 mai 2007 à 13:52 -0700, Hank Ratzesberger a écrit :
  
A good point that I have been thinking about also, 
but not so far as to deliver / branch to different 
piplelines for different output depending on the 
Agent.  

I have found myself outputing html like the example 
below.   

<xforms:output mediatype="text/html" value="if (@in-range = 'true') 
  then format-number(.,'####.0') 
  else concat('&lt;i&gt;', format-number(.,'####.0'),'&lt;/i&gt;')"/> 

I suppose the limit to what html you can create using concat() is 
the practical one.
    

Yes, it opens amazing possibilities.

You could also write:

<xforms:group ref=".[@in-range = 'true']">
  <xforms:output value="format-number(.,'####.0')">
</xforms:group>
<xforms:group ref="not(.[@in-range = 'true'])">
  <i>
    <xforms:output value="format-number(.,'####.0')">
  </i>
</xforms:group>

That's more verbose but can arguably be considered more readable!

I wonder if these kind of tips is documented somewhere...

Eric


  
Cheers,
Hank

    

  

-- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: [hidden email] For general help: [hidden email] 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: XForms vs XSLT

Eric van der Vlist
Le jeudi 24 mai 2007 à 22:22 +0100, Ryan Puddephatt a écrit :
> Eric,
>     I'm not sure the second xforms:group would work, doesn't not()
> return a xs:boolean value, I thought @ref on the group had to
> correspond to a node or nodes? wouldn't it be <xforms:group
> ref=".[not(@in-range = 'true')]"> ?

Yes, that's what I meant ;) sorry !

Thanks,

Eric

>
> Ryan
> Ryan Puddephatt
> Software Engineer
>  
> Teleflex Group - IT UK
> 1 Michaelson Square
> Livingston
> West Lothian
> Scotland
> EH54 7DP
>  
> e> [hidden email]
> t> +44(0)1506 407 110
> f> +44(0)1506 407 108
> w> www.teleflex.com
>
> "Measuring programming progress by lines of code is like measuring
> aircraft building progress by weight." - Bill Gates
> "If you lie to the compiler, it will get its revenge." - Henry Spencer
> "It's hard enough to find an error in your code when you're looking
> for it; it's even harder when you've assumed your code is error-free."
> - Steve McConnell
> "If builders built buildings the way programmers wrote programs, then
> the first woodpecker that came along would destroy civilization." -
> Gerald Weinberg

>
--
GPG-PGP: 2A528005
Freelance consulting and training.
                                            http://dyomedea.com/english/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


--
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

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: XForms vs XSLT

Erik Bruchez
Administrator
In reply to this post by Eric van der Vlist
Eric,

Good stuff!

Regarding limited browsers and the HTML produced, that depends on the
XForms engine. For example, we already have the "static read-only
option" which produces simplified HTML for read-only controls. You could
go beyond that.

In fact, one feature we have been wanting for a long time in Orbeon
Forms is the ability to use XForms within any XML document:

http://forge.objectweb.org/tracker/index.php?func=detail&aid=306553&group_id=168&atid=350207

This was prompted by the Bookcast tutorial, which currently requires
adding XPL and XSLT (in the future XProc and XSLT), when conceptually if
you could just embed XForms in an Atom template you could do exactly the
same thing but just learning one language, XForms.

Also, the inability of XForms to control attributes is just a limitation
that could be (and should be) overcome in the future. You can imagine an
xforms:attribute construct, as well as using AVTs within attributes.

-Erik

Eric van der Vlist wrote:

> Hi,
>
> When you design a web site which implements the 4 crud operations with
> Orbeon Forms, it is quite obvious that you'd better use XForms for
> creations and updates, but it is less obvious to decide if you'd better
> use XForms or XSLT for read operations.
>
> As far as I can see, here are the pros and cons of the two solutions:
>
> Using XForms to create forms with only xforms:output controls, has the
> benefit of being very coherent with the architecture that you're using
> for creation and updates. This means that you can eventually reuse code
> between the operations. It can also be handy to use xforms:label,
> xforms:hint and xforms:help with xforms:output.
>
> However, it gives you less control over the HTML that is generated. The
> result degrades less nicely in browsers that do no support the YUI (for
> instance, if you look at a <xforms:repeat><li>...</li></xforms:repeat>
> with lynx, you'll see multiple empty lines that are used as markers by
> Orbeon Forms). This can be a real issue for sites which serve mostly
> read operations and very few updates and which would want to be as
> perfect as possible for these read operations.
>
> Also, it often seems more difficult to achieve simple results that are
> easy to achieve with XSLT. For instance, generating a calculated link is
> just a matter of using the XPath concat() function in XSLT but that's
> more tedious with XForms especially if you try to avoid using too many
> Orbeon Forms extension...
>
> Using XSLT gives you complete control over what you're generating but it
> means that you implement read operations with a different technique than
> create and update operations and that may make you site more difficult
> to maintain in the long term.
>
> Also, it means that you're adding a XSLT transformation in the loop and
> that may slow down your site.
>
> What do you think?
>
> Is that an accurate summary or have I missed important things?
>
> Thanks,
>
> Eric
>
>

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
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: XForms vs XSLT

Eric van der Vlist
Erik,

Le jeudi 24 mai 2007 à 18:54 -0400, Erik Bruchez a écrit :
> Eric,
>
> Good stuff!
>
> Regarding limited browsers and the HTML produced, that depends on the
> XForms engine. For example, we already have the "static read-only
> option" which produces simplified HTML for read-only controls. You could
> go beyond that.

Yep

> In fact, one feature we have been wanting for a long time in Orbeon
> Forms is the ability to use XForms within any XML document:
>
> http://forge.objectweb.org/tracker/index.php?func=detail&aid=306553&group_id=168&atid=350207
>
> This was prompted by the Bookcast tutorial, which currently requires
> adding XPL and XSLT (in the future XProc and XSLT), when conceptually if
> you could just embed XForms in an Atom template you could do exactly the
> same thing but just learning one language, XForms.

That would be nice!

> Also, the inability of XForms to control attributes is just a limitation
> that could be (and should be) overcome in the future. You can imagine an
> xforms:attribute construct, as well as using AVTs within attributes.

If that's a direction you're planning to go with Orbeon Forms I'll try
to go ahead with using XForms instead of XSLT!

Another thing which annoys me with that are that you get errors telling
you that your session has expired when you reload the page after a while
and for what looks like a static page this is not something that you'd
expect. I guess that xxforms:state-handling="client" should take care of
this one.

Also, this is probably a bug on my side, but when I reload these pages;
I get the following error:

2007-05-25 08:22:24,661 http-8180-Processor24 INFO  webapp.ProcessorService null - /xforms-server - Received request
2007-05-25 08:22:24,766 http-8180-Processor24 ERROR webapp.ProcessorService null - Exception at null, line 1, column 599
java.lang.NullPointerException
        at org.orbeon.oxf.xforms.XFormsSubmissionUtils.doRegular(XFormsSubmissionUtils.java:156)
        at org.orbeon.oxf.xforms.XFormsModel.performDefaultAction(XFormsModel.java:914)
        at org.orbeon.oxf.xforms.XFormsContainingDocument.dispatchEvent(XFormsContainingDocument.java:920)
        at org.orbeon.oxf.xforms.XFormsContainingDocument.initialize(XFormsContainingDocument.java:1213)
        at org.orbeon.oxf.xforms.XFormsContainingDocument.<init>(XFormsContainingDocument.java:139)
        at org.orbeon.oxf.xforms.processor.XFormsServer.outputResponse(XFormsServer.java:344)
        at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:261)
        at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:46)
        at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:75)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:1012)
        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:966)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:348)
        at org.orbeon.oxf.processor.validation.MSVValidationProcessor.access$700(MSVValidationProcessor.java:44)
        at org.orbeon.oxf.processor.validation.MSVValidationProcessor$5.readImpl(MSVValidationProcessor.java:219)
        at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:1012)
        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1195)
        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter.read(ProcessorImpl.java:990)
        at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1195)
        at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:348)
        at org.orbeon.oxf.processor.serializer.legacy.XMLSerializer.readInput(XMLSerializer.java:58)
        at org.orbeon.oxf.processor.serializer.HttpTextSerializer.readInput(HttpTextSerializer.java:54)
        at org.orbeon.oxf.processor.serializer.HttpSerializerBase$1.read(HttpSerializerBase.java:147)
        at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:470)
        at org.orbeon.oxf.processor.serializer.HttpSerializerBase.start(HttpSerializerBase.java:138)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:652)
        at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:536)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:649)
        at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:233)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:652)
        at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:536)
        at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:649)
        at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:88)
        at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:96)
        at org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:148)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)

There is no submission in my page, why does the XForms engine have to
access to /xforms-server in that case?

Thanks,

Eric


--
GPG-PGP: 2A528005
Don't you think all these XML schema languages should work together?
                                                         http://dsdl.org
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


--
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

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Support for offline development

Markku Laine
In reply to this post by Erik Bruchez
Hi mates,


I am using Orbeon Forms Nighly Build (3.5.1.200705030906) Separate
Deployment's XForms Engine in my project for translating my XForms pages
to XHTML + CSS + JavaScipt.

Yesterday, when I was presenting my project to a colleague of mine I
noticed that Web applications using Orbeon Forms the way described
above do not work offline i.e. running on localhost, e.g. Tomcat, without
an Internet connection. The same happened when we tested the project with
an Internet connection using a proxy.

According to logs and error page, I think this has something to do
with the processor which is executed/refered to an external URL.
Please, see ops.log and error page in attachment.

Is there a way to configurate to support for offline/online with proxy
development or will this be fixed/supported in future releases?

Best regards


-Markku Laine

Ps. ops.log file is being created into a wrong directory (one directory
too deep), at least when deployed in Tomcat/webapps/
-Now: Apache Software Foundation/logs/ops.log
-Sould be: Apache Software Foundation/Tomcat 5.5/logs/ops.log

--
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

orbeon_-_support_for_offline_development.zip (18K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Support for offline development

Alessandro Vernet
Administrator
Markku,

There is a connection to the W3C web site to resolve an entity when
parsing the XML that was generated by your application. Do you have
references to external entities there? Can you remove those? Otherwise
you will have to copy the DTD or schema locally and tell Xerces where
they are.

Alex

On 5/25/07, .::: Markku :::. <[hidden email]> wrote:

> Hi mates,
>
>
> I am using Orbeon Forms Nighly Build (3.5.1.200705030906) Separate
> Deployment's XForms Engine in my project for translating my XForms pages
> to XHTML + CSS + JavaScipt.
>
> Yesterday, when I was presenting my project to a colleague of mine I
> noticed that Web applications using Orbeon Forms the way described
> above do not work offline i.e. running on localhost, e.g. Tomcat, without
> an Internet connection. The same happened when we tested the project with
> an Internet connection using a proxy.
>
> According to logs and error page, I think this has something to do
> with the processor which is executed/refered to an external URL.
> Please, see ops.log and error page in attachment.
>
> Is there a way to configurate to support for offline/online with proxy
> development or will this be fixed/supported in future releases?
>
> Best regards
>
>
> -Markku Laine
>
> Ps. ops.log file is being created into a wrong directory (one directory
> too deep), at least when deployed in Tomcat/webapps/
> -Now: Apache Software Foundation/logs/ops.log
> -Sould be: Apache Software Foundation/Tomcat 5.5/logs/ops.log
>
> --
> 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
>
>
>

--
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
http://www.orbeon.com/



--
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: XForms vs XSLT

Alessandro Vernet
Administrator
In reply to this post by Eric van der Vlist
On 5/25/07, Eric van der Vlist <[hidden email]> wrote:
> Also, this is probably a bug on my side, but when I reload these pages;
> I get the following error:
>
> 2007-05-25 08:22:24,661 http-8180-Processor24 INFO  webapp.ProcessorService null - /xforms-server - Received request
> 2007-05-25 08:22:24,766 http-8180-Processor24 ERROR webapp.ProcessorService null - Exception at null, line 1, column 599
> java.lang.NullPointerException
>         at org.orbeon.oxf.xforms.XFormsSubmissionUtils.doRegular(XFormsSubmissionUtils.java:156)
>         at org.orbeon.oxf.xforms.XFormsModel.performDefaultAction(XFormsModel.java:914)

When you reload a page, the XForms server might be called to restore
the state of the form. Here code from XFormsSubmissionUtils is called,
but not to do an XForms submission but to load an initial instance.
Maybe this code was written first for submission and it here reused in
the case where instances are loaded.

But of course the NPE is not normal. Would you happen to have a test
case for this?

Alex
--
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
http://www.orbeon.com/



--
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: Support for offline development

Markku Laine
In reply to this post by Alessandro Vernet
Hi Alex!


> There is a connection to the W3C web site to resolve an entity when
> parsing the XML that was generated by your application. Do you have
> references to external entities there? Can you remove those? Otherwise
> you will have to copy the DTD or schema locally and tell Xerces where
> they are.

Thanks for your prompt reply!

Okay, the application started to work offline, when I removed all entities
and the doctype declaration from the web page.

I had "the same problem" in one project of mine where I needed to
transform XHTML documents. I solved the problem by implementing the SAX2
EntityResolver2 method. In the method, I set all W3C XHTML entities into
the InputSource which allowed me to use W3C XHTML entities without
connecting to the W3C web site. In addition, this made possible to refer
to/use W3C's XHTML 1.1 DTD without having to wait appr. 15 seconds for the
page to be loaded.

1) So my question is, could this be implemented in a similar way in
Orbeon Forms, too?
2) Are you facing slow page loading times in Orbeon Forms when using XHTML
1.1 doctype?

Best regards


-Markku



--
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: Support for offline development

Alessandro Vernet
Administrator
HI Markku,

On 5/28/07, .::: Markku :::. <[hidden email]> wrote:
> Okay, the application started to work offline, when I removed all entities
> and the doctype declaration from the web page.

I am glad you solved this problem.

> 1) So my question is, could this be implemented in a similar way in
> Orbeon Forms, too?

We already have our own EntityResolver, but we are not doing much
there. It is mostly put in place to handle URLs using the oxf scheme
(oxf:/...). I guess we could implement some type of registry so you
can map public ID to a file in the resources, but there is nothing of
that sort in place right now.

I am also wondering if we should not log something when the system ID
is a URL other than oxf:/something, so problems like the one you had
are easier to identify.

> 2) Are you facing slow page loading times in Orbeon Forms when using XHTML
> 1.1 doctype?

You are using this DOCTYPE on XHTML+XForms files? Usually I don't put
a DOCTYPE declaration on my XHTML+XForms files.

Alex
--
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
http://www.orbeon.com/



--
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: Support for offline development

Markku Laine
> We already have our own EntityResolver, but we are not doing much
> there. It is mostly put in place to handle URLs using the oxf scheme
> (oxf:/...). I guess we could implement some type of registry so you
> can map public ID to a file in the resources, but there is nothing of
> that sort in place right now.

The solution you described alove sounds okay/workable. Please, let me
know if you implement the feature some day :)


>>  2) Are you facing slow page loading times in Orbeon Forms when using XHTML
>>  1.1 doctype?
>
> You are using this DOCTYPE on XHTML+XForms files? Usually I don't put
> a DOCTYPE declaration on my XHTML+XForms files.

I used to use XHTML 1.1 DTD on my XHTML+XForms files, but now I am using
XHTML 1.0 Strict DTD.

BR


-Markku



--
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: XForms vs XSLT

Erik Bruchez
Administrator
In reply to this post by Alessandro Vernet
Alessandro Vernet wrote:

> But of course the NPE is not normal. Would you happen to have a test
> case for this?

It also seems that the line number in the exception doesn't match the
latest code. Maybe Eric could try a more recent build?

-Erik

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
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