Hi!
kann man, wenn man ein xml-file und dessen xsd-file hat, per PHP DOM herausfinden welche Elemente im xml Pflichtfelder sind? Und wenn ja, wie?
Ein XML-Schema-Dokument ist auch nichts weiter als ein XML-Dokument welches man parsen und auf das man XPath anwenden kann.
Klar. Aber Tagnamen können gleich sein. D.h. man kann wenn nach dem Tag "Bezeichnung" gesucht wird keinen xpath wie "//*/Bezeichnung" angeben.
Und wenn man den Pfad ganz ausschreibt sieht das so aus:
Für xsd:
/xs:schema/xs:complexType/xs:sequence/xs:element/xs:complexType/xs:sequence/xs:element/xs:complexType/xs:sequence/xs:element[@name="Bezeichnung"]
Für xml:
/meinNS:profil/meinNS:Titeldaten/meinNS:TK/meinNS:Bezeichnung
Wie soll man das vergleichen?
Ganz wild wird's dann noch, wenn man die XSD's auf mehrere Dateien aufgeteilt hat und mit Namespaces arbeitet.