Problem mit XML
hubschraubaer
- xml
Hi!
Ich habe mich gerade etwas in XML eingearbeitet. Jetzt habe ich folgende Fehlermeldung:
XML-Verarbeitungsfehler: Syntax-Fehler
Adresse: http://127.0.0.1/xml/index.xml
Zeile Nr. 1, Spalte 26:
<?xml version="1.0" Test SYSTEM "test.dtd"?>
-------------------------^
Anscheinend ist der Fehler bei der Angabe "SYSTEM". Aber was ist falsch?
Vielen Dank für eure Antworten!
ciao, hubschraubaer
Hell-O!
XML-Verarbeitungsfehler: Syntax-Fehler
<?xml version="1.0" Test SYSTEM "test.dtd"?>
-------------------------^
Anscheinend ist der Fehler bei der Angabe "SYSTEM". Aber was ist falsch?
Du willst hier die XML-Deklaration mit der Doctype-Deklaration kombinieren. Das geht so nicht.
Siechfred
Hi!
Achso! Ok danke schön!
ciao, hubschraubaer
Hi!
Mir sind noch einige Fragen gekommen. Ist es sinnvoll eine Internetseite in XML zu schreiben? Es sind doch nicht alle Browser XML-fähig, oder? Was benötigt man um XSLT benutzen zu können? Benötigt man dazu den Server? Wenn ja, ist das bei XAMPP 1.5 mit dabei?
Entschuldigt die vlt. blöden Fragen! :-)
Vielen Dank für eure Antworten!
ciao, hubschraubaer
Hell-O!
Mir sind noch einige Fragen gekommen.
Kennst du das XML-Kapitel von SELFHTML?
Ist es sinnvoll eine Internetseite in XML zu schreiben?
M.E. grundsätzlich nicht, denn dafür gibt es HTML. Welche Technologie im Hintergrund (also auf dem Server) zum Einsatz kommt, hängt von der konkreten Situation ab.
Es sind doch nicht alle Browser XML-fähig, oder?
Die modernen Browser dürften kein Problem mit XML haben.
Was benötigt man um XSLT benutzen zu können?
Eine XML-Datei, eine zugehörige XSLT-Datei und einen Parser, der beides "zusammenführt".
Benötigt man dazu den Server?
Für die Transformation nicht zwingend, du kannst die XML-Datei an den Client ausliefern und hoffen, dass sich dort ein Browser befindet, der als Parser fungieren kann. Um solche Unwägbarkeiten auszuschließen, kannst du die XML-Datei auch auf dem Server parsen lassen und dem Client das Ergebnis als stinknormales HTML zukommen lassen.
Wenn ja, ist das bei XAMPP 1.5 mit dabei?
Keine Ahnung, schau dir mal die Beschreibung des für dein System zutreffenden Paketes an.
Siechfred
Hi!
Kennst du das XML-Kapitel von SELFHTML?
Durchaus!
Wenn ja, ist das bei XAMPP 1.5 mit dabei?
Keine Ahnung, schau dir mal die Beschreibung des für dein System zutreffenden Paketes an.
Da steht nüx. Aber Thomas hat gemeint, dass das auch mit PHP geht?!!?
Danke schön!
ciao, hubschraubaer
Hallo,
Mir sind noch einige Fragen gekommen. Ist es sinnvoll eine Internetseite in XML zu schreiben?
Das kommt darauf an. -->*
Es sind doch nicht alle Browser XML-fähig, oder?
* wenn du deine private Seite im XM schreibst und die XSL-Tranformation dem Browser überläßt, muss du davon ausgehen, dass nicht alle deine Besucher die Seite nützen können. Wenn dir das klar ist, kannst du schon sagen "so ist meine seite eben".
Für kommerzielle Seiten (ich will dabei nicht auf die Frage ob XML oder nicht eingehen) kommt, wenn dann nur die serverseitige XML/XSL-Transformation in Frage, was du natürlich aber auch für deine private Seite in Betracht ziehen kannst.
Was benötigt man um XSLT benutzen zu können? Benötigt man dazu den Server? Wenn ja, ist das bei XAMPP 1.5 mit dabei?
Entweder einen Browser der die XSL-Transformation unterstützt, oder den Server (mit entsprechenden Software ausgestattet) wo du diese Transformation machen kannst.
XAMPP: ja, das ist "dabei". Genau bedeutet das, dass dir die Werkzuege für die Transformation mitgegeben werden. Konkret: PHP.
Bei XAMPP für Linux hast du auch dabei mehrere Möglichkeiten: direkt mit PHP 5.x oder mit Sablotron. Was genau unter Windows in der 1.5.3a-Version dabei ist weiss ich nicht, aber PHP 5.x hast du auf alle fälle. (und als add-on kannst du dir Tomcat und Cocoon oder Pthon installieren) ... falls dir das alles etwas sagt.
Grüße
Thomas
Hi!
Was benötigt man um XSLT benutzen zu können? Benötigt man dazu den Server? Wenn ja, ist das bei XAMPP 1.5 mit dabei?
XAMPP: ja, das ist "dabei". Genau bedeutet das, dass dir die Werkzuege für die Transformation mitgegeben werden. Konkret: PHP.
Geht das mit Tomcat und so?
Bei XAMPP für Linux hast du auch dabei mehrere Möglichkeiten: direkt mit PHP 5.x oder mit Sablotron. Was genau unter Windows in der 1.5.3a-Version dabei ist weiss ich nicht, aber PHP 5.x hast du auf alle fälle. (und als add-on kannst du dir Tomcat und Cocoon oder Pthon installieren) ... falls dir das alles etwas sagt.
Was ist das alles? Sablotron, Tomcat, Cocoon? Und was macht das?
ciao, hubschraubaer
Hallo,
XAMPP: ja, das ist "dabei". Genau bedeutet das, dass dir die Werkzuege für die Transformation mitgegeben werden. Konkret: PHP.
Geht das mit Tomcat und so?
Ja, aber dürft etwas kompliziert werden. -->*
Bei XAMPP für Linux hast du auch dabei mehrere Möglichkeiten: direkt mit PHP 5.x oder mit Sablotron. Was genau unter Windows in der 1.5.3a-Version dabei ist weiss ich nicht, aber PHP 5.x hast du auf alle fälle. (und als add-on kannst du dir Tomcat und Cocoon oder Pthon installieren) ... falls dir das alles etwas sagt.
Was ist das alles? Sablotron, Tomcat, Cocoon? Und was macht das?
Sablotron: ist ein XSLT-Prozessor, der unter PHP 4.x eingesetzt werden kann um die XML/XSL-Transformation durchzuführen.
Tomcat: ist ein Servletkontainer um Java-Servlets und JSP-Seiten (Java Server Pages) am Server ausführen zu können.
Cocoon: ist ein so genannter Framework, damit kann man XML-basierte serverseitige Anwendungen erstellen.
* deshalb dürfte dir die XML/XSL-Transformation etwas komliziert werden, denn du müsstest entweder Servlets und JSPs schreiben oder dich in Cocoon einlesen. Beides wäre aber für deine Bedürnisse (ich gehe davon aus, dass du nicht wirklich so komplexe Sachen machen willst) ein ziemliches Overhead.
Das Einfachste ist: du nimmst dir die in PHP 5.x bereits vorhandene Funktionen und machst damit die Transformation. Im PHP-Handbuch findest du zu den XSL-Funktionen die Beschreibungen.
Ein einfaches, schnelles PHP-Beispiel gibst auch hier im Archiv unter: http://forum.de.selfhtml.org/archiv/2005/1/t99524/#m608066
Grüße
Thomas
Hi!
Danke schön!
ciao, hubschraubaer
Hi!
Mir sind noch einige Fragen gekommen. Ist es sinnvoll eine Internetseite in XML zu schreiben?
Meiner Meinung nach ist es dann sinvoll, wenn eine Seite quasi ein Gerüst darstellt, das immer mit unterschiedlichen Daten befüllt wird. Wenn du also eine ziemlich statische Homepage hast, dann bringt dir XML und XSLT nicht wirklich viel. Hast du aber Daten im Hintergrund die sich immer stark ändern je nachdem was der Benutzer tut und auswählt, dann finde ich es eine sehr gute Lösung.
Entschuldigt die vlt. blöden Fragen! :-)
Vielen Dank für eure Antworten!
ciao, hubschraubaer
lg
Thomas
Moin!
Hast du aber Daten im Hintergrund die sich immer stark ändern je nachdem was der Benutzer tut und auswählt, dann finde ich es eine sehr gute Lösung.
Allgemeinplatzalarm!
Wenn sich Daten "im Hintergrund" regelmäßig ändern, benötigt man in der Tat irgendeinen Mechanismus, um im Browser diese aktuellen Daten auch anzuzeigen.
Das ist aber keinesfalls ein Indiz für XML. Eher im Gegenteil ist es absolut unangebracht, die "Webseite in XML zu schreiben" - worunter ich verstehe, an den Browser XML auszuliefern. Denn: Der kleinste Teil der Browser versteht XML, es ist nicht immanent semantisch, und nur ein noch kleinerer Teil von Browsern versteht XSLT. Man ist also gezwungen, auf dem Server XSLT zu machen, und (X)HTML auszuliefern. Das kann man auf anderen Wegen (PHP & MySQL usw.) genauso gut hinkriegen, es hängt davon ab, was technisch günstig und verfügbar ist.
- Sven Rautenberg
Hello out there!
Der kleinste Teil der Browser versteht XML,
„Der kleinste Teil“? Welche Browser können XML-Dokumente mit zugehörigen Stylesheets (CSS) nicht darstellen?
[XML] es ist nicht immanent semantisch,
HTML auch nicht. Dafür bietet XML aber die Möglichkeit, den Dokumentinhalt semantisch auszuzeichnen, was HTML nicht tut.
und nur ein noch kleinerer Teil von Browsern versteht XSLT.
„Ein noch kleinerer Teil“? Ich würde denken, die Mehrheit tut das.
Man ist also gezwungen, auf dem Server XSLT zu machen,
Nicht, wenn es CSS auch tut.
See ya up the road,
Gunnar
Hi!
Eure Diskusion hat mich ziemlich verwirrt??! Gibt es zu meinen Fragen irgendeine Seite (z.B. vom w3c) auf der steht, welcher Browser was kann?
Der kleinste Teil der Browser versteht XML,
„Der kleinste Teil“? Welche Browser können XML-Dokumente mit zugehörigen Stylesheets (CSS) nicht darstellen?
Welche Browser können XML-Dokumente mit CSS _wirklich_ nicht darstellen?
und nur ein noch kleinerer Teil von Browsern versteht XSLT.
„Ein noch kleinerer Teil“? Ich würde denken, die Mehrheit tut das.
Und welche Browser können XSLT darstellen?
Man ist also gezwungen, auf dem Server XSLT zu machen,
Nicht, wenn es CSS auch tut.
Wann "tut" es CSS? Oder was ist der Vorteil con XSLT?
Vielen Dank für eure Antworten!
ciao, und liebe Grüße vom leicht verwirrten hubschraubaer
Hallo,
Eure Diskusion hat mich ziemlich verwirrt??! Gibt es zu meinen Fragen irgendeine Seite (z.B. vom w3c) auf der steht, welcher Browser was kann?
Bezieht sich nicht direkt auf Browser, sondern auf deren Layout-Engine:
http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(XML)
(Welcher Browser welche Layout-Engin verwendet findest du unter: http://en.wikipedia.org/wiki/Comparison_of_layout_engines)
Der kleinste Teil der Browser versteht XML,
„Der kleinste Teil“? Welche Browser können XML-Dokumente mit zugehörigen Stylesheets (CSS) nicht darstellen?
Welche Browser können XML-Dokumente mit CSS _wirklich_ nicht darstellen?
http://de.selfhtml.org/xml/darstellung/css.htm#fahrplanbeispiel --> beachte die Browser-Icons)
und nur ein noch kleinerer Teil von Browsern versteht XSLT.
„Ein noch kleinerer Teil“? Ich würde denken, die Mehrheit tut das.
Und welche Browser können XSLT darstellen?
IE ab v.5, Opera ab v.9, Firefox, Netscape ab v.6, Safari ab 1.3. (Ob Konqueror das jetzt schon kann weiss ich nicht und im Moment bin ich wirklich zu bequem um den Monitor umzustöpseln und den anderen Rechner zu starten)
Man ist also gezwungen, auf dem Server XSLT zu machen,
Nicht, wenn es CSS auch tut.
Wann "tut" es CSS? Oder was ist der Vorteil con XSLT?
Weh tut es. Manchmal zumindest. (CSS ist nicht immer geeignet um XML-Daten darzustellen.)
ciao, und liebe Grüße vom leicht verwirrten hubschraubaer
Ist es dann ein verhubschraubaer? ;-)
Grüße
Thomas
Hello out there!
Und welche Browser können XSLT darstellen?
IE ab v.5,
Nicht alle. Frühe Versionen des 5.0 können es nicht oder nur so rudimentäres XSLT, dass es nicht zu gebrauchen ist.
Wann "tut" es CSS?
Weh tut es. Manchmal zumindest. (CSS ist nicht immer geeignet um XML-Daten darzustellen.)
Wenn die XML-Struktur genügend Tiefe bietet, sollten genug Formatierungsmöglichkeiten vorhanden sein.
BTW, kommt CSS mit XML-Namensräumen klar?
See ya up the road,
Gunnar
Hi!
Und welche Browser können XSLT darstellen?
IE ab v.5,Nicht alle. Frühe Versionen des 5.0 können es nicht oder nur so rudimentäres XSLT, dass es nicht zu gebrauchen ist.
Ok! Danke schön für deine Antwort!
ciao, hubschraubaer
Hallo,
BTW, kommt CSS mit XML-Namensräumen klar?
Nein, der Doppelpunkt darin ist ja für pseudo-Klassen und -Elemente.
Ein foo:bar (für foo:bar) beduetet CSS nichts bzw. nur eine Unbekannte pseudo-Klasse.
Grüße
Thomas
Hello out there!
BTW, kommt CSS mit XML-Namensräumen klar?
Nein, der Doppelpunkt darin ist ja für pseudo-Klassen und -Elemente.
Klingt plausibel. ;-)
Ein foo:bar (für foo:bar) beduetet CSS nichts bzw. nur eine Unbekannte pseudo-Klasse.
Und ein unbekanntes Element 'foo'.
Auch 'foo\3A bar' als Selektor zeigt keine Wirkung (FF 1.5.0.4).
Allerdings 'bar'; die Regeln gelten dann aber für alle 'bar'-Elemente aus allen Namensräumen.
See ya up the road,
Gunnar
Hallo,
Ein foo:bar (für foo:bar) beduetet CSS nichts bzw. nur eine Unbekannte pseudo-Klasse.
Und ein unbekanntes Element 'foo'.
Nun ja, Elemente aus einem XML sind generell dem Browser unbekannt.
Auch 'foo\3A bar' als Selektor zeigt keine Wirkung (FF 1.5.0.4).
Allerdings 'bar'; die Regeln gelten dann aber für alle 'bar'-Elemente aus allen Namensräumen.
Das kann ich nicht nachvollziehen. (getestet am http://de.selfhtml.org/xml/darstellung/css.htm#fahrplanbeispiel
<foo:fahrplan xmlns:foo="http://example.org/foo">
foo:bahnhof
foo:nameFrankfurt HBF</foo:name>
foo:ereignis
foo:abfahrt
usw.
Da zeigt allein der Klassen-Selektor eine Wirkung (IE und FF), bei Opera 9.01 ist es umgekehrt, er stellt das XML so dar wie das original Bsp. hat aber keine Ahnung von Klassen.
Grüße
Thomas
Hello out there!
Allerdings 'bar'; die Regeln gelten dann aber für alle 'bar'-Elemente aus allen Namensräumen.
Das kann ich nicht nachvollziehen. (getestet am http://de.selfhtml.org/xml/darstellung/css.htm#fahrplanbeispiel
Da zeigt allein der Klassen-Selektor eine Wirkung (IE und FF)
Das kann ich wiederum nicht nachvollziehen.
IE kommt mit den Namensräumen nicht klar, ja. Der Klassen-Selektor zeigt Wirkung, wenn das class-Attribut ohne Namensraum ist:
http://gunnarbittersmann.de/2006/xml-css-20060802/fahrplan-ns.xml
Gehört dieses auch einem Namensraum an, ist auch der Klassen-Selektor wirkungslos:
http://gunnarbittersmann.de/2006/xml-css-20060802/fahrplan-ns-class.xml
Firefox (gerade getestet mit 1.0.7) zeigt beides genauso an wie auch ohne Namensraum:
http://gunnarbittersmann.de/2006/xml-css-20060802/fahrplan.xml
See ya up the road,
Gunnar
Hallo,
Das kann ich wiederum nicht nachvollziehen.
Komisch, ich habe gestern lokal bei mir getestet und FF zeigte das was der IE.
Nun ja, ist ja auch egal.
Grüße
Thomas
Hallo Thomas,
http://de.selfhtml.org/xml/darstellung/css.htm#fahrplanbeispiel
bei Opera 9.01 ist es umgekehrt, er stellt das XML so dar wie das original Bsp. hat aber keine Ahnung von Klassen.
Bei http://de.selfhtml.org/xml/darstellung/anzeige/fahrplan.xml schmiert mein 9.01 (build 8552) ab. Kann das jemand verifizieren?
Grüße
Roland
Hallo,
http://de.selfhtml.org/xml/darstellung/css.htm#fahrplanbeispiel
bei Opera 9.01 ist es umgekehrt, er stellt das XML so dar wie das original Bsp. hat aber keine Ahnung von Klassen.
Bei http://de.selfhtml.org/xml/darstellung/anzeige/fahrplan.xml schmiert mein 9.01 (build 8552) ab. Kann das jemand verifizieren?
Ich nicht: sowohl im Büro als auch zu Hause ist ein frisch installierter 9.01
(Build 8552) auf dem Rechner. Beide Zeigen die Datei ohne Probleme an.
Grüße
Thomas
Hallo Thomas.
Bei http://de.selfhtml.org/xml/darstellung/anzeige/fahrplan.xml schmiert mein 9.01 (build 8552) ab. Kann das jemand verifizieren?
Ich nicht: sowohl im Büro als auch zu Hause ist ein frisch installierter 9.01
(Build 8552) auf dem Rechner. Beide Zeigen die Datei ohne Probleme an.
Hier ebenso. (Build 400, entspricht Build 8552)
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo Thomas und Ashura,
Bei http://de.selfhtml.org/xml/darstellung/anzeige/fahrplan.xml schmiert mein 9.01 (build 8552) ab. Kann das jemand verifizieren?
Ich nicht: sowohl im Büro als auch zu Hause ist ein frisch installierter 9.01
(Build 8552) auf dem Rechner. Beide Zeigen die Datei ohne Probleme an.Hier ebenso. (Build 400, entspricht Build 8552)
Danke für den Test. Dann verzichte ich auf den Bugtracker und wühle mich durch meine Konfigurationsdateien.
Grüße
Roland
Hallo Gunnar, Thomas,
BTW, kommt CSS mit XML-Namensräumen klar?
Nein, der Doppelpunkt darin ist ja für pseudo-Klassen und -Elemente.
Deswegen gibt es ja auch eine andere Syntax mit CSS 3 – vergessen?
@namespace tim url(tag:tepasse.org,2006-08-02,namespaces-in-css);
@namespace xhtml url(http://www.w3.org/1999/xhtml)
tim|element {
/* ... */
}
xhtml|div {
/* .. */
}
*|a {
/* .. */
}
tim|* {
/* .. */
}
Siehe CSS 3: Selectors.
Tim
Hallo,
Siehe CSS 3: Selectors.
Und natürlich auch CSS 3: Syntax.
Und in 4 oder 5 Jahren wird auch etwas davon implementiert sein.
Das Kasperltheater CSS3 kenne ich und deshalb lasse ich es sein was es ist: ein Working Draft.
Grüße
Thomas
Hallo Thomas,
Und in 4 oder 5 Jahren wird auch etwas davon implementiert sein.
Ist es doch schon. Zumindest in recht aktuellen Browsern. In kontrollierten Umgebungen spricht meiner Meinung nach nichts dagegen, das einzusetzen. Du wirst Dich erinnern, dass ich beim Infrastruktur-Gedankenspiel neulich damit etwas rumgekaspert habe.
Tim
Hallo Tim,
Und in 4 oder 5 Jahren wird auch etwas davon implementiert sein.
Ist es doch schon. Zumindest in recht aktuellen Browsern.
Du hast natürlich Recht, dass einiges schon Implementiert ist, aber ...
In kontrollierten Umgebungen spricht meiner Meinung nach nichts dagegen, das einzusetzen.
... das ist selten der Fall, wenn man für's "Internet" schreibt und ein homogenes Intranet hat selten so hohe Anforderungen, dass solche Techniken eingesetzt werden müssten.
Du wirst Dich erinnern, dass ich beim Infrastruktur-Gedankenspiel neulich damit etwas rumgekaspert habe.
Ja, aber gerade dein Gedankenspiel zeigte, wie unzuverlässig die Sachen teilweise sind, wenn es um die praktische Umsetzung geht. Da braucht man Hicks und Hacks und Knochen aus Gummi, um die nötigen Verrenkungen zu schaffen. ;-)
Grüße
Thomas
Hallo Ing ... Gun ... Tim,
Siehe CSS 3: Selectors.
Und natürlich auch CSS 3: Syntax.
Und natürlich auch CSS 3: Namespace Enhancements (Proposal).
Gerade eben gefunden. Und ausprobiert: Firefox 1.0.7 kann’s noch nicht. Zuhause mal den 1.5.0.4 testen.
See ya up the road,
Gunnar
Hello out there!
Zuhause mal den 1.5.0.4 testen.
Kann er: http://gunnarbittersmann.de/2006/xmlns-css-20060802.xml (CSS)
See ya up the road,
Gunnar
Hallo,
Zuhause mal den 1.5.0.4 testen.
Kann er: http://gunnarbittersmann.de/2006/xmlns-css-20060802.xml (CSS)
Eigentlich müssen das auch schon ältere Versionen können (guckst du mal in
den userChrome-example.css. Mozilla 1.6 mit Gecko/20040113 kann die Datei auch richtig darstellen.
Grüße
Thomas
Hello out there!
BTW, kommt CSS mit XML-Namensräumen klar?
Nein, der Doppelpunkt darin ist ja für pseudo-Klassen und -Elemente.
Deshalb auch der '|'. ;-) [CSS3-NAMESPACE]
See ya up the road,
Gunnar
Hi!
Danke für eure Antworten!
und liebe Grüße vom leicht verwirrten hubschraubaer
Ist es dann ein verhubschraubaer? ;-)
verwirrbaer wäre auch möglich. Aber ich tendiere eher zu verhubschraubaer.
;-)
ciao, hubschraubaer