Announcement

Collapse
No announcement yet.

XSD & XML (n:m) Beziehung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XSD & XML (n:m) Beziehung

    Ich wollte gerne eine relationale n:m Beziehung (mit 3. Tabelle "Verknpüfung") erstellen, bei dem Beispiel hier also n Studenten hören m Vorlesungen und anderesrum. Wie kann man in XML mit mehreren Fremdschlüsseln umgehen, sind dort überhaupt mehrere keyref Ausdrücke möglich ?

    Ich poste mal noch das Schema (was angeblich valid ist) und ein XML Sample
    --------------------------------------------------------------------------------------------------
    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Student" type="Student">
    <xs:key name="MatrikelKey">
    <xs:selector xpath="Student" />
    <xs:field xpath="Matrikelnr" />
    </xs:key>
    </xs:element>
    <xs:complexType name="Student">
    <xs:sequence>
    <xs:element name="Name" type="xs:string" />
    <xs:element name="Vorname" type="xs:string" />
    <xs:element name="Bemerkung" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="Matrikelnr" use="required" />
    </xs:complexType>
    <xs:attribute name="Matrikelnr" type="xs:int" />
    <xs:element name="Vorlesung" type="Vorlesung">
    <xs:key name="VorlesungKey">
    <xs:selector xpath="Vorlesung" />
    <xs:field xpath="@VorlesungsNr" />
    </xs:key>
    </xs:element>
    <xs:complexType name="Vorlesung">
    <xs:sequence>
    <xs:element name="Titel" type="xs:string" />
    </xs:sequence>
    <xs:attribute ref="VorlesungsNr" />
    </xs:complexType>
    <xs:attribute name="VorlesungsNr" type="xs:int" />
    <xs:element name="StudHatVorl" type="StudHatVorl">
    <xs:key name="StudHatVorlKey">
    <xs:selector xpath="Student" />
    <xs:field xpath="@Matrikelnr" />
    <xs:field xpath="@VorlesungsNr" />
    </xs:key>
    <xs:keyref name="VorlesungRef" refer="VorlesungKey">
    <xs:selector xpath="StudHatVorl" />
    <xs:field xpath="@VorlesungsNr" />
    </xs:keyref>
    <xs:keyref name="StudentRef" refer="MatrikelKey">
    <xs:selector xpath="StudHatVorl" />
    <xs:field xpath="@Matrikelnr" />
    </xs:keyref>
    </xs:element>
    <xs:complexType name="StudHatVorl">
    <xs:sequence>
    <xs:element ref="Student" maxOccurs="unbounded" />
    <xs:element ref="Vorlesung" maxOccurs="unbounded" />
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    ---------------------------------------------------------------------------------------------------
    <?xml version="1.0" encoding="utf-8"?>
    <StudHatVorl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///C:/Dokumente%20und%20Einstellungen/.hakin9/Desktop/=%20BA%20-%20THESIS%20=/Muster_Diagramme&amp;Code/n_m/XSD/n-m_Stud-Vorl.xsd">
    <Student Matrikelnr="5857">
    <Name>string</Name>
    <Vorname>string</Vorname>
    <Bemerkung>string</Bemerkung>
    </Student>
    <Student Matrikelnr="-2420">
    <Name>string</Name>
    <Vorname>string</Vorname>
    <Bemerkung>string</Bemerkung>
    </Student>
    <Student Matrikelnr="2591">
    <Name>string</Name>
    <Vorname>string</Vorname>
    <Bemerkung>string</Bemerkung>
    </Student>
    <Student Matrikelnr="4588">
    <Name>string</Name>
    <Vorname>string</Vorname>
    <Bemerkung>string</Bemerkung>
    </Student>
    <Student Matrikelnr="-4722">
    <Name>string</Name>
    <Vorname>string</Vorname>
    <Bemerkung>string</Bemerkung>
    </Student>
    <Vorlesung VorlesungsNr="1487">
    <Titel>string</Titel>
    </Vorlesung>
    <Vorlesung VorlesungsNr="4020">
    <Titel>string</Titel>
    </Vorlesung>
    </StudHatVorl>
    -----------------------------------------------------------------------------------------------
    Würde mich auch über andere Lösungen für die n:m Beziehung freuen,
    vielleicht weiß ja einer woran es liegt, bei Bedarf kann ich auch noch einige Error Messages posten


    lieben DANK schonmal

    -viv1d-
Working...
X