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!