XSD validation - external imports/schemes

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

XSD validation - external imports/schemes

kamil
Hi all,
I have a problem with XSD validation. When I first load the application(xforms) external imports/schemes all load/download correctly, but when I refresh the page, I get an error loading schema from URI (probably orbeon cannot load xsd from external source again). Of course I don't use proxy.
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Alessandro  Vernet
Administrator
Hi,

I am not aware of an issue along the line of what you're describing. Would you be able to share with us a simple example that we could use to reproduce this.

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

kamil
Hi,
I have a simple example of the problem. Unzip the attachment TEST.zip and add to orbeon apps (copy the folder TEST to location: apache-tomcat-7.0.27\webapps\orbeon\WEB-INF\resources\apps\ and add the line "<application id="TEST" label="TEST"/>" to the file apache-tomcat-7.0.27\webapps\orbeon\WEB-INF\resources\appw-list.xml). Then start the server, when you run app TEST for the first time everything will work (loading external schemas) but when you refesh the page you will get an error loading schema from URI.TEST.zip
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Alessandro  Vernet
Administrator
This is because of the way the schema is referenced in your XForms. There you have <xforms:model id="model" schema="test.xsd">. That test.xsd is loaded relative to the URI of the page, per the XForms spec (which makes sense if you think of the XForms running on the browser, even if this isn't the case here).

The error in the orbeon.log gives you a hint that this is what is happening (see below). In the call stack, you see http://localhost:8080/orbeon/TEST/test.xsd, and the error (element "html" is not allowed here) comes from an HTML page being returned by that URL (a 404), which isn't a valid schema.



You can fix this by changing the source to <xforms:model id="model" schema="oxf:/apps/TEST/test.xsd">. The "oxf:" is an Orbeon scheme to directly reference file in the resources.

You'll let us know if this works for you,

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

kamil
Hi,

I still have the problem, in attachment is apps-list.xml, improved TEST and short video how it looks like. When I run the app TEST for the firt time it works, but when I refresh this page I get an error. I'm using orbeon 3.9 and tomcat 4.0.27.

+----------------------------------------------------------------------------------------------------------------------+
|An Error has Occurred                                                                                                 |
|----------------------------------------------------------------------------------------------------------------------|
|[No error message provided.]                                                                                          |
|----------------------------------------------------------------------------------------------------------------------|
|Application Call Stack                                                                                                |
|----------------------------------------------------------------------------------------------------------------------|
|oxf:/apps/TEST/test.xsd                                  |    |    |loading schema from URI                           |
|oxf:/apps/TEST/test.xhtml                                |   4|    |dispatching XForms event                          |
|oxf:/apps/TEST/test.xhtml                                |   4|    |dispatching XForms event                          |
|oxf:/apps/TEST/test.xhtml                                |   2| 300|initializing XForms containing document           |
|oxf:/ops/pfc/xforms-epilogue.xpl                         |  77|  60|reading processor output                          |
|oxf:/ops/pfc/xforms-epilogue.xpl                         |  88|  60|reading processor output                          |
|oxf:/ops/pfc/xforms-epilogue.xpl                         |  95|  59|reading processor output                          |
|oxf:/config/epilogue.xpl                                 |  41|  58|reading processor output                          |
|oxf:/config/epilogue-servlet.xpl                         |  31|  48|reading processor output                          |
|oxf:/config/epilogue.xpl                                 |  60|  46|executing processor                               |
|oxf:/apps/TEST/page-flow.xml                             |  18|  47|executing processor                               |
|oxf:/page-flow.xml                                       |  37|  73|reading page model data output                    |
|----------------------------------------------------------------------------------------------------------------------|
|Exception: java.lang.NullPointerException                                                                             |
|----------------------------------------------------------------------------------------------------------------------|
|org.orbeon.oxf.xforms.XFormsModelSchemaValidator$Sc|includesUpToDate              |XFormsModelSchemaValidator.jav| 221|
|org.orbeon.oxf.xforms.XFormsModelSchemaValidator   |loadCacheGrammar              |XFormsModelSchemaValidator.jav| 706|
|----------------------------------------------------------------------------------------------------------------------|

apps-list.xml
TEST.zip
video.mp4
orbeon.log

Kamil.
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

kamil
I mean tomcat 7.0.27.
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Alessandro  Vernet
Administrator
In reply to this post by kamil
Hi Kamil,

I was able to reproduce this, and created an issue for this. We'll look into it, and see what can be done.

https://github.com/orbeon/orbeon-forms/issues/951

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Erik Bruchez
Administrator
This one should be fixed now. The fix will be in Orbeon Forms 4.2.
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

kamil
It works, thank you so much.
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Erik Bruchez
Administrator
Excellent, thanks for confirming. -Erik

On Thu, Apr 25, 2013 at 7:15 AM, kamil <[hidden email]> wrote:

> It works, thank you so much.
>
> --
> View this message in context: http://discuss.orbeon.com/XSD-validation-external-imports-schemes-tp4656552p4656664.html
> Sent from the Orbeon Forms community mailing list mailing list archive at Nabble.com.
>
> --
> You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> To post to this group, send email to [hidden email].
>
>

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].


Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Henk Visser
This post was updated on .
Hi Kamil,

Could you let me know what you did to make it work? Orbeon 4.2 doesn't seems to available for download yet. I'm facing the same problem. The Orbeon webapp I'm working on is using schema validation as well and as soon as I start importing xsd errors start appearing.

Thanks in advance and best regards,

Henk
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

kamil
Hi Henk,

You need only replace a few lines in class XFormsModelSchemaValidator.java, everything you have here: https://github.com/orbeon/orbeon-forms/commit/31448e145c76dee3259bf3c268643fb517e14650 and then recompile the sources that are available in the git repository https://github.com/orbeon/orbeon-forms.git. I did it on version 3.9 and works.

Kamil.
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Henk Visser
Hi Kamil,

Many thanks! I'll give it a try.

Best regards,

Henk
Reply | Threaded
Open this post in threaded view
|

Re: XSD validation - external imports/schemes

Erik Bruchez
Administrator
4.2 M1 is available and the fix is in that build.

http://blog.orbeon.com/2013/05/orbeon-forms-42-m1.html

-Erik

On Tue, May 7, 2013 at 8:08 AM, Henk Visser <[hidden email]> wrote:

> Hi Kamil,
>
> Many thanks! I'll give it a try.
>
> Best regards,
>
> Henk
>
> --
> View this message in context: http://discuss.orbeon.com/XSD-validation-external-imports-schemes-tp4656552p4656719.html
> Sent from the Orbeon Forms community mailing list mailing list archive at Nabble.com.
>
> --
> You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
> To post to this group, send email to [hidden email].
>
>

--
You received this message because you are subscribed to the Google Groups "Orbeon Forms" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].