[
https://issues.apache.org/jira/browse/XERCESJ-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435812#comment-13435812
]
Radu Coravu commented on XERCESJ-1577:
--------------------------------------
I checked out the sources from:
https://svn.apache.org/repos/asf/xerces/java/branches/xml-schema-1.1-dev
In the main() method of "jaxp.SourceValidator.main(String[])" I added some
logging after this line to see if the correct factory was created:
SchemaFactory factory = SchemaFactory.newInstance(schemaLanguage);
On the first run the created factory was the one from the Java SUN
implementation so I also had to add a META-INF directory from a compiled Xerces
library to the "src" directory.
Is the correct factory "org.apache.xerces.jaxp.validation.XMLSchemaFactory"
created in your case?
After adding the META-INF directory in the "src" the correct
"org.apache.xerces.jaxp.validation.XMLSchemaFactory" factory was created by the
call to " SchemaFactory.newInstance(schemaLanguage)".
then I run the
/xerces-java-xml-schema-1.1-dev/samples/jaxp/SourceValidator.java main() method
using the parameters:
-a file:/C:/Users/radu_coravu/Desktop/xsdProblem/main.xsd
and obtained the problem:
[Error] test.xsd:3:58: src-resolve.4.1: Error resolving component 'p.trans'. It
was detected that 'p.trans' has no namespace, but components with no target
namespace are not referenceable from schema document
'file:/C:/Users/radu_coravu/Desktop/xsdProblem/test.xsd'. If 'p.trans' is
intended to have a namespace, perhaps a prefix needs to be provided. If it is
intended that 'p.trans' has no namespace, then an 'import' without a
"namespace" attribute should be added to
'file:/C:/Users/radu_coravu/Desktop/xsdProblem/test.xsd'.
[Error] test.xsd:3:58: src-resolve: Cannot resolve the name 'p.trans' to a(n)
'element declaration' component.
Using full schema checking on or off did not help.
> Error when referencing substitution group with chameleon namespace
> ------------------------------------------------------------------
>
> Key: XERCESJ-1577
> URL: https://issues.apache.org/jira/browse/XERCESJ-1577
> Project: Xerces2-J
> Issue Type: Bug
> Components: XML Schema 1.0 Structures
> Affects Versions: 2.11.0
> Reporter: Radu Coravu
>
> Tested with the libraries from the Xerces-J 2.11.0-xml-schema-1.1-beta
> release.
> If I have a small schema in no-namespace like:
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified">
> <xs:element name="elem" substitutionGroup="p.trans"/>
> <xs:element name="p.trans" abstract="true"/>
> </xs:schema>
> and a schema which has a target namespaces and includes it:
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> elementFormDefault="qualified" targetNamespace="mainNS" xmlns:ns="mainNS">
> <xs:include schemaLocation="test.xsd"/>
> </xs:schema>
> Validation of the main schema (or of an XML referencing the XML schema)
> reports the following problem:
> src-resolve.4.1: Error resolving component 'p.trans'. It was detected that
> 'p.trans' has no namespace, but components with no target namespace are not
> referenceable from schema document
> 'file:/C:/Users/radu_coravu/Desktop/xsdProblem/test.xsd'. If 'p.trans' is
> intended to have a namespace, perhaps a prefix needs to be provided. If it is
> intended that 'p.trans' has no namespace, then an 'import' without a
> "namespace" attribute should be added to
> 'file:/C:/Users/radu_coravu/Desktop/xsdProblem/test.xsd'.
> Basically the reference to a substitution group which is in a chameleon
> schema is not properly binded once the schema is included from a schema which
> has a target namespace.
> This worked in Xerces 2.9.1.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]