Edit: Sorry, I forgot to add the xsd! :)

Hello everybody,

I'm trying to use the maven plugin to generate Java Classes for my xsd.
I'm getting a Build Error with a message "A referenced type must be global."

I searched the xsd but couldn't find any wrong. Every XSD Validator says
the xsd is fine. Short: I don't have a clue what I'm doing wrong.

I also tried to remove the xs:any elements and the wildcard attributes
but this doesn't seem to help.

Can somebody tell me where to look or what to remove from the xsd?

Thanks a lot!

Best regards
Marcel

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified" targetNamespace="http://musicbrainz.org/ns/mmd-1.0#"; xmlns:mmd-1.0="http://musicbrainz.org/ns/mmd-1.0#"; xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >
  <xs:element name="metadata">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="mmd-1.0:artist"/>
        <xs:element minOccurs="0" ref="mmd-1.0:release"/>
        <xs:element minOccurs="0" ref="mmd-1.0:track"/>
        <xs:element minOccurs="0" ref="mmd-1.0:label"/>
        <xs:element minOccurs="0" ref="mmd-1.0:artist-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:release-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:track-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:label-list"/>
      </xs:sequence>
      <xs:attribute name="generator" type="xs:anyURI"/>
      <xs:attribute name="created" type="xs:dateTime"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="artist">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="mmd-1.0:name"/>
        <xs:element minOccurs="0" ref="mmd-1.0:sort-name"/>
        <xs:element minOccurs="0" ref="mmd-1.0:disambiguation"/>
        <xs:element minOccurs="0" ref="mmd-1.0:life-span"/>
        <xs:element minOccurs="0" ref="mmd-1.0:alias-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:release-list"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:relation-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:tag-list"/>
        <xs:group ref="mmd-1.0:def_artist-element_extension"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:anyURI"/>
      <xs:attribute name="type" type="xs:anyURI"/>
      <xs:attributeGroup ref="mmd-1.0:def_artist-attribute_extension"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="name" type="xs:string"/>
  <xs:element name="sort-name" type="xs:string"/>
  <xs:element name="disambiguation" type="xs:string"/>
  <xs:element name="life-span">
    <xs:complexType>
      <xs:attribute name="begin" type="mmd-1.0:def_incomplete-date"/>
      <xs:attribute name="end" type="mmd-1.0:def_incomplete-date"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="release">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="mmd-1.0:title"/>
        <xs:element minOccurs="0" ref="mmd-1.0:text-representation"/>
        <xs:element minOccurs="0" ref="mmd-1.0:asin"/>
        <xs:element minOccurs="0" ref="mmd-1.0:artist"/>
        <xs:element minOccurs="0" ref="mmd-1.0:release-event-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:disc-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:puid-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:track-list"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:relation-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:tag-list"/>
        <xs:group ref="mmd-1.0:def_release-element_extension"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:anyURI"/>
      <xs:attribute name="type" type="mmd-1.0:def_URI-list"/>
      <xs:attributeGroup ref="mmd-1.0:def_release-attribute_extension"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="title" type="xs:string"/>
  <xs:element name="text-representation">
    <xs:complexType>
      <xs:attribute name="language" type="mmd-1.0:def_iso-639"/>
      <xs:attribute name="script" type="mmd-1.0:def_iso-15924"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="asin">
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:pattern value="[A-Z0-9]{10}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="track">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="mmd-1.0:title"/>
        <xs:element minOccurs="0" ref="mmd-1.0:duration"/>
        <xs:element minOccurs="0" ref="mmd-1.0:artist"/>
        <xs:element minOccurs="0" ref="mmd-1.0:release-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:puid-list"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:relation-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:tag-list"/>
        <xs:group ref="mmd-1.0:def_track-element_extension"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:anyURI"/>
      <xs:attributeGroup ref="mmd-1.0:def_track-attribute_extension"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="duration" type="xs:nonNegativeInteger"/>
  <xs:element name="label">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="mmd-1.0:name"/>
        <xs:element minOccurs="0" ref="mmd-1.0:sort-name"/>
        <xs:element minOccurs="0" ref="mmd-1.0:label-code"/>
        <xs:element minOccurs="0" ref="mmd-1.0:disambiguation"/>
        <xs:element minOccurs="0" ref="mmd-1.0:country"/>
        <xs:element minOccurs="0" ref="mmd-1.0:life-span"/>
        <xs:element minOccurs="0" ref="mmd-1.0:alias-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:release-list"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:relation-list"/>
        <xs:element minOccurs="0" ref="mmd-1.0:tag-list"/>
        <xs:group ref="mmd-1.0:def_label-element_extension"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:anyURI"/>
      <xs:attribute name="type" type="xs:anyURI"/>
      <xs:attributeGroup ref="mmd-1.0:def_label-attribute_extension"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="label-code" type="xs:nonNegativeInteger"/>
  <xs:element name="country" type="mmd-1.0:def_iso-3166"/>
  <xs:element name="relation">
    <xs:complexType>
      <xs:choice minOccurs="0">
        <xs:element ref="mmd-1.0:artist"/>
        <xs:element ref="mmd-1.0:release"/>
        <xs:element ref="mmd-1.0:track"/>
        <xs:group ref="mmd-1.0:def_relation-element_extension"/>
      </xs:choice>
      <xs:attribute name="type" use="required" type="xs:anyURI"/>
      <xs:attribute name="target" use="required" type="xs:anyURI"/>
      <xs:attribute name="direction" type="mmd-1.0:def_direction"/>
      <xs:attribute name="attributes" type="mmd-1.0:def_URI-list"/>
      <xs:attribute name="begin" type="mmd-1.0:def_incomplete-date"/>
      <xs:attribute name="end" type="mmd-1.0:def_incomplete-date"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="alias">
    <xs:complexType mixed="true">
      <xs:attribute name="type" type="xs:anyURI"/>
      <xs:attribute name="script" type="mmd-1.0:def_iso-15924"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="tag">
    <xs:complexType mixed="true">
      <xs:attribute name="count" type="xs:nonNegativeInteger"/>
    </xs:complexType>
  </xs:element>
  <!-- This part defines the extensions elements and attributes. -->
  <xs:group name="def_metadata-element_extension">
    <xs:sequence>
      <xs:group minOccurs="0" ref="mmd-1.0:def_extension_element"/>
    </xs:sequence>
  </xs:group>
  <xs:group name="def_artist-element_extension">
    <xs:sequence>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:def_extension_element"/>
    </xs:sequence>
  </xs:group>
  <xs:group name="def_release-element_extension">
    <xs:sequence>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:def_extension_element"/>
    </xs:sequence>
  </xs:group>
  <xs:group name="def_track-element_extension">
    <xs:sequence>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:def_extension_element"/>
    </xs:sequence>
  </xs:group>
  <xs:group name="def_label-element_extension">
    <xs:sequence>
