3

I am running into troubles when wanting to compile my XSDs (which I am not the author of) with XJC.

Specifically, I get the error (there are actually more like these):

 [ERROR] src-resolve: Cannot resolve the name "ifopt:CountryRefStructure" to a(n) 'type definition' component.
   line 131 of file:/E:/ansdef/schema/siri-1.3/siri/siri_situationIdentity-v1.1.xsd

That is strange since the mentioned file (siri_situationIdentity-v1.1.xsd) refers to another XSD where the suspicious type is declared.

I tried several things

  • switch Java version to get different xjc
  • tried some different xjc directly from java.net
  • applied some modifications to the files so that the currently applied JAXB workarounds regarding includes/imports are removed
  • tried to use the whole directory with dependent schemas as target for xjc
  • Altova XMLSpy Java code generation works well without errors (but is no way to go for me)

None of them worked.

Does anybody have a clue what the error message is caused by? I don't see the point. You may get all the XSDs directly from here: Verband Deutscher Verkehrsunternehmen (VDV) - Ist-Daten-Schnittstellen

The command line I tried (amongst others) was:

xjc -readOnly -d generated -npa -target 2.1 -verbose VDV453_incl_454_V2.3e.xsd

Any help or hint is greatly appreciated.

Regards

Andreas
  • 3,929
  • 2
  • 25
  • 22

2 Answers2

3

The solution here was to use the -nv switch to disable strict validation.

Andreas
  • 3,929
  • 2
  • 25
  • 22
1

The error message is caused by XJC's failure to load the other schema document successfully. You have several options.

  • The xjc documentation suggests that it accepts multiple command-line arguments, so try specifying all the schema documents you want it to read as command-line arguments.
  • You can also try to figure out what base URI it's using for resolving relative references, or (more directly) ...
  • You can (try to) figure out how to tell XJC what base URI to use.
  • Since XJC also supports XML catalogs, you may be able to use a catalog to tell it where to find the files your top-level schema document is referring to.
C. M. Sperberg-McQueen
  • 24,596
  • 5
  • 38
  • 65
  • Would it then make a difference if I specified a directory where all the schemas and dependent schemas are? I have already tried that to no success. – Andreas Sep 15 '12 at 10:24