XSD aus XML auslesen

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

  • XSD aus XML auslesen

    Hallo Zusammen,

    ich möchte XML-Dateien per XSD validieren. Das ganze funktioniert, wenn ich im vorhinein weiß, welches XSD auf die XML passt.

    Das Problem ist, es werden mir XML-Dateien zur Verfügung gestellt, von denen ich nicht weiß, welche das nun ist (zuordnung zur xsd).
    Aber im ersten Element ist ja das Attribut z.b. xsi:schemaLocation="http://www.seite.de seite.xsd" angegeben, diese Information muss ich nun auslesen, aber nur wie?!

    Gruß
    Dominik

  • #2
    Die PHP Document Object Model Extension bietet dafür die passenden Objekte und Methoden an. Ich würde das komplette XML Konstrukt über das DOMDocument Object einlesen und die entsprechenden Attribute der Elemente dann dadurch ermitteln.

    Durch das Einlesen der XML Datei stehen Dir alle Informationen in einem Objekt zur Verfügung.
    MM Newmedia | MeinBlog

    Kommentar


    • #3
      Danke für deinen Hinweis. Ich habe mich jetzt so langsam mit dem XML DOM angefreundet und bin nun diesen Schritt weiter gekommen.

      Aber nun kommen einige Fehler

      es schaut so aus, als ob meine XSD und die XML nicht zusammenspielen (obwohl eigentlich zusammengehörig)

      Vielleicht kann mir jemand einen Tipp geben warum da was nicht passt:

      die XSD
      Code:
      <?xml version="1.0" encoding="iso-8859-1"?>
      <!-- edited with XMLSPY v2004 rel. 3 (http://www.xmlspy.com)  -->
      <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
      	<!--
      und die XML
      Code:
      <?xml version="1.0" encoding="UTF-8"?>
      <imo:openimmo xmlns:imo="http://www.openimmo.de" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openimmo.de openimmo.xsd">
      wenn ich das jetzt mit
      PHP-Code:
      $xml->schemaValidate() 
      laufen lasse, spukt mir DOM einen Fehler aus:
      Code:
      Error 1845: Element '{http://www.openimmo.de}openimmo': No matching global declaration available for the validation root. in file:
      Viele Grüße
      Dominik

      Kommentar


      • #4
        Bei OpenImmo gibt es für einen kleinen Betrag umfangreiches Material zur Nutzung der Schnittstelle.

        Kommentar


        • #5
          Hallo,

          in der Tat, es gibt Beispiele gegen Gebühr. Allerdings nehme ich fast an dass dort nichts validiert wird. Da das aktuelle Schema wohl einen Fehler enthält...
          Und da mir der ganze Verein etwas komisch vorkommt habe ich kein Interesse dort Mitglied zu werden oder auch nur etwas zu investieren. Zwischenzeitlich ist ja eine Alternative zu diesem "Standard" im Entstehen.

          Gruß

          Kommentar


          • #6
            Nur wenn man es nutzen möchte führt da kein Weg vorbei.

            Kommentar

            Lädt...
            X