DTD Validierung: Mal wieder Brett vorm Kopf (Teil III)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DTD Validierung: Mal wieder Brett vorm Kopf (Teil III)

    Hi!

    Jaja - Blindfisch Blaster - kurz BB. Da wir gerade 'Desert storm II' drehen, dachte ich mir ich drehe 'Brett vorm Kopf III'.

    Ich habe folgendes Problem:

    Bei der DTD-Validierung klatscht mir der Browser meine XML Datei um die Ohren und ich komme einfach nicht dahinter wieso - BB .
    PHP-Code:
    // Die XML-Datei
    <?xml version="1.0"  encoding="ISO-8859-1" ?>
    <!DOCTYPE highlight SYSTEM "highlight.dtd">
    <highlight>
        ....
        <todo id="2"......>
             ....
            <todofor function="Webdesigner">Dagobert Duck</todofor>
            <deadline>10.4.2003</deadline>
            <todotext>Der Kunde ist mit den ...</todotext>
            <condition>green</condition>
        </todo>
    ...
    </highlight>

    // die DTD 
    <!ELEMENT todo (author+, theme?, headline?, todofor, deadline?,
                                 todotext?, condition?)+>
        <!ELEMENT author        (#PCDATA)>
        <!ELEMENT theme        (#PCDATA)>
        <!ELEMENT headline    (#PCDATA)>
        <!ELEMENT todofor        (#PCDATA)>
        <!ELEMENT deadline    (#PCDATA)>
        <!ELEMENT todotext    (#PCDATA)>
        <!ELEMENT condition    (#PCDATA)>
        <!ATTLIST todofor function CDATA >

    // Bei der Validierung moppert der Browser

    A string literal was expected, but no opening quote character was found. Line 34, Position 36 
      <!ATTLIST todofor function CDATA >

    // Zuvor als ok befunden wurde aber
    <!ATTLIST important function CDATA >
    Ok, wer kann mir helfen und braucht Feuerholz?

    cu

    El Blido
    Yuppi, endlich Elite ...

  • #2
    Joo, hat sich erledigt!

    Danke!

    reason:
    1) Es gab bereits eine identische Deklaration in der DTD unter einen anderen Knoten und ohne Polymorphismus moppert der Parser.
    Der Fehler wurde in der ersten Deklaration ausgelöst und in der letzten moniert.
    2) Eine Typen Validierung muss entweder vollständig (Definition) oder nur angekündigt (Deklaration). D.h. CDATA plus "default"#,IIMPLIED,#FIXED oder 'REQUIRED oder CDATA weg.

    cu

    Blaster
    Yuppi, endlich Elite ...

    Kommentar

    Lädt...
    X