Привязка maven-jaxb2-plugin: ошибка при разборе схемы - PullRequest
0 голосов
/ 10 марта 2019

Case

Я пытаюсь выполнить привязку, чтобы избежать конфликта между Ancillaries.1.14.0.xsd и PNRBuilderTypes_v1.19.0.xsd в элементе:

<xsd:simpleType name="_flightNumberLiterals">. 

Любое предложение приветствуется. Спасибо!

Error

[ERROR] Error while parsing schema(s).
Location [ file:test.jxb{10,55}].
com.sun.istack.SAXParseException2; 
systemId: file:test.jxb; 
lineNumber: 10; columnNumber: 55; 
el compilador no ha podido mantener esta personalización de class. 
Está asociada a un lugar incorrecto o es inconsistente con otros enlaces.
at com.sun.tools.xjc.ErrorReceiver.error(ErrorReceiver.java:86)
at com.sun.tools.xjc.reader.xmlschema.ErrorReporter.error(ErrorReporter.java:84)
at com.sun.tools.xjc.reader.xmlschema.UnusedCustomizationChecker.check(UnusedCustomizationChecker.java:149)
at com.sun.tools.xjc.reader.xmlschema.UnusedCustomizationChecker.check(UnusedCustomizationChecker.java:127)
at com.sun.tools.xjc.reader.xmlschema.UnusedCustomizationChecker.simpleType(UnusedCustomizationChecker.java:240)

test.jxb

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jaxb:bindings version="2.0" 
       xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

<jaxb:bindings schemaLocation="Ancillaries.1.14.0.xsd" node="/xsd:schema">
    <jaxb:bindings node="//xsd:schema/xsd:simpleType[@name='_flightNumberLiterals']">
        <jaxb:class name="FlightNumberLiterals1"/>
    </jaxb:bindings>
</jaxb:bindings>

Ancillaries.1.14.0.xsd

<xsd:schema targetNamespace="http://services.sabre.com/res/or/v1_14" elementFormDefault="qualified" attributeFormDefault="unqualified" jaxb:version="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://services.sabre.com/res/or/v1_14" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
...  
    <xsd:simpleType name="FlightNumber">
        <xsd:annotation>
            <xsd:documentation>Identifies a flight number ... 
            </xsd:documentation>
        </xsd:annotation>
        <xsd:union memberTypes="_flightNumberPattern _flightNumberLiterals"/>
    </xsd:simpleType>
    <xsd:simpleType name="_flightNumberPattern">
        <xsd:annotation>
            <xsd:documentation>This private simple ...</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[0-9]{1,4}[A-Z]?"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="_flightNumberLiterals">
        <xsd:annotation>
            <xsd:documentation>This private type ...</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="OPEN"/>
            <xsd:enumeration value="ARNK"/>
        </xsd:restriction>
    </xsd:simpleType>
...
</xsd:schema>

PNRBuilderTypes_v1.19.0.xsd

<xsd:schema ... >
    ...
    <xsd:simpleType name="_flightNumberLiterals">
        <xsd:annotation>
          <xsd:documentation>This private type ...</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="OPEN"/>
          <xsd:enumeration value="ARNK"/>
        </xsd:restriction>
    </xsd:simpleType>
    ...
</xsd:schema>

Maven-jaxb2-плагин

<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.14.0</version>
...