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]