<xs:group minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:def_extension_element"/>
    </xs:sequence>
  </xs:group>
  <xs:group name="def_relation-element_extension">
    <xs:sequence>
      <xs:group ref="mmd-1.0:def_extension_element"/>
    </xs:sequence>
  </xs:group>
  <xs:attributeGroup name="def_artist-attribute_extension">
    <xs:attributeGroup ref="mmd-1.0:def_extension_attribute"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="def_release-attribute_extension">
    <xs:attributeGroup ref="mmd-1.0:def_extension_attribute"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="def_track-attribute_extension">
    <xs:attributeGroup ref="mmd-1.0:def_extension_attribute"/>
  </xs:attributeGroup>
  <xs:attributeGroup name="def_label-attribute_extension">
    <xs:attributeGroup ref="mmd-1.0:def_extension_attribute"/>
  </xs:attributeGroup>
  <xs:group name="def_extension_element">
    <xs:sequence>
      <xs:any namespace="##other" processContents="skip"/>
    </xs:sequence>
  </xs:group>
  <xs:attributeGroup name="def_extension_attribute">
    <xs:anyAttribute namespace="##other" processContents="skip"/>
  </xs:attributeGroup>
  <xs:element name="artist-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:artist"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="release-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:release"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="alias-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:alias"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="track-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:track"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="label-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:label"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="release-event-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:event"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="event">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="mmd-1.0:label"/>
      </xs:sequence>
<xs:attribute name="date" use="required" type="mmd-1.0:def_incomplete-date"/>
      <xs:attribute name="country" type="mmd-1.0:def_iso-3166"/>
      <xs:attribute name="catalog-number"/>
      <xs:attribute name="barcode"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="disc-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:disc"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="disc">
    <xs:complexType>
      <xs:attribute name="id" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z0-9._]{27}-"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="sectors" type="xs:nonNegativeInteger"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="puid-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:puid"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="puid">
    <xs:complexType>
      <xs:attribute name="id" use="required" type="mmd-1.0:def_uuid"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="relation-list">
    <xs:complexType>
      <xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:relation"/>
      </xs:sequence>
      <xs:attribute name="target-type" use="required" type="xs:anyURI"/>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="tag-list">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="mmd-1.0:tag"/>
      </xs:sequence>
      <xs:attributeGroup ref="mmd-1.0:def_list-attributes"/>
    </xs:complexType>
  </xs:element>
  <xs:attributeGroup name="def_list-attributes">
    <xs:attribute name="count" type="xs:nonNegativeInteger"/>
    <xs:attribute name="offset" type="xs:nonNegativeInteger"/>
  </xs:attributeGroup>
  <!-- A space separated list of URIs, relative ones are possible, too. -->
  <xs:simpleType name="def_URI-list">
    <xs:restriction>
      <xs:simpleType>
        <xs:list itemType="xs:anyURI"/>
      </xs:simpleType>
      <xs:minLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- A date with varying precision in format 'YYYY-MM-DD'. -->
  <xs:simpleType name="def_incomplete-date">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- A two-letter country code like 'DE', 'UK', 'FR' etc. -->
  <xs:simpleType name="def_iso-3166">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z]{2}"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- An ISO-639-2/T language code like 'DEU', 'ENG', 'JPN' etc. -->
  <xs:simpleType name="def_iso-639">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- A four-letter script code like 'Latn', 'Cyrl', etc. -->
  <xs:simpleType name="def_iso-15924">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][a-z]{3}"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- A 128 Bit UUID in its standard ASCII representation. -->
  <xs:simpleType name="def_uuid">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}"/>
    </xs:restriction>
  </xs:simpleType>
  <!-- Reading direction of a relation. Defaults to "both". -->
  <xs:simpleType name="def_direction">
    <xs:restriction base="xs:token">
      <xs:enumeration value="both"/>
      <xs:enumeration value="forward"/>
      <xs:enumeration value="backward"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to