missing xml schema files on web
-------------------------------
Key: GERONIMO-6141
URL: https://issues.apache.org/jira/browse/GERONIMO-6141
Project: Geronimo
Issue Type: Improvement
Security Level: public (Regular issues)
Components: website
Reporter: Radim Kolar
Priority: Minor
I will describe problem in more detail. If you validate against
http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1, XML downloads XSD from schema
location xsi:schemaLocation="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1
http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1">
ponto:(admin)~>fetch http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1
web-2.0.1 100% of 6143 B 214 kBps
ponto:(admin)~>
so we have got that file. Now time to parse it with XML parser. File has
includes inside:
ponto:(admin)~>grep -i import web-2.0.1
<xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.2"
schemaLocation="geronimo-naming-1.2.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
schemaLocation="geronimo-application-2.0.xsd"/>
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2"
schemaLocation="geronimo-module-1.2.xsd"/>
<xs:import namespace="http://java.sun.com/xml/ns/persistence"
schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"/>
Reference to abstract service element defined in
imported
ponto:(admin)~>
lets look at first import. We are going to import namespace
http://geronimo.apache.org/xml/ns/naming-1.2 from URL
http://geronimo.apache.org/xml/ns/j2ee/geronimo-naming-1.2.xsd (schema location
is added to current URL) which does not exists on geronimo web server.
naming schema exists at different location
ponto:(admin)~>fetch http://geronimo.apache.org/xml/ns/naming-1.2
naming-1.2 100% of 52 kB 624 kBps
ponto:(admin)~>
but your schemas refers to xsd import files in same directory like main schema
which is good because validation on XSD schemas downloaded localy will work if
you dump all schemas into one directory like you do in geronimo distro. To make
XML validation work locally you just need to point schema location to your
geronimo install directory. something like this:
xsi:schemaLocation="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1
file:///usr/local/wasce/schema/geronimo-web-2.0.1.xsd"
and everything works. But for making validation to work over HTTP you need to
upload these XSD files with xsd extension to
http://geronimo.apache.org/xml/ns/j2ee/ as well to
http://geronimo.apache.org/xml/ns/ You need to have them several times on web
server, once for xs:import with XSD extension and second without extension for
xsi:schemalocation.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira