1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

xs:key und xs:kleyref

Dieses Thema im Forum "XML Technologien" wurde erstellt von Tikonteroga, 12. Dezember 2012.

  1. Tikonteroga

    Tikonteroga Erfahrenes Mitglied

    Hallo,

    ich muss ein XML-Schema für ein bereits bestehendes XML erstellen. Dabei liegt das XML in folgender Form vor.

    HTML:
    1. <person>
    2.    <id>1</id>
    3.    <vorname>Hans</vorname>
    4.    <nachname>Müller</nachname>
    5.    <unternehmen>3</unternehmen>
    6. </person>
    7.  
    8. <person>
    9.    <id>2</id>
    10.    <vorname>Peter</vorname>
    11.    <nachname>Müller</nachname>
    12.    <unternehmen>3</unternehmen>
    13. </person>
    14.  
    15. <unternehmen>
    16.    <id>3<id>
    17.    <firma>Müller GmbH</firma>
    18.    <personen>1 2</personen>
    19. </unternehmen>
    Ist es denn möglich, dass ich über xs:key und xs:keyref die Relationen zwischen Person und Unternehmen beschreiben und dann auch validieren kann?

    Problematisch sehe ich, dass für <personen>1 2</personen> eine Liste verwendet wird.
     
  2. Tikonteroga

    Tikonteroga Erfahrenes Mitglied

    Ich habe auch mal meinen ersten Versucht gepostet, mit dem ich dem Element "person" einen key definiert habe.

    HTML:
    1. <xsd:element name="person">
    2.    <xsd:complexType>
    3.       <xsd:sequence>
    4.          <xsd:element name="id" type="xsd:int"/>
    5.          <xsd:element name="vornane" type="xsd:string"/>
    6.          <xsd:element name="nachname" type="xsd:string"/>
    7.          <xsd:element name="unternehmen" type="xsd:int"/>
    8.       </xsd:sequence>
    9.    </xsd:complexType>
    10.    <xsd:key name="personId">
    11.       <xsd:selector xpath="id"/>
    12.       <xsd:field xpath="."/>
    13.    </xsd:key>
    14. </xsd:element>
    Habe ich hier selector und field richtig angewendet? Hier war ich mir unsicher.