Verweis von key und keyref wird nicht als Fehler erkannt

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Verweis von key und keyref wird nicht als Fehler erkannt

    Hallo. ich versuche mich gerade an einem kleinen Beispiel:

    In diesem Beispiel habe ich eine Struktur Bücher mit den Elementen Autor, Verlag und Buch. Die ID des Autors und des verlages sollen als Attribut des Buches verfügbar sein. Ich habe es folgendermaßen zugewiesen:

    Buecher2.xsd

    XML Source Code

    1. <?xml version="1.0" encoding="ISO-8859-1"?>
    2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://meinnamespace.meinefirma.de"
    3. targetNamespace="http://meinnamespace.meinefirma.de" elementFormDefault="qualified">
    4. <xs:element name="buecher">
    5. <xs:complexType>
    6. <xs:sequence>
    7. <xs:element name="autor" type="autorType" maxOccurs="unbounded"/>
    8. <xs:element name="verlag" type="verlagType" maxOccurs="unbounded"/>
    9. <xs:element name="buch" type="buchType" maxOccurs="unbounded"/>
    10. </xs:sequence>
    11. </xs:complexType>
    12. <xs:key name="autorKey">
    13. <xs:selector xpath="autor"/>
    14. <xs:field xpath="@id"/>
    15. </xs:key>
    16. <xs:keyref name="autorKeyref" refer="autorKey">
    17. <xs:selector xpath="buch"/>
    18. <xs:field xpath="@autorID"/>
    19. </xs:keyref>
    20. <xs:key name="verlagKey">
    21. <xs:selector xpath="verlag"/>
    22. <xs:field xpath="@id"/>
    23. </xs:key>
    24. <xs:keyref name="verlagKeyref" refer="verlagKey">
    25. <xs:selector xpath="buch"/>
    26. <xs:field xpath="@verlagID"/>
    27. </xs:keyref>
    28. </xs:element>
    29. <xs:complexType name="autorType">
    30. <xs:sequence>
    31. <xs:element name="name" type="xs:string"/>
    32. <xs:element name="ort" type="xs:string" minOccurs="0"/>
    33. </xs:sequence>
    34. <xs:attribute name="id" type="xs:unsignedInt" use="required"/>
    35. </xs:complexType>
    36. <xs:complexType name="verlagType">
    37. <xs:sequence>
    38. <xs:element name="name" type="xs:string"/>
    39. <xs:element name="ort" type="xs:string" minOccurs="0"/>
    40. </xs:sequence>
    41. <xs:attribute name="id" type="xs:unsignedInt" use="required"/>
    42. </xs:complexType>
    43. <xs:complexType name="buchType">
    44. <xs:sequence>
    45. <xs:element name="titel" type="xs:string"/>
    46. </xs:sequence>
    47. <xs:attribute name="autorID" type="xs:unsignedInt" use="required"/>
    48. <xs:attribute name="verlagID" type="xs:unsignedInt" use="required"/>
    49. </xs:complexType>
    50. </xs:schema>
    Display All


    und erstelle meine Struktur mit der Buecher2.xml

    XML Source Code

    1. <?xml version="1.0" encoding="ISO-8859-1"?>
    2. <buecher xmlns="http://meinnamespace.meinefirma.de" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://meinnamespace.meinefirma.de Buecher2.xsd">
    3. <autor id="42">
    4. <name>Hinz</name>
    5. <ort>Hamburg</ort>
    6. </autor>
    7. <autor id="43">
    8. <name>Kunz</name>
    9. <ort>Krefeld</ort>
    10. </autor>
    11. <verlag id="151">
    12. <name>Aachener Java-Verlag</name>
    13. <ort>Aachen</ort>
    14. </verlag>
    15. <verlag id="151">
    16. <name>Bonner XML-Verlag</name>
    17. <ort>Bonn</ort>
    18. </verlag>
    19. <buch verlagID="151" autorID="23">
    20. <titel>XML mit Java</titel>
    21. </buch><buch verlagID="89" autorID="34">
    22. <titel>XML mit Java</titel>
    23. </buch>
    24. </buecher>
    Display All


    ich arbeite hierbei mit Oxygen. Wenn ich nun in den Feldern verlagID oder autorID ungültige werte eingebe bekomme ich allerdings keine Fehlermeldung. Woran kann das liegen? Danke schon einmal für eure Hilfe.

    The post was edited 1 time, last by Martin1982 ().