дубликат элемента не обнаружен с помощью плагина maven jaxb / jaxb2 - PullRequest
0 голосов
/ 10 июня 2011

Я использую maven-jaxb-plugin и maven-jaxb2-plugin для компиляции xsd-файла, который имеет два элемента с одинаковыми именами, но код компилируется без ошибок. Сгенерированный класс не имеет связанных свойств. Смотрите сгенерированный класс:

...

*         <element name="elementName" type="{http://namespace}typeElementName"/>
*         <element name="elementName" type="{http://namespace}typeElementName"/>

public class TypeNameType {
    @XmlElementRefs({
        @XmlElementRef(name = "elementName", namespace = "http://namespace", type = JAXBElement.class)
    })

    protected List<JAXBElement<? extends Serializable>> content;

    public List<JAXBElement<? extends Serializable>> getContent() {
        if (content == null) {
            content = new ArrayList<JAXBElement<? extends Serializable>>();
        }
        return this.content;
    }

}

и XSD:

<schema elementFormDefault="qualified"
targetNamespace="http://namespace"
    xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://namespace">

    <complexType name="typeNameType">
        <sequence>
            <element minOccurs="1" maxOccurs="1" name="elementName" type="string" />
            <element minOccurs="1" maxOccurs="1" name="elementName" type="string" />
        </sequence>
    </complexType>
</schema>

Кто-нибудь может мне помочь с этим вопросом?

Tks!

Марсело

1 Ответ

0 голосов
/ 03 ноября 2011

Проверка группы файлов xml и файлов xsd также может быть выполнена с помощью xml-maven-plugin :

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>xml-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
      <execution>
        <goals>
          <goal>validate</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <validationSets>
        <validationSet>
          <dir>src/main/xsd</dir>
          <systemId>http://www.w3.org/2001/XMLSchema.xsd</systemId>
        </validationSet>
      </validationSets>
    </configuration>
  <plugin>

Поместите все ваши xsd файлы ниже src/main/xsd, плагин проверит их по http://www.w3.org/2001/XMLSchema.xsd, запустив mvn xml:validate. Вы должны загрузить XMLSchema.xsd в свой проект, чтобы ускорить проверку и пропустить запрос на w3.org.

...