Xsd Datei Attribute auslesen

Hallo,

suche den ganzen verdammten Tag nach einer brauchbaren Lösung oder Ansatz wie ich aus einer xsd Datei Werte auslesen und weiter verarbeiten kann.

Bei einer einfachen xml Datei würde es in etwa nachfolgend funktionieren:

$response = file_get_contents($request); oder auch simplexml_load_string
echo $response->Wert;

Wie auch immer, eine xsd läßt sich so nicht auswerten, hat jemand einen Vorschlag?

Grüße aus Berlin

  1. was hat das mit OXID zu tun?
  2. google liefert so einige Ansätze, schon etwas davon versucht?

Hallo,

mit Oxid hat das erst mal nicht soviel zu tun aber 1. ist das ein Forum für Entwickler ergo sollte ich thematisch nicht allzu falsch liegen und 2. ist es im Zusammenhang neuer Produkte für unseren Shop und einer unserer Zulieferer bietet nun mal leider nur diese Datei an.

Ja und was Google betrifft so habe ich den gestrigen Tag damit verbracht ein paar Lösungen zu finden. Leider war es in keinster Weise ein hilfreicher Tag, daher meine Frage hier in der Hoffnung, dass jemand damit Erfahrungen sammeln konnte.

Grüße aus Berlin

Ich gehe davon aus, dass Du mit xsd eine XML Schema-Datei meinst. XML Schemas sind strukturell selbst XML-Dateien, die halt einer besonderen Grammatik unterliegen - genauso, wie z. B. eine SVG-Datei oder eine MathML-Datei die jeweilige Grammatik erfüllen muss, damit es funktioniert. Du kannst also prinzipiell eine XSD-Datei wie eine XML-Datei behandeln, wenn Du weißt, wie die Grammatik aussieht und wo was im Elementebaum zu finden ist.

Allerdings ist ein XML Schema dazu gedacht, XML-Dokumente dagegen zu validieren, also zu prüfen, erfüllt das XML-Dokument die in dem Schema beschriebene Grammatik oder nicht. In Deinem Fall kommt mir zum ersten Mal die Idee unter, ein XML Schema für etwas anderes zu verwenden (jedenfalls hast Du nichts von Validierung gesagt :wink: ).

Die Erfahrung hat mich gelehrt, wenn man sehr viele Verrenkungen machen muss, wie es hier bei Dir der Fall zu sein scheint, hakt es noch irgendwo an der Grundidee. Als Bild zum besseren Verständnis: Man kann prinzipiell einen Nagel mit der Ming-Vase des Erbonkels in Wand kloppen. Das geht unter Umständen vielleicht sogar gut. Aber es wäre doch der bessere Plan, erst mal nachzudenken und sich danach einen Hammer zu organisieren :wink: Meine Empfehlung wäre also, nochmal einen gedanklichen Schritt zurückzutreten und über Deine Strategie nachzudenken. Wenn Du Dich nicht völlig in die Ecke gepinselt hast, bin ich davon überzeugt, dass sich eine einfachere Lösung finden lässt :slight_smile:

Und ob ein OXID-Forum der richtige Ort für eine solche Frage ist, nur weil Du damit zufällig etwas für einen OXID-Shop machen willst, halte ich auch nicht für zwingend :smiley: Das hat was von der Idee, in einem Forum für Backrezepte eine Frage zum Fliesenlegen zu stellen - denn schließlich soll auf dem Küchenboden später mal der Backofen stehen :wink:

Bis dann,

Henning

Hallo Henning,

ich gehe mal auf deine seltsamen Vergleiche nicht weiter darauf ein :rolleyes: und hoffe, dass irgendwann deine Kinder nicht allzu wissbegierig sind, wäre ja schade, wenn du sie jedesmal erst im Baumarkt oder zum Bäcker schicken musst. :wink:

Für die, die es interessiert, so ist der richtige Ansatz xpath().

Grüße aus Berlin

es reicht ja schon, wenn seine Kinder bei Halsschmerzen nicht zuerst zum Tierarzt laufen… weil Tierarzt ja auch ein Arzt ist… :smiley:

weia - an die vielen Auto-Vergleiche hab ich mich ja schon gewöhnt, aber die hier hatten ja schon fast literarischen Wert :slight_smile:

Ich würde mal den Datenliefere kontaktieren und fragen, warum er Daten in einer Schemadatei liefert und nicht als XML. Ansonsten gibts ja auch diverse Converter, das wäre vermutlich einfacher als die komplette Verarbeitungslogik umzubauen.

http://xmlgrid.net/genXml.html

Hallo Ray,

ob das literarischen Wert hat, da hab ich meine Zweifel. :slight_smile: Und wenn ich ehrlich bin, an die wirklich sehr vielen Metaphern und klugen Worte im Netz, hab ich kein Bock mehr. Soviel Oberschlaues, da verwundert es auch nicht mehr, dass unsere Elite nicht mehr selbst promoviert, denn die schlauen Worte stehen ja schon zu Hauf im Netz.

Wie auch immer, ich gebe dir vollkommen recht, warum stellen die nicht reines xml zur Verfügung. Ja ich könnte jetzt auch schlaue Worte posten aber das spare ich mir und nehme es so hin, vermutlich würden sie eh nicht für einen Kunden alles abändern, ist letztlich auch egal weil ich es mittlerweile umgesetzt habe.

Grüße aus Berlin

PS. Es gibt immer jemand der schlauer ist, dann sollte er sich aber auch so verhalten!

Ich schieß jetzt einfach mal so in’s Blaue - aber falls sich das nicht ordentlich per SimpleXML oder DOM verarbeiten lässt dann gibt es meistens 2 Gründe:

  • Die Datei ist kein valides XML (müsste Sie aber sein)
  • Du achtest nicht auf die namespaces die in der Datei vorkommen, das ist ein ekelhaftes Thema das in allen Programmiersprachen nervt.

Warum man eine Schema Datei für den Datenimport raushaut ist mir auch noch unklar :smiley: