Julius Hacker: ID Attribute

Hallo Forum ;-)

Ich hantiere hier die letzten Tage ein bisschen mit XML Dateien herum.
Jetzt möchte ich in einer XML Datei, in der theoretisch die Navigation einer Webseite stehen könnte, jeden Punkt der Navigation mit einem ID Attribut versehen, um diesen eindeutig ansprechen zu können.
Dazu habe ich in meine DTD einmal folgendes hineingeschrieben:

<!ELEMENT kategoriepunkt (#PCDATA)>
<!ATTLIST kategoriepunkt
 kategoriepunktid ID #REQUIRED >

Ich kann nun aber trotzdem 2 verschiedenen Kategoriepunkt-Elementen die gleiche ID zuweisen.(Die ID hat die Form "id_#Nummer")

Ich schaue mir das ganze immer mit Firefox 0.8 an.
Wahwleise hab ich das Dokuemtn auch mal mittels der SimpleXML Erweiterung von PHP5RC1 eingelesen - meldet ebenso keinen Fehler.

Weis jemand von euch, was ich da falsch mache?

Gruß
Julius

  1. Hallo,

    Ich kann nun aber trotzdem 2 verschiedenen Kategoriepunkt-Elementen die gleiche ID zuweisen.(Die ID hat die Form "id_#Nummer")

    Ich schaue mir das ganze immer mit Firefox 0.8 an.
    Wahwleise hab ich das Dokuemtn auch mal mittels der SimpleXML Erweiterung von PHP5RC1 eingelesen - meldet ebenso keinen Fehler.

    Weis jemand von euch, was ich da falsch mache?

    Nicht machst du "falsch": Firefox / Mozilla verwenden einen nicht validierenden Parser und wenn deine DTD eine externe ist, können sie das so oder so nicht auflösen.

    Benutze einen validierenen XML-Parser (wenn im Browser dann nimm den IE dazu)

    Grüße
    Thomas

    1. Hallo Thomas,

      Benutze einen validierenen XML-Parser (wenn im Browser dann nimm den IE dazu)

      Hab das gerade mal im IE versucht - der meldet mir ebenso keine Fehlermeldung.
      Ich hab die DTD testweise auch mal direkt ins Dokument kopiert, da sie nicht allzugroß ist - mit der internen DTD wird ebenso kein Fehler gemeldet vom IE.

      Wie ich die SimpleXML Erweiterung von PHP zum validieren bringen kann, weist du nicht zufällig?
      Da müsste ich nähmlich mittels $xmlobjekt->xpath() die Elemente eindeutig identifizieren können.

      Gruß
      Julius

      1. Hallo,

        Benutze einen validierenen XML-Parser (wenn im Browser dann nimm den IE dazu)

        Hab das gerade mal im IE versucht - der meldet mir ebenso keine Fehlermeldung.

        Ehm ..ja, sorry. Du muss das dazu extra installieren "Internet Explorer Tools for Validating XML and Viewing XSLT Output" (http://www.microsoft.com/downloads/details.aspx?FamilyId=D23C1D2C-1571-4D61-BDA8-ADF9F6849DF9&displaylang=en)
        Dann hast du zwei zusätzliche Einträge in deinem IE-Kontextmenü "Validate XML" und "View XSL Output"

        Wie ich die SimpleXML Erweiterung von PHP zum validieren bringen kann, weist du nicht zufällig?

        Nein, leider nicht.
        Aber als alternative bieten sehr viele freeware Editoren XML-Validierung.

        Grüße
        Thomas

        1. Hallo Thomas,

          Ehm ..ja, sorry. Du muss das dazu extra installieren "Internet Explorer Tools for Validating XML and Viewing XSLT Output" (http://www.microsoft.com/downloads/details.aspx?FamilyId=D23C1D2C-1571-4D61-BDA8-ADF9F6849DF9&displaylang=en)
          Dann hast du zwei zusätzliche Einträge in deinem IE-Kontextmenü "Validate XML" und "View XSL Output"

          Ok werd ich mal ausprobieren :-)

          Aber als alternative bieten sehr viele freeware Editoren XML-Validierung.

          Naja es geht darum, dass ich vorhabe, ein paar Daten meiner Webseite in XML Dateien auszulagern - wenn ich jetzt aber die XML Datei einlese und mit einer Schleife jede Kategorie nach dem ID-Attribut durchgehen muss, ist das doch recht umständlich.
          Daher wollte ich das eigentlich direkt mit soeinem ID Attribut lösen ;-)

          Gruß
          Julius

          1. Hallo,

            Aber als alternative bieten sehr viele freeware Editoren XML-Validierung.

            Naja es geht darum, dass ich vorhabe, ein paar Daten meiner Webseite in XML Dateien auszulagern - wenn ich jetzt aber die XML Datei einlese und mit einer Schleife jede Kategorie nach dem ID-Attribut durchgehen muss, ist das doch recht umständlich.
            Daher wollte ich das eigentlich direkt mit soeinem ID Attribut lösen ;-)

            Ja schon klar. Aber wenn du einen guten Editor verwendest, kannst du damit ja gleich deine XML erstellen _und_ validieren.

            Grüße
            Thomas

            1. Hallo Thomas,

              Ja schon klar. Aber wenn du einen guten Editor verwendest, kannst du damit ja gleich deine XML erstellen _und_ validieren.

              Ich werd mich mal in der SelfHTML Linkliste umkucken, ob da etwas dabei dabei ist, was mir an XML Editoren gefällt ;-)

              Jedenfalls danke für deine Hilfe!

              Gruß
              Julius