JAXB génération de classe avec importé XSD et de liaison

Je suis en train de générer des classes à partir de la suite de common.xsd laquelle les importations x.xsd et y.xsd.

common.xsd est comme suit:

<?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="mynamespace:x" schemaLocation="x.xsd"/>
    <xs:import namespace="mynamespace:y" schemaLocation="y.xsd"/>
</xs:schema>

J'essaie d'utiliser une liaison de fichier qui spécifie une interface commune qui est mise en œuvre par les classes générées. Mon fichier de liaison est comme suit:

jaxb:extensionBindingPrefixes="inheritance" version="2.1">

<jaxb:globalBindings> 
    <jaxb:javaType name="java.lang.Long" xmlType="xsd:integer"/> 
</jaxb:globalBindings>

<jaxb:bindings schemaLocation="common.xsd" node="/xsd:schema">

    <jaxb:bindings node="xsd:complexType[@name='Customer']">
        <inheritance:implements>jaxb.BaseMessage</inheritance:implements>
        <jaxb:class />
    </jaxb:bindings>

    <jaxb:bindings node="xsd:complexType[@name='Payments']">
        <inheritance:implements>jaxb.BaseMessage</inheritance:implements>
        <jaxb:class />
    </jaxb:bindings>

J'ai essayé de générer le code, mais il se plaint que:

[ERROR] XPath evaluation of "xsd:complexType[@name='Customer']" results in empty target node
[ERROR] XPath evaluation of "xsd:complexType[@name='Payments']" results in empty target node

Comment puis-je définir les nœuds dans les liaisons fichiers sont en fait dans l'individu externe les fichiers XSD, mais pas dans common.xsd?

J'ai eu à remplir certaines pièces manquantes afin de produire le scénario de test dans ma réponse. Permettez-moi de savoir si j'ai fait toute les idées fausses au sujet de votre cas d'utilisation.
Salut, j'ai ouvert un bounty pour cette question, mais il n'est pas le même problème que j'ai eu. Mon problème vient lors de l'utilisation de wsdl2java et des liaisons. J'ai résolu le problème avec l'aide des réponses, donc je vais attribution de 50 points pour la bonne réponse à votre problème @vallismortis
désolé, @user3057702 posé la question... Avez-vous trouvé votre réponse???

OriginalL'auteur user3057702 | 2015-04-21