Hi Radim,
Thanks for the detailed explanation.

Could you generate a Jira? Agreed that this is something we should try and 
support.

--kevan

On Aug 29, 2011, at 1:22 AM, Radim Kolar wrote:

> Dne 29.8.2011 6:25, chi runhua napsal(a):
>> The schema files are actually under http://geronimo.apache.org/xml/ns/, not 
>> sure it's the problem of GEP validation,  might need someone else to look 
>> into the GEP code.
> I am not talking about GEP code. In GEP it might work because it probably 
> comes comes with xsd schemas already included. I am talking about standard 
> XML validation in any XML editor or Eclipse without GEP.
> 
> 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 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.
> 

Reply via email to