André Laugks: + (Zur Info) XML serverseitig validieren

Hallo!

Ich wollte noch mal Bezug auf mein Posting http://forum.de.selfhtml.org/archiv/2003/11/63028/ nehmen.

Die ganze Übung diente natürlich dazu, ein XML-Dokument zu validieren.

In dem ich die Fehlerausgabe in eine Datei leite, komme ich nun an die Fehlermeldung von xmllint ran. ecex() wollte ja keine Ausgeben.

Es wurde ja der Tipp gegeben, es in eine Datei zu leiten, aber ich habe nie den Ausgabekanal (2 = Standardfehler) verwendet.

In dem Fall reicht system() aus, weil man nicht an die Ausgabe auf der Shell muß.

// Windows
system("c:\xmllint\xmllint.exe --noout datei.xml 2>error.txt");

// Linux
system("/usr/local/libxml/bin/xmllint --noout datei.xml 2>error.txt");

Für "error.txt" könnte man nun dynamische (eindeutige ID) Dateinamen verwenden, damit sich mehrere Validierungen gleichzeitig nicht in die Quere kommen.

So kann man nun XML-Dokumente serverseitig gegen eine DTD oder XML-Schema validieren.

MfG, André Laugks

--
L-Andre @ gmx.de
  1. Hallo André,

    So kann man nun XML-Dokumente serverseitig gegen eine DTD oder XML-Schema validieren.

    blöde Frage: unterstützt xmllint auch XML Schema ? Wenn ja, wie (dachte bisher dass nur DTD geht) ? Oder kennst Du da ein brauchbares vergleichbares tool ?

    Gruss

    Marko

    1. Hallo!

      blöde Frage: unterstützt xmllint auch XML Schema ? Wenn ja, wie (dachte bisher dass nur DTD geht) ? Oder kennst Du da ein brauchbares vergleichbares tool ?

      Ich habe es nocht nicht probiert. Ich habe noch eine ältere libxml2 am laufen (könnte mal ein Update vertragen). Bei mir wird die Option

      --schema schema
             Use a W3C XML Schema file named schema for validation.

      nicht aufgeführt.

      Unter der Windows-Version wird mir die Option

      --schema schema : do validation against the WXS schema

      aufgelistet.

      Laut http://xmlsoft.org/xmllint.html kann xmllint gehen ein Schema validieren.

      Ja habe hier eine kleine Liste von XML-Parsern, die es können sollen.

      • ElectricXML
      • Lucid XML Toolkit
      • libxml2 (Tool: xmllint)
      • msxml 4 SP2
      • Xerces 2.3.0
      • XML4C 5.2

      MfG, André Laugks

      --
      L-Andre @ gmx.de