XML mit DTD überprüfen

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

  • XML mit DTD überprüfen

    Hallo!
    Kann mir jemand bei folgendem Problem weiterhelfen?
    Ich versuche diese XML Datei:


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE productFeed SYSTEM "check.dtd">
    <productFeed version="0" timestamp="20030811:23:59:59">

    <product id="abc123" delete="false">
    <name>myProduct</name>
    <productURL>
    <![CDATA[http://www.xyz.com/product/view?p=abc123]]>
    </productURL>
    <imageURL>
    <![CDATA[http://www.xyz.com/images/view?p=abc123]]>
    </imageURL>
    <price>199.99</price>
    <description>
    <![CDATA[asd asdf asdf asdfsadf fda sadf dsf]]>
    </description>
    <fields>
    <field name="color" value="red" />
    <field name="size" value="XL" />
    </fields>
    <categories>
    <category name="myCategory1/mySubCategory1" />
    <category name="myCategory2/mySubCategory2" />
    </categories>
    </product>
    </productFeed>

    von dieser DTD datei prüfen zu lassen.

    <!DOCTYPE productFeed>
    <!ELEMENT productFeed (product+)>
    <!ATTLIST productFeed version CDATA #REQUIRED>
    <!ATTLIST productFeed sequenceId CDATA >
    <!ATTLIST productFeed timestamp CDATA >
    <!ELEMENT product (name?, productURL?, imageURL?, price?, description?, fields,
    categories)>
    <!ATTLIST product id CDATA #REQUIRED>
    <!ATTLIST product delete CDATA "false">
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT productURL (#PCDATA)>
    <!ELEMENT imageURL (#PCDATA)>
    <!ELEMENT price (#PCDATA)>
    <!ELEMENT description ANY>
    <!ELEMENT fields (field*)>
    <!ELEMENT field (#PCDATA)>
    <!ATTLIST field name CDATA #REQUIRED>
    <!ATTLIST field value CDATA #REQUIRED>
    <!ELEMENT categories (category*)>
    <!ELEMENT category (#PCDATA)>
    <!ATTLIST category name CDATA #REQUIRED>

    Bekomme allerdings beim starten folgende Fehlermeldung:
    Mehrere DOCTYPE-Deklarationen sind nicht zugelassen. Fehler beim Bearbeiten der Ressource

    <!DOCTYPE productFeed>
    ----------^

    wenn ich die Zeile DOCTYPE productFeed.... entferne bekomme ich immernoch die Meldung
    Eine Zeichenfolge wurde erwartet, es konnte aber kein beginnendes Anführungszeichen gefunden werden. Fehler beim Bearbeiten...
    <!ATTLIST productFeed sequenceId CDATA >

    Vielen dank schonmal im Voraus!

  • #2
    definier doch den doctype richtig, hier ein beispiel:
    (scrollen bis 'Beispiel einer gültigen Anwendung')

    http://de.selfhtml.org/xml/dtd/attri...dige_optionale

    EDIT:
    typos
    Zuletzt geändert von Coragon Rivito; 16.02.2006, 15:19.
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      Danke für die schnelle antwort, der DOCTYPE ist als productFeed definiert, ich kann in dem Fall keine Fehler entdecken.

      Gruß

      Kommentar


      • #4
        hm, hab das mal gecheckt ..

        bei den beiden angaben

        <!ATTLIST productFeed sequenceId CDATA >
        <!ATTLIST productFeed timestamp CDATA >

        musst du noch entweder
        eine defaultwert vorgeben ( "value" )
        nen fixen wert vorgeben ( #FIXED "value" )
        als optional bestimmen ( #IMPLIED )
        oder als muss-vorhanden-sein bestimmen ( # REQUIRED )
        Zuletzt geändert von Coragon Rivito; 16.02.2006, 15:31.
        mfg,
        [color=#0080c0]Coragon[/color]

        Kommentar

        Lädt...
        X