<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="Modell">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Modelinformation"/>
        <xs:element maxOccurs="unbounded" ref="ModellElement"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Modelinformation">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Repository"/>
        <xs:element ref="Model"/>
        <xs:element ref="Client"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Repository">
    <xs:complexType>
      <xs:attribute name="Name" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Model">
    <xs:complexType>
      <xs:attribute name="Name" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Client">
    <xs:complexType>
      <xs:attribute name="User" use="required" type="xs:NCName"/>
      <xs:attribute name="Version" use="required" type="xs:NMTOKEN"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="ModellElement">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Spezifikationstext"/>
        <xs:element maxOccurs="unbounded" ref="Label"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Stereotypeigenschaft"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Kommentar"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Kommentar-annotiert"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Merkmal"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="Assoziation"/>
          <xs:element ref="Assoziationsende"/>
          <xs:element ref="ReferenzListe"/>
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="AnzeigeName" use="required"/>
      <xs:attribute name="BesitzerAnzeigeName" use="required"/>
      <xs:attribute name="BesitzerLinkTyp" use="required" type="xs:NCName"/>
      <xs:attribute name="BesitzerStereotyp" use="required"/>
      <xs:attribute name="BesitzerSymbol" use="required" type="xs:NCName"/>
      <xs:attribute name="BesitzerUUID"/>
      <xs:attribute name="Elementtyp" use="required"/>
      <xs:attribute name="Name"/>
      <xs:attribute name="Stereotyp" use="required"/>
      <xs:attribute name="Symbol" use="required" type="xs:NCName"/>
      <xs:attribute name="UUID" use="required"/>
      <xs:attribute name="istBeziehung" use="required" type="xs:boolean"/>
      <xs:attribute name="istPaketierbar" use="required" type="xs:boolean"/>
      <xs:attribute name="relDateiname"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Spezifikationstext">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="mydiv"/>
      </xs:sequence>
      <xs:attribute name="IstDefault" use="required" type="xs:boolean"/>
      <xs:attribute name="Titel" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Label">
    <xs:complexType>
      <xs:attribute name="IstDefault" use="required" type="xs:boolean"/>
      <xs:attribute name="Name" use="required"/>
      <xs:attribute name="Wert" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Stereotypeigenschaft">
    <xs:complexType>
      <xs:attribute name="IstDefault" use="required" type="xs:boolean"/>
      <xs:attribute name="Name" use="required"/>
      <xs:attribute name="Wert" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Kommentar">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="mydiv"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Referenz"/>
      </xs:sequence>
      <xs:attribute name="Name" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Kommentar-annotiert">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="mydiv"/>
      </xs:sequence>
      <xs:attribute name="Name" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Merkmal">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="Referenz"/>
      </xs:sequence>
      <xs:attribute name="Name" use="required"/>
      <xs:attribute name="Wert"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Assoziation">
    <xs:complexType>
      <xs:attribute name="AnzeigeName" use="required"/>
      <xs:attribute name="LinkTyp" use="required" type="xs:NCName"/>
      <xs:attribute name="Stereotyp" use="required"/>
      <xs:attribute name="Symbol" use="required" type="xs:NCName"/>
      <xs:attribute name="UUID" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Assoziationsende">
    <xs:complexType>
      <xs:attribute name="AnzeigeName" use="required"/>
      <xs:attribute name="AssoziierterTypAnzeigeName" use="required"/>
      <xs:attribute name="AssoziierterTypLinkTyp" use="required" type="xs:NCName"/>
      <xs:attribute name="AssoziierterTypStereotyp" use="required"/>
      <xs:attribute name="AssoziierterTypSymbol" use="required" type="xs:NCName"/>
      <xs:attribute name="AssoziierterTypUUID" use="required"/>
      <xs:attribute name="LinkTyp" use="required" type="xs:NCName"/>
      <xs:attribute name="Stereotyp" use="required"/>
      <xs:attribute name="Symbol" use="required" type="xs:NCName"/>
      <xs:attribute name="UUID" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReferenzListe">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="ReferenzEintragGruppe"/>
      </xs:sequence>
      <xs:attribute name="Titel"/>
      <xs:attribute name="Typ" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReferenzEintragGruppe">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="ReferenzEintrag"/>
      </xs:sequence>
      <xs:attribute name="Titel"/>
      <xs:attribute name="Typ" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReferenzEintrag">
    <xs:complexType>
      <xs:attribute name="AnzeigeName" use="required"/>
      <xs:attribute name="LinkTyp" use="required" type="xs:NCName"/>
      <xs:attribute name="Stereotyp" use="required"/>
      <xs:attribute name="Symbol" use="required" type="xs:NCName"/>
      <xs:attribute name="Typ" use="required" type="xs:NCName"/>
      <xs:attribute name="UUID" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="mydiv">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="mydivText" type="xs:string"/>
      </xs:sequence>
      <xs:attribute name="type" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="Referenz">
    <xs:complexType>
      <xs:attribute name="AnzeigeName" use="required"/>
      <xs:attribute name="LinkTyp" use="required" type="xs:NCName"/>
      <xs:attribute name="Stereotyp"/>
      <xs:attribute name="Symbol" use="required" type="xs:NCName"/>
      <xs:attribute name="UUID" use="required"/>
    </xs:complexType>
  </xs:element>
</xs:schema>
