Announcement

Collapse
No announcement yet.

Xml dtd hilfe

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

  • Xml dtd hilfe

    Guten Tag ich bin neu hier und habe ein Problem mit der DTD zum folgenden XML-File:

    <?xml version=1.0">
    <!--astro.xml-->
    <?xml-stylesheet type="text/xsl" href="astro.xsl" ?>
    <!-- This is the ASTRO club-->
    <astro xmlns: xlink="http://www.w3.org/1999/xlink">
    <sign start-date="12-22" end-date="01-20">
    <name type="main">Capricorn</name>
    <name type="alt">The Sea-Goat</name>
    <!--capricorn.gif corresponds to Unicode 3.0 #x2651-->
    <symbol xlink:type="simple" xlink:href="Capricorn.gif"/>
    <ruling_planet>Saturn</ruling_planet>
    <element>Earth</Element>
    <energy>Feminine</energy>
    <quality>Cardinal</quality>
    <anatomy>
    <part>Bones</part>
    <part>Knees</part>
    </anatomy>
    </sign>
    </astro>


    Hierauss soll nun die .dtd gebaut werden, alle Attribute seien "#Required"

    Hier mein Versuch dazu:

    <!ELEMENT astro (sign)>

    <!ELEMENT sign (name+,symbol,ruling_planet,element,energy,qulaity ,anatomy)>

    <!ATTLIST sign start-date (CDATA) #REQUIRED
    end-date (CDATA) # REQUIRED

    <!ELEMENT name (#PC DATA)>
    <!ATTLIST name type (main I alt) #REQUIRED

    <!ELEMENT symbol EMPTY>
    <ATTLIST symbol xlink:type (CDATA) #REQUIRED
    xlink:href (CDATA)# REQUIRED

    <!ELEMENT ruling-planet (#PC DATA)>
    <!ELEMENT element (#PC DATA)>
    <!ELEMENT energy (#PC DATA)>
    <!ELEMENT quality (#PC DATA>
    <!ELEMENT anatomy (part*)>
    <!ELEMENT Bones (#PC DATA)>
    <!ELEMENT Knees (#PC DATA>



    meine Frage dazu: ist die dtd richtig? hätte ich den roten Bereich anders machen müssen, also hätte ich eine Entity deklarieren müssen, da eine Grafik eingebunden ist? Ich wäre über eine Antwort sehr sehr dankbar!
    Zuletzt editiert von Dito!; 09.02.2010, 18:56.

  • #2
    Wie wäre es mit Validieren? Neben Schreibfehlern gibt es auch einige logische Probleme. Vergleiche mit dieser validierenden Fassung:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!--astro.xml-->
    <?xml-stylesheet type="text/xsl" href="astro.xsl"?>
    <!DOCTYPE astro [
      <!ELEMENT astro (sign)>
      <!ATTLIST astro xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
      <!ELEMENT sign (name+, symbol, ruling_planet, element, energy, quality, anatomy)>
      <!ATTLIST sign start-date CDATA #REQUIRED end-date CDATA #REQUIRED>
      <!ELEMENT name (#PCDATA)>
      <!ATTLIST name type (main | alt) #REQUIRED>
      <!ELEMENT symbol EMPTY>
      <!ATTLIST symbol xlink:type CDATA #REQUIRED xlink:href CDATA #REQUIRED>
      <!ELEMENT ruling_planet (#PCDATA)>
      <!ELEMENT element (#PCDATA)>
      <!ELEMENT energy (#PCDATA)>
      <!ELEMENT quality (#PCDATA)>
      <!ELEMENT anatomy (part+)>
      <!ELEMENT part (#PCDATA)>
    ]>
    <!--This is the ASTRO club-->
    <astro xmlns:xlink="http://www.w3.org/1999/xlink">
      <sign start-date="12-22" end-date="01-20">
        <name type="main">Capricorn</name>
        <name type="alt">The Sea-Goat</name>
        <!--capricorn.gif corresponds to Unicode 3.0 #x2651-->
        <symbol xlink:type="simple" xlink:href="Capricorn.gif"/>
        <ruling_planet>Saturn</ruling_planet>
        <element>Earth</element>
        <energy>Feminine</energy>
        <quality>Cardinal</quality>
        <anatomy>
          <part>Bones</part>
          <part>Knees</part>
        </anatomy>
      </sign>
    </astro>

    Comment

    Working...
    X