[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webservices-general
Subject:    [jira] [Resolved] (XMLSCHEMA-8) Relative path in multiple
From:       "Daniel Kulp (JIRA)" <jira () apache ! org>
Date:       2011-09-15 18:14:08
Message-ID: 570291342.31833.1316110448879.JavaMail.tomcat () hel ! zones ! apache ! org
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/XMLSCHEMA-8?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Daniel Kulp resolved XMLSCHEMA-8.
---------------------------------

       Resolution: Fixed
    Fix Version/s: XmlSchema 2.0.1
         Assignee: Daniel Kulp


Actually, there is a problem resolving relative paths when using file URL's.   Fixed \
for 2.0.1

> Relative path in multiple import/include failed when reading a schema
> ---------------------------------------------------------------------
> 
> Key: XMLSCHEMA-8
> URL: https://issues.apache.org/jira/browse/XMLSCHEMA-8
> Project: XmlSchema
> Issue Type: Bug
> Affects Versions: XmlSchema 1.4.7
> Reporter: Jemini Sam
> Assignee: Daniel Kulp
> Fix For: XmlSchema 2.0.1
> 
> Attachments: RelativeExample.zip
> 
> 
> When we want to load a schema with import/include on cascade, if the \
> *schemaLocation* is a relative path, the *SchemaBuilder* class fails to find \
> schemas which aren't in the same directory of the schema to load. For example, if \
>                 we have 3 schemas :
> - s1.xsd in directory a/b/c which imports s2.xsd in a/b
> - and s2.xsd which includes or imports s3.xsd in the same directory
> a/b/c/s1.xsd
> a/b/s2.xsd
> a/b/s3.xsd
> And we want to read the schema s1.xsd :
> {code}
> String sourceXSD = "resources/schemas/a/b/c/s1.xsd";
> InputStream is;
> try {
> 	is = new FileInputStream(sourceXSD);
> 	XmlSchemaCollection schemaCol = new XmlSchemaCollection();
> 	schemaCol.setBaseUri(new File(sourceXSD).getParent().replaceAll("\\\\", "/"));
> 	DefaultURIResolver schemaResolver = (DefaultURIResolver) \
> schemaCol.getSchemaResolver();  System.out.println("schemaResolver.toString(): " + \
> schemaResolver.getCollectionBaseURI());  XmlSchema schema = schemaCol.read(new \
> StreamSource(is), null); } catch (FileNotFoundException e) {
> 	e.printStackTrace();
> }
> {code}
> We have an exception on s3.xsd schema which is not found in directory a/b/c.
> See the sources of the example attached.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic