XML-Parsing durch DOM

oraclin25

Erfahrenes Mitglied
Mhhh... Dein letzter Beitrag bezieht sich, wenn ich nicht irre, auf DOM-Parser. Ist der Begriff DOM-Parser eigentlich ein Oberbegriff für XSLT-Parser? Denn, eigentlich habe ich es so verstanden, dass die Baumstruktur bzw. das Ergebniss eines DOM-Parsers nicht für die XSLT-Transformation konzipiiert ist. Wenn das so ist, dann gibt es zur XSLT-Transformation einen geeigneteren Parser. Ich nenne diesen mal als "XSLT-Parser", aber bestimmt nicht ein DOM-Parser.

Och je, hoffentlich ist mein Problem einigermaßen verständlich?

Schöne Grüße aus Rheinland,

Eure ratna
 

saftmeister

Nutze den Saft!
Absolut ja. Ich bin auf dem Gebiet auch kein Profi, aber das war ich bisher darüber weiß deckt sich mit deiner Aussage.

Also hier mal zwei Punkte:

1. Ein DOM-Parser lädt XML in programm-interne Strukturen (Klassen) für die programmatische Verarbeitung (um z.B. eine Ansicht über alle Kunden in einem Programm einzubauen, wobei die Kunden in einem XML-File stehen). Stelle dir eine Anwendung (GUI) vor, die eine Tabelle (nicht HTML!) beinhaltet, in der alle Datensätze angezeigt werden. Du kannst dann mit der Maus einen Datensatz doppelt anklicken und bekommst eine weitere GUI, in der du den Kunden bearbeiten kannst. Da programm-intern mit Objekten gearbeitet wird, die aus Klassen (Objekt-Schablone) erstellt wurden, benötigt es einen DOM-Parser, der das XML parst und daraus Objekte macht.

2. Ein XSLT-Processor hat einen XML-Parser (eine Art DOM-Parser, ist aber keiner) eingebaut. Der XSLT-Processor nimmt also das XML her und transformiert es anhand einer XSLT-Datei (welche die Anweisungen enthält wie zu transformieren ist) in das gewünschte Ausgabe-Format (z.B. HTML).
 

hela

Premium-User
Absolut ja. Ich bin auf dem Gebiet auch kein Profi, aber das war ich bisher darüber weiß deckt sich mit deiner Aussage...
Ich bin auch kein Profi, aber so absolut würde ich das nicht sehen. Das ist m.E. von der Umgebung abhängig. Leider habe ich zu wenig Kenntnisse in Java (letzten 10 Jahre nichts gemacht), aber in PHP kann man beispielsweise dem XSLT-Prozessor nur DOM-Dokumente anbieten, also mit der DOMDocument-Klasse geparste XML- oder HTML-Dokumente.
 

oraclin25

Erfahrenes Mitglied
Hallo saftmeister,

Danke für die ausführliche Erklärung. Ich bin ja froh, dass du meine problematik verstanden hast. Sorry, wenn ich zu detailliert nachgefragt habe, aber frau ist manchmal etwas kleinlich :)
Ich frage gerne solange nach bis die sache in meine logik passt.

Schöne Grüße aus Rheinland,

Eure Ratna
 

saftmeister

Nutze den Saft!
aber in PHP kann man beispielsweise dem XSLT-Prozessor nur DOM-Dokumente anbieten, also mit der DOMDocument-Klasse geparste XML- oder HTML-Dokumente.

Nunja, deswegen schrieb ich auch weiter oben, dass ein XSLT-Processor hoffentlich keinen DOM-Parser beinhaltet, was bei PHP anscheinend auch der Fall ist. Dort hat der XSLT-Processor offensichtlich gar keinen XML-Parser und es muss die DOMDocument-Klasse bzw. SimpleXML dafür herhalten ;-) Ob das performant ist, wage ich nicht zu beurteilen.

Ich frage gerne solange nach bis die sache in meine logik passt.

Oyoyo, was ist denn, wenn deine Logik nicht zur Sache passt? ;-)
 

oraclin25

Erfahrenes Mitglied
Hallo zusammen,

Wenn ich das richtig verstanden habe, hängt es also von der programmiersprache ab, was ein xslt-prozessor so alles kann bzw. was ein xslt-prozessor so beinhaltet? Wie sieht es zum beispiel unter java aus? Ist ein eigener Parser darunter im Umfang enthalten?

Vielen Dank.

Schöne Grüße aus Rheinland.

Eure Ratna