xml parser
-
hi!
hab mal eine frage...was ist ein xml parser?
ne normale xml datei wird ja als textformat abgespeichert zb.:<?xml version="1.0"?> <skriptum titel="Java"> <autor> <vorname>Alfred</vorname> <famname>Nussbaumer</famname> </autor> <kategorie>Beispielsammlung</kategorie> <hersteller>LaTeX</hersteller> <version> <nummer>1.0</nummer> <datum>2003-02-10</datum> </version> </skriptum>
ein xml parser liest eine xmldatei ein und hält die informationen in einer internen struktur, die den inhalt repräsentiert? ein Parser kann dann von xml mit xslt (ist das die art der konvertierung?) in xhtml kovertieren? welche formate gibt es da noch?
cu
-
Ein parser allgemein tut nichts weiter, als aus text gewisse Informationen zu friemeln. Dazu ist dann noch ne Syntaxyprüfung und Fehlererkennung sinnvoll...
-
Ein Xml Parser parst die Xml Datei und speichert sie im Speicher, so dass man auf diesen Zugreifen kan un den Inhalt der Datei in eigene Daten-Strukturen "umwandeln" kann. Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste. Xml Parser ist z.B. xercec, für XSLT bruachst du was anderes, z.B. Xalan (xml.apache.org).
Wenn du eine Datei (XHTML) als name.xhtml oder name.xml speicherst, benutzt ein Browser z.B. nciht mehr die eingebaute HTML Engine, sondern eigenen XML-Parser.
Beantwortet?
Hope so
-
lazydot schrieb:
Ein Xml Parser parst die Xml Datei und speichert sie im Speicher, so dass man auf diesen Zugreifen kan un den Inhalt der Datei in eigene Daten-Strukturen "umwandeln" kann.
Ich denke DocJunioRs Beschreibung trifft's schon eher, in Bezug auf XML einfach mal an SAX denken.
lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
-
finix schrieb:
Ich denke DocJunioRs Beschreibung trifft's schon eher, in Bezug auf XML einfach mal an SAX denken.
Klar trifft die Beschreibung zu, auch wenn sie bissel allgemein ist.
Beim Parsen gibts es zwei Möglichkeiten, DOM-Parser/SAX-Parser, im Prinzip bei allen guten Parsern, dass sind ja nur 2 unterschiediche Arten, wie man parst, mehr nciht.
DOM basierte Parser liest alles ein, dann ist halt alles im Speicher, wie das intern geregelt ist, ob er tatsächlich _alles_ einliest oder nur nach aussen das erscheinen lässt ist nicht das Bier des Benutzers des Parsers/ der Parser-Bibliothek.
Ein SAX-Parser ist wie ein Cursor (z.B: Datenbanken, oder Datei).
Er liset nur das, was man im sagt ein, befindet sich an einer bestimmten Position in dem DOMTree der Xml-Datei und man kann ihn halt von dieser Position wie auch ein Cursor bewegen (first, last, next, previous..)finix schrieb:
lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
Da bin ich mal gespannt
Was ist denn bitte Deiner Meinung nach die Validierung?
Und wie nennt man im fachlichen "Erkennung von Sysntaxfehlern" bez. XML?
Wie nennst du den Vorgang, wenn man eine Xml-Datei gegen ihr DTD oder gegen das Schema validiert? Oder was ist denn, wenn man die XML-Datei auf die reine "wellformed" prüft?Schreibe mal eine XHTML Datei mit einfachem Text, mach dort einen Fehler und speichere das als HTML und ein mal als XML ab.
Beschreib mal das, was ein Browser macht, wenn du dort diese XHTML Datei einmal mit .html und ein mal mit .xml/.xhtml eingibst.Und danke im Voraus auf die Antworten, ich warte
-
lazydot schrieb:
finix schrieb:
Ich denke DocJunioRs Beschreibung trifft's schon eher, in Bezug auf XML einfach mal an SAX denken.
Klar trifft die Beschreibung zu, auch wenn sie bissel allgemein ist.
Naja, deine war irgendwie ähnlich allgemein, bloß dass die Formulierung "speichert sie im Speicher" aufgetaucht ist.
lazydot schrieb:
Beim Parsen gibts es zwei Möglichkeiten, DOM-Parser/SAX-Parser, im Prinzip bei allen guten Parsern, dass sind ja nur 2 unterschiediche Arten, wie man parst, mehr nciht.
Prinzipiell schon; wobei ich eher sagen würde "unterschiedliche Arten der (im weitesten Sinne) Ergebnispräsentation".
Das heißt aber nicht dass du dir nicht deinen eigenen XML-Parser stricken kannst der weder SAX- noch DOM-basiert ist.lazydot schrieb:
finix schrieb:
lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
Da bin ich mal gespannt
Was ist denn bitte Deiner Meinung nach die Validierung?
Und wie nennt man im fachlichen "Erkennung von Sysntaxfehlern" bez. XML?
Wie nennst du den Vorgang, wenn man eine Xml-Datei gegen ihr DTD oder gegen das Schema validiert? Oder was ist denn, wenn man die XML-Datei auf die reine "wellformed" prüft?Es erstaunt mich dass dich mein Einwand überrascht obwohl du den Unterschied zwischen "valid" und "wellformed" (und "malformed") XML-Dokumenten zu kennen scheinst!?
lazydot schrieb:
Schreibe mal eine XHTML Datei mit einfachem Text, mach dort einen Fehler und speichere das als HTML und ein mal als XML ab.
Beschreib mal das, was ein Browser macht, wenn du dort diese XHTML Datei einmal mit .html und ein mal mit .xml/.xhtml eingibst.Woher hast du das? "XML für (absolute) Dummies"?
lazydot schrieb:
Und danke im Voraus auf die Antworten, ich warte
Gern geschehn
-
Ok, ich versuch es noch mal. Lass uns zu meinen Fragen zurückkommen. Findest du es nicht irgendwie seltsamm, dass keine einzige davon, die ich an dich gestellt habe, beantwortet wurde?
Beantworte mir doch bitte zumindest diese Frage hier:
finix schrieb:
lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
Ich bin mir gar nicht sicher, sondern das ist ein Fakt.
Was ist den bitte "Validierung" finix? Nur eine Frage.
-
lazydot schrieb:
Was ist den bitte "Validierung" finix? Nur eine Frage.
Einiges mehr als bloße Syntaxprüfung. Zum Beispiel könnte man in einer Validierung prüfen ob angegebene Werte in den dafür vorgesehenen Wertebereichen liegen und überhaupt Sinn machen.
-
lazydot schrieb:
Ok, ich versuch es noch mal. Lass uns zu meinen Fragen zurückkommen. Findest du es nicht irgendwie seltsamm, dass keine einzige davon, die ich an dich gestellt habe, beantwortet wurde?
Ich finde zumindest seltsam dass du diese Behauptung aufstellst. Soweit ich das überschauen kann habe ich keinen deiner Punkte außer Acht gelassen, ganz im Gegensatz zu dir.
lazydot schrieb:
Beantworte mir doch bitte zumindest diese Frage hier:
finix schrieb:
lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
Ich bin mir gar nicht sicher, sondern das ist ein Fakt.
Hm. Du bist dir nicht sicher? Obwohl es vermeintlich Fakt ist? Oder willst du damit ausdrücken dass du dir selber nicht sicher bist was du eigentlich meinst?
lazydot schrieb:
Was ist den bitte "Validierung" finix? Nur eine Frage.
Siehe Wallis z.B. Beispiel.
Oder noch viel simpler: Die Überprüfung ob ein bestimmtes Element überhaupt vorkommen darf, gewisse Attribute haben darf oder muss, wie oft als Kind welchen Elements, etc.
Ich hoffe du siehst ein dass dies etwas mehr ist als eine Datei einzulesen und dabei zu schauen ob sie auch tatsächlich der XML Syntax entspricht.
-
Hmm.. wir drehen uns einfach im Kreis.
Es geht oder sagen wir ging, denn ich hoffe, es war der letzte oder vorletze Posting, was schon ohne hin mit der urspünglichen Frage ncihts mehr zu tun hat, ja nur um eine Behauptung:lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Im Kontext, was ein Parser ist und was er zu Verfügung stellt.
Und um diese Gegenfrage:
finix schrieb:
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
Ja, ich bin mir sicher, denn Validierung ist mehr als nur die Erkennung von Syntax-Fehlern. Was unter anderem Walli auch geschrieben hat.
Aus diesem Grund habe ich diese Fragen an dich finix gestellt:
lazydot schrieb:
Was ist denn bitte Deiner Meinung nach die Validierung?
Und wie nennt man im fachlichen "Erkennung von Sysntaxfehlern" bez. XML?
Wie nennst du den Vorgang, wenn man eine Xml-Datei gegen ihr DTD oder gegen das Schema validiert? Oder was ist denn, wenn man die XML-Datei auf die reine "wellformed" prüft?Und diese "Antwort" bekommen:
finix schrieb:
Es erstaunt mich dass dich mein Einwand überrascht obwohl du den Unterschied zwischen "valid" und "wellformed" (und "malformed") XML-Dokumenten zu kennen scheinst!?
Das ist ja alles zusammen die Validierung. Oder ist deine Antwort hier auch: "im Prinzip ja, aber nein ist das eigentlich nicht"?
Oder geht es hier wirklich nur um: "du kannst mich mal, ich habe sowieso Recht" Antworten?
lazydot schrieb:
Schreibe mal eine XHTML Datei mit einfachem Text, mach dort einen Fehler und speichere das als HTML und ein mal als XML ab.
Beschreib mal das, was ein Browser macht, wenn du dort diese XHTML Datei einmal mit .html und ein mal mit .xml/.xhtml eingibst.finix schrieb:
Woher hast du das? "XML für (absolute) Dummies"?
Eine gute Art Fragen zu beantworten. Meintest du damit, das wäre die Frage, die von mir nicht beantwortetet wurde oder eine von den vielen dieser Art, die von dir gestellt wurden?
Diese eine war auch nur die Frage, deren Antwort so was wie: "..bei der Datei mit .xhtml Endung, wird der Browser sie zuerst mit eigenem eingebauten XML-Parser valiedieren.." ist.
Ein Browser validiert eine XHTML-Datei (== XML-Datei), bevor er sie anzeigt, wenn er einen einzigen Fehler feststellt, bringt er ja nur die erste Fehlermeldung raus. Ob das Syntyxfehler ist, oder ein Verstoss gegen die DTD, die im Header der XHTML-Datei steht, oder dass er die DTD nicht mal findet, ist irrelevant.War das soooo schwierig diese eine Wort Valiedirung? Soll man da überhaupt noch was dazu sagen? Ich finde nicht wirklich.
P.S: ich will hier nicht ein flamethread auslösen, aber es ja wir im Kindergarten.
-
OK, trotz des Wahrheitsgehalts deiner Aussage
lazydot schrieb:
Hmm.. wir drehen uns einfach im Kreis.
mach ich mir nochmal schnell die Mühe.
lazydot schrieb:
Es geht oder sagen wir ging, denn ich hoffe, es war der letzte oder vorletze Posting, was schon ohne hin mit der urspünglichen Frage ncihts mehr zu tun hat, ja nur um eine Behauptung:
lazydot schrieb:
Die Validierungs-Funktionalität ist immer dabei, zumindest minimalste.
Im Kontext, was ein Parser ist und was er zu Verfügung stellt.
Und um diese Gegenfrage:
finix schrieb:
Bist du dir sicher dass du nicht im Grunde "Erkennung von XML Syntaxfehlern" schreiben wolltest? Validierung ist was anderes...
Ja, ich bin mir sicher, denn Validierung ist mehr als nur die Erkennung von Syntax-Fehlern. Was unter anderem Walli auch geschrieben hat.
Nichts anderes habe ich behauptet - Validierung geht über Syntaxüberprüfung hinaus.
lazydot schrieb:
Aus diesem Grund habe ich diese Fragen an dich finix gestellt:
lazydot schrieb:
Was ist denn bitte Deiner Meinung nach die Validierung?
Und wie nennt man im fachlichen "Erkennung von Sysntaxfehlern" bez. XML?
Wie nennst du den Vorgang, wenn man eine Xml-Datei gegen ihr DTD oder gegen das Schema validiert? Oder was ist denn, wenn man die XML-Datei auf die reine "wellformed" prüft?Und diese "Antwort" bekommen:
finix schrieb:
Es erstaunt mich dass dich mein Einwand überrascht obwohl du den Unterschied zwischen "valid" und "wellformed" (und "malformed") XML-Dokumenten zu kennen scheinst!?
Das ist ja alles zusammen die Validierung.
Ein "wellformed" XML-Dokument ist nicht zwangsläufig "valid".
lazydot schrieb:
Oder ist deine Antwort hier auch: "im Prinzip ja, aber nein ist das eigentlich nicht"?
Das Stichwort implizite Aussage - in Bezug auf meine, ich zitiere (fett), "Antwort" - ist schon mal nicht schlecht, jedoch habe ich was du mir unterschieben willst nie gesagt/geschrieben/angedeutet/behauptet.
lazydot schrieb:
lazydot schrieb:
Schreibe mal eine XHTML Datei mit einfachem Text, mach dort einen Fehler und speichere das als HTML und ein mal als XML ab.
Beschreib mal das, was ein Browser macht, wenn du dort diese XHTML Datei einmal mit .html und ein mal mit .xml/.xhtml eingibst.finix schrieb:
Woher hast du das? "XML für (absolute) Dummies"?
Eine gute Art Fragen zu beantworten. Meintest du damit, das wäre die Frage, die von mir nicht beantwortetet wurde oder eine von den vielen dieser Art, die von dir gestellt wurden?
Ich bin mir nicht wirklich im klaren darüber was du meinst dass ich gemeint hätte, aber wenn du in der Tat davon ausgehst dass ich a) das Ergebnis deines vorgeschlagen Experiments nicht vorraussehen könnte oder b) erwartest dass ich es tatsächlich durchführe solltest du dir noch mal ein paar Gedanken machen.
lazydot schrieb:
Diese eine war auch nur die Frage, deren Antwort so was wie: "..bei der Datei mit .xhtml Endung, wird der Browser sie zuerst mit eigenem eingebauten XML-Parser valiedieren.." ist.
Ein Browser validiert eine XHTML-Datei (== XML-Datei), bevor er sie anzeigt, wenn er einen einzigen Fehler feststellt, bringt er ja nur die erste Fehlermeldung raus. Ob das Syntyxfehler ist, oder ein Verstoss gegen die DTD, die im Header der XHTML-Datei steht, oder dass er die DTD nicht mal findet, ist irrelevant.Herzlichen Dank dass du nochmal erläutert hast wie eine XHTML-Datei in Verbindung mit unserem Thema XML steht. Wärst du dennoch so nett darüber hinaus die Freundlichkeit aufbringen mir zu zeigen wo ich dieses Szenario in Abrede gestellt habe?
lazydot schrieb:
War das soooo schwierig diese eine Wort Valiedirung? Soll man da überhaupt noch was dazu sagen? Ich finde nicht wirklich.
Du wirst lachen, aber ich habe so langsam wirklich den Eindruck du solltest dich mit diesem Thema noch einmal Gründlich auseinander setzen.
lazydot schrieb:
P.S: ich will hier nicht ein flamethread auslösen, aber es ja wir im Kindergarten.
Sehr löblich.
Ich empfehle dir einfach mal google anzuwerfen und nach einem "non-validating XML-Parser" zu suchen. Solltest du wider Erwarten keinen finden kannst du dir einfach selber einen schreiben.
Für den Fall dass dies alles nichts bringen sollte, hier ein Preview auf mein Follow-Up:finix? schrieb:
Aus welchem vermeintlichen Grund (zum selber ausdenken, scheint ja deine Spezialität zu sein) auch immer:
"Du kannst mich mal!" Verschwende nicht meine Zeit.
-
Validierung in 3 Worten: Überprüfung der Eingabe!
Und Eingabe kann alles sein: programmieren, Datei, Musik, Video usw.....
EDIT: Ah ja, nochwas: Überprüfung der Eingabe aber nicht der Bedeutung (Syntax und nicht Sematik)
-
Na geht doch.