+ (PHP) Wer zum Teufel braucht schon XML?
fichtl
- meinung
0 Rolf Rost0 André Laugks0 Fichtl
0 shev0 Fichtl
Hallo Forum!
Das Thema hab ich ein bischen überspitzt formuliert sonst liest das wieder keiner ;-)
Ich hab mir heute mal ein bischen die neuen PHP5-XML-Funktionen angesehen (also SimpleXML, neue DOM-Implementierung) und bin, wie schon seit einiger Zeit, sehr von den ganzen XML-Zeug fasziniert.
Leider fallen mir absolut keine Anwendungsbeispiele ein die man nicht auch einfacher mittels DB (oder genauer MySQL) + PHP lösen kann.
Einige Beispiele:
Baum-Struktur einfach speichern bzw. darstellen oder ändern Mach ich derzeit mittels DB_NestedSet also über eine MySQL Datenbank. Das funktioniert sehr gut und ist auch schnell.
Daten-Austausch-Format Ich denke das ist ein sehr gutes Einsatzgebiet, allerdings die Daten die wir zur Zeit mit den Kunden austauschen (vor allem Produktlisten) kann man fast immer auch als CSV übertragen, hat auch den Vorteil das wirklich jedes System eine Export-Funktion dafür hat.
Inhalte speichern (Artikel, News, ...) Warum nicht weiter als ganz normale Tabellen-Zeile einer DB. Hat XML da Vorteile, zB.: bei der Volltextsuche, ...
Konfigurations-Dateien Sind derzeit in PHP geschrieben, müssen also nicht geparst werden und dürften schneller sein als wenn sie in XML wären.
Source-Format für verschiedene Ausgabe-Formate Werden bei uns zur Zeit nicht verwendet, also es gibt nur eine Ausgabe und das ist HTML, und die wird mit PHP und Smarty (Template-Engine) generiert, kann also auch einfach angepaßt werden.
Keine DB vorhanden Wäre bis von PHP5 noch ein gutes Argument gewesen aber jetzt gibts ja SQLite das dateibasierend ist.
Wer hat gute Argumente (Performance, Wartung, Zukunft, ...) für XML zu einem der obigen Themen bzw. kennt andere Anwendungsmöglichkeiten. Also wie gesagt ich würde XML schon gerne verwenden nur weiß ich einfach nicht wo es sinnvoll ist und wo die derzeitige Lösung sowieso schon gut genug ist.
Ich hoffe das sich jemand Zeit nimmt für eine Antwort.
Schöne Grüße Fichtl
hi fichtl,
- Daten-Austausch-Format
Ich denke das ist ein sehr gutes Einsatzgebiet, allerdings die Daten die wir zur Zeit mit den Kunden austauschen (vor allem Produktlisten) kann man fast immer auch als CSV übertragen, hat auch den Vorteil das wirklich jedes System eine Export-Funktion dafür hat.
Nun, CSV ist ein schönes META-Format, versagt jedoch, wenn Datenfelder Zeilenumbrüche haben und bei Blobfelder'n.
Funktioniert also nicht immer.
Gruss, Rolf
Hi,
Blobfelder'n.
Willkommen bei was ist das?!
[_] Orthografischer Segmentation Fault?
[_] Bayerisch-mundartlicher Ausdruck für "Blobfelder erstellen"?
[_] Bürokratisches Plural der für Hartz IV herangezogenen Grundstücksbesitztümer?
Wer es errät darf Rolf behalten! (Wenn er möchte)
Grüße aus Barsinghausen,
Fab*scnr*ian
Hi Fabian,
Blobfelder'n.
Willkommen bei was ist das?!
Lass kein guckn eyh. Blob heißt
Binary Large OBject (Datentyp)
[_] Orthografischer Segmentation Fault?
[_] Bayerisch-mundartlicher Ausdruck für "Blobfelder erstellen"?
[_] Bürokratisches Plural der für Hartz IV herangezogenen Grundstücksbesitztümer?
Nunja, du meinst vielleicht sowas:
GL: Gaiserslaudern
BS: Birmasens
...
;-)
Rolf
Hallo.
Blobfelder'n.
Willkommen bei was ist das?!
[_] Orthografischer Segmentation Fault?
[_] Bayerisch-mundartlicher Ausdruck für "Blobfelder erstellen"?
[_] Bürokratisches Plural der für Hartz IV herangezogenen Grundstücksbesitztümer?
[x] http://de.wikipedia.org/wiki/BLOB
MfG, at
Nun, CSV ist ein schönes META-Format, versagt jedoch, wenn Datenfelder Zeilenumbrüche haben und bei Blobfelder'n.
Das mit den Zeilenumbrüchen ist wahr aber eigentlich das Problem der Export-Funktion den die muß ja dafür sorgen das die Daten richtig aus dem System kommen und weiter verarbeitet werden können. Zudem bin ich jetzt schon einige Male auf Warenwirtschaftssysteme getroffen die sowieso keine Zeilenumbrüche können, da gibts dann einfach pro Zeile ein Datenfeld, also zB.: Text1, Text2, Text3, ..., Text10 und das selbe für Kurztext usw.
Das mit den BLOBs ist für Webanwendungen eigentlich unwichtig, denn eine solch große Datenmenge (zB.: 1000 Produkte, je Produkt 1 Bild) per Internet hochzuladen ist wohl eher nicht sinnvoll. Vor allem weil die ja meistens beim Kunden nicht in einem Webformat vorliegen und viele noch per ISDN unterwegs sind.
Lieber die Bilder auf CD schicken lassen, konvertieren, und selbst auf den Server spielen.
Danke für deine Antwort und schöne Grüße Fichtl
Hallo!
Ich hab mir heute mal ein bischen die neuen PHP5-XML-Funktionen angesehen (also SimpleXML, neue DOM-Implementierung) und bin, wie schon seit einiger Zeit, sehr von den ganzen XML-Zeug fasziniert.
Naja, SimpleXML soll eine Lösung zum schnellen auslesen von XML sein und nicht mehr. Zu der "neue DOM-Implementierung" ist IMHO "nichts" dazu gekommen, sondern wurde neu programmiert und glatt gezogen. Die DOM-Implementierung war immer eine Baustelle. Und jetzt kommt die libxml2 mit PHP5 automatisch mit, die die "DOM-Implementierung" und SimpleXML benötigt.
Leider fallen mir absolut keine Anwendungsbeispiele ein die man nicht auch einfacher mittels DB (oder genauer MySQL) + PHP lösen kann.
Dann hast Du XML nicht verstanden.
Welche Technologie Du verwendest, hängt von den Anforderungen ab. Nur weil XML in aller Munde ist, muß man es nicht überall verwenden.
Ich gehe mal nur auf einen Deiner Punkte ein. Den wie schon gesagt, hängt alles von den Anforderungen ab.
- Daten-Austausch-Format
Ich denke das ist ein sehr gutes Einsatzgebiet, allerdings die Daten die wir zur Zeit mit den Kunden austauschen (vor allem Produktlisten) kann man fast immer auch als CSV übertragen, hat auch den Vorteil das wirklich jedes System eine Export-Funktion dafür hat.
Hier sehe ich ganz klar XML. Mit einer DTD oder noch besser XML-Schema kann man die Struktur der Daten beschreiben. Ob die Daten richtig geliefert werden, kann man mit einem Validator checken.
Da fällt mir mal so spontan ein:
http://www.bmecat.org/deutsch/index.asp
http://www.eclass.de/
Die Kataloge sind mit XML-Schema oder DTD beschrieben.
Wenn ich es mir aussuchen könnte, ob ich Daten als CSV oder XML annehme, würde ich mir für XML entscheiden.
MfG, André Laugks
Naja, SimpleXML soll eine Lösung zum schnellen auslesen von XML sein und nicht mehr. Zu der "neue DOM-Implementierung" ist IMHO "nichts" dazu gekommen, sondern wurde neu programmiert und glatt gezogen.
Eben, die DOM-Implementierung entspricht jetzt dem W3C-Standard und kann dadurch besser eingesetzt werden. Siehe:
http://www.zend.com/php5/articles/php5-xmlphp.php
Dann hast Du XML nicht verstanden. Welche Technologie Du verwendest, hängt von den Anforderungen ab. Nur weil XML in aller Munde ist, muß man es nicht überall verwenden.
Hab ich ja gemeint, ich habs wohl nicht verstanden wo es besser sein soll, deshalb frage ich ja. Ich will es nicht überall verwenden sondern nur da wo es besser ist.
Hier sehe ich ganz klar XML. Mit einer DTD oder noch besser XML-Schema kann man die Struktur der Daten beschreiben. Ob die Daten richtig geliefert werden, kann man mit einem Validator checken.
Stimmt! Guter Punkt
Wenn ich es mir aussuchen könnte, ob ich Daten als CSV oder XML annehme, würde ich mir für XML entscheiden.
Bisher konnte ich es mir noch nicht aussuchen, kein Kunde konnte seine Produktdatenbank als XML liefern. Alles was die meistens schon leicht angestaubten Systeme können ist CSV. Die Zukunft wird da sicher noch einiges bringen.
Danke für die Antwort und schöne Grüße Fichtl
Hallo!
Bisher konnte ich es mir noch nicht aussuchen, kein Kunde konnte seine Produktdatenbank als XML liefern. Alles was die meistens schon leicht angestaubten Systeme können ist CSV. Die Zukunft wird da sicher noch einiges bringen.
Wenn die Kunden nur CSV bieten können, geht es eben nicht anders. Sicherlich werden Softwarelösungen in Zukunft XML-Exportmöglichkeiten anbieten.
Ich finde SVG ist eine gute XML-Lösung. Man kann Grafiken wie z.B. Diagramme ohne eine Grafik bibliothek (GD) generieren. Leider wird SVG von den Browsern noch nicht unterstützt, sondern nur durch ein Plugin.
MfG, André Laugks
"Leider fallen mir absolut keine Anwendungsbeispiele ein die man nicht auch einfacher mittels DB (oder genauer MySQL) + PHP lösen kann."
Ich weiss ja nicht warum man unbedingt PHP und MySQL brauchen _muss_
Auch nit warum unbedingt SQLite.
Aber ein Fakt für mich ist, das ich mit einfachen XML Dateien leicht arbeite, die grundlegende Infos beinhalten (lokale Sammlung an irgendwelchen Dateien zB), ohne den overload einer Datenbank mitschleppen zu müssen. Das ist in meinen Augen viel einfacher als sich mit MySQL rumschlagen zu müssen, und ich bin nicht einmal von PHP abhängig, da mittels XSL ein sehr nettes Display gemacht wird.
Hallo,
Ich weiss ja nicht warum man unbedingt PHP und MySQL brauchen muss Auch nit warum unbedingt SQLite.
Aber ein Fakt für mich ist, das ich mit einfachen XML Dateien leicht arbeite, die grundlegende Infos beinhalten (lokale Sammlung an irgendwelchen Dateien zB), ohne den overload einer Datenbank mitschleppen zu müssen. Das ist in meinen Augen viel einfacher als sich mit MySQL rumschlagen zu müssen, und ich bin nicht einmal von PHP abhängig, da mittels XSL ein sehr nettes Display gemacht wird.
Ich bin von meiner jetztigen Situation ausgegangen. Ich arbeite in einer Webfirma, wir machen CMS-Systeme, Webseiten, usw. Auf unseren Servern ist sowieso schon MySQL und PHP5 drauf, die Datenbanken kann ich einfach über Confixx und phpMyAdmin administrieren.
Wie gesagt wenn diese Voraussetzungen nicht wären dann ist man mit XML sicher nicht schlecht beraten. Aber bei diesen Voraussetzungen gibts da auch Anwendungsbeispiele wie man vernünftig XML bei Kundenprojekten einsetzen kann.
Danke und schöne Grüße Fichtl