8-Mar-2017
NOTE: This article is 3 years or older so its information may no longer be relevant. Read on at your own discretion! Comments for this article have automatically been locked, refer to the
FAQ for more details.
I've written previously about
fixing HL7 CDA schema compilation with XJC, now that I've been looking at
FHIR it seems that there are name collisions in that schema too. The actual problem arises out of the
W3C XHTML 1.0 Schema and not the
FHIR schema per se.
This is the kind of error that
XJC throws whenever trying to compile the
FHIR schema:
Ok so that says that "Lang" is already defined and looking at that part of the
XSD reveals this...
It's pretty obvious why
XJC would complain. There's a name collisions between the
xml:lang reference and the
lang attribute, both would get mapped to a variable named
'lang' in the generated
Java code.
To fix it, it's just a matter of telling
XJC to rename the
xml:lang reference to
'xmlLang' when generating
Java code while leaving the
lang attribute as is. The following bindings would be suitable, see my
CDA article linked above for the full binding file definition:
Here's an answer from StackOverlow that is similar in nature and covers it in more detail.
Then it's just a matter of telling
XJC that you want to use a binding file and the
FHIR schema should compile!
-i
A quick disclaimer...
Although I put in a great effort into researching all the topics I cover, mistakes can happen.
If you spot something out of place, please do let me know.
All content and opinions expressed on this Blog are my own and do not represent the opinions of my employer (Oracle).
Use of any information contained in this blog post/article is subject to
this disclaimer.
Igor Kromin
Other posts you may like...