DTD Rezept

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • hallo leute,
    bin relativ hilflos, weil ich xml fast gar nicht kann. habe aber hier eine frage, die in der klausur bestimmt dran kommt.
    quelltext gegeben - schreibe eine DTD!

    quelltext: (alle eckigen klammern rund gemacht, weil ich quelltext sonst nicht hier abbilden konnte, bin für tipp, was DAS angeht auch sehr dankbar)

    (?xml version="1.0"?)
    (!DOCTYPE rezept SYSTEM "rezept.dtd")
    (?xml-stylesheet href="style.xsl" type="text/xml"?)
    (rezept>
    (zutat id="mehl">200g Mehl(/zutat)
    (!-- weitere Zutaten --)
    (anleitung>Zuerst nehmen Sie das
    (zutat xmlns:xlink="http://www.w3.org/1999/xlink"
    xlink:type ="simple" xlink:href ="mehl")Mehl(/zutat)
    und mischen es mit ...
    (/anleitung)
    (/rezept)

    meine DTD:

    (!ELEMENT rezept (zutat +, anleitung))
    (!ELEMENT zutat (#PCDATA))
    (ATTLIST zutat
    id ID #REQUIRED)
    (!ELEMENT anleitung (#PCDATA | zutat)*)
    (!ATTLIST zutat xmlns: xlink CDATA
    xlink: type CDATA #REQUIRED
    xlink: href CDATA #REQUIRED)

    kann das so richtig sein?
  • du hast ja 2x ATTLIST für zutat
    das geht so nicht

    hier mal mit abgewandelter xml

    Quellcode

    1. <?xml version="1.0"?>
    2. <!DOCTYPE rezept SYSTEM "rezept.dtd">
    3. <?xml-stylesheet href="style.xsl" type="text/xml"?>
    4. <rezept>
    5. <zutat id="mehl">200g Mehl</zutat>
    6. <anleitung>
    7. Zuerst nehmen Sie das
    8. <zutatx xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type ="simple" xlink:href ="mehl">Mehl</zutatx>
    9. und mischen es mit ...
    10. </anleitung>
    11. </rezept>
    Alles anzeigen


    Quellcode

    1. <!ELEMENT rezept (zutat+, anleitung)>
    2. <!ELEMENT zutat (#PCDATA)>
    3. <!ATTLIST zutat id ID #REQUIRED>
    4. <!ELEMENT anleitung (#PCDATA | zutatx)*>
    5. <!ELEMENT zutatx (#PCDATA)>
    6. <!ATTLIST zutatx
    7. xmlns:xlink CDATA #REQUIRED
    8. xlink:type CDATA #REQUIRED
    9. xlink:href CDATA #REQUIRED>


    hier mal eine gültige DTD zu deinem xml beispiel
    ist aber bestimmt nicht optimal alles als #IMPLIED zu deklarieren

    Quellcode

    1. <!ELEMENT rezept (zutat+, anleitung)>
    2. <!ELEMENT zutat (#PCDATA)>
    3. <!ELEMENT anleitung (#PCDATA | zutat)*>
    4. <!ELEMENT zutatx (#PCDATA)>
    5. <!ATTLIST zutat
    6. id ID #IMPLIED
    7. xmlns:xlink CDATA #IMPLIED
    8. xlink:type CDATA #IMPLIED
    9. xlink:href CDATA #IMPLIED>


    btw: keine ahnung, wo das problem mit der eingabe ist?
    eckige klammern stellen kein problem dar