JiBX: How to run codegen on a schema that imports into a schema without names?

I have a schema here where I am trying to enable / import another schema that does not have a namespace (and this cannot be changed since it comes from another provider and will no longer validate their XML). Here is the first diagram:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:samp="http://sample/namespace" targetNamespace="http://sample/namespace" elementFormDefault="unqualified" attributeFormDefault="unqualified" xmlns:otr1="http://sample/import/namespace1" xmlns:otr2="http://sample/import/namespace2"> <xs:import namespace="http://sample/import/namespace1" schemaLocation="other1.xsd" /> <xs:import namespace="http://sample/import/namespace2" schemaLocation="other2.xsd" /> <!-- This one below is having problems, it is valid XML, and I am able to use it but I am not meeting the actual requirments I have (explained later) --> <xs:import schemaLocation=="NO_NAME_SPACE_PROBLEM.xsd"/> ... <xs:element ref="some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA"/> ... </xs:schema> 

And "NO_NAME_SPACE_SHEMA_PROBLEM.xsd", which can be changed to some extent, but it cannot have a namespace.

 <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <xsd:element name="some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA" type="xsd:string" nillable="true"/> </xs:schema> 

The problem I get when starting JiBX codegen:

  [echo] Running code generation [java] Output to directory C:\DOCUME~1\user1\LOCALS~1\Temp\nguser\Temp-Src [java] ERROR validation.ValidationContext - Error: Referenced element '{http://sample/namespace}:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA` is not defined for element at (line 69, col 32, in parent.xsd) [java] Terminating due to errors in input schemas [java] Error: Referenced element '{http://sample/namespace}:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA' is not defined for element at (line 69, col 32, in parent.xsd) 
0
source share
1 answer

The error message for the link to {http://sample/namespace}:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA seems strange, since you are not referring to {http://sample/namespace}:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA , but some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA .

I see only two options:

  • You have not entered a sample full parent scheme; in your actual schema, you bound xmlns (i.e. no prefix) to the sample namespace. This explains the error message, and you can fix it without binding xmlns.
  • An error occurs in JiBX when importing schemas without a target namespace.
0
source

All Articles