Jörg Peschke: XML -> JavaScript (mit klickbaren Links, sorry!)

Beitrag lesen

Hallo,
Also, wenn ich Dich richtig verstehe, wird das ganze eine Art XML-Schnittstelle für Deine Datenbank, richtig?
Keine schlechte Idee...find Deinen Ansatz recht brauchbar.

Du hast von Templates für Ticker, Newsbereiche usw. gesprochen:
Falls diese Sachen auch auf einem FREMDEN Server laufen sollen, beachte, dass das mit klassischem AJAX mit XML dann nicht funktioniert!
Beispiel:
Ich will auf meiner Domain www.meine-domain.de einen Newsticker einbinden, der Deine XML-Schnittstelle anspricht und die XML-Daten ausliest und Anzeigt oder was auch immer damit tut. Dies geht nicht über Deinen Server, da streikt der Browser (Stichwort "Same origin Policy")
Ausweg wäre nur, dass auf MEINEM Server (www.meine-domain.de) ein Prozess (PHP/Perl-Script o.ä.) läuft, der DEINE XML-Datei abruft und sie dann an den Browser weiterreicht - was wieder vom Durchsatz her u.Umständen nicht so wünschenswert ist.

Solang aber auch die Seite, die auf Deine XML-Schnittstelle zugreift (also den AJAX-Request macht) auch auf Deiner Domain liegt, gibts keine Probleme.

Falls Du auf Deine Schnittstelle nur per JavaScript zugreifst, könntest Du Dir auch überlegen, statt XML JSON als Ausgabeformat zu verwenden. Hier sind die Bestimmungen für die "Same Origin Policy" auch nicht so streng, so dass Du mit ein bisschen Tricksen auch auf fremden Seiten Deine Inhalte einbinden kannst (z.b. mit Dynamic Script tags.

Vorteile von JSON gegenüber XML:

  • Weniger Overhead (=schnellere Datenübertragung)
  • JSON benutzt JavaScript-Objekte, die Du direkt in JavaScript nutzen kannst
      (kein mühsames Parsen des XML-DOM-Baumes).

Nachteile von JSON gegenüber XML:

  • nicht so standardisiert wie XML (gibt wenig Tools zum Validieren usw.),
      dadurch
  • fehleranfälliger
  • Unterstützung nicht durch jede Software/Programmiersprache

Fazit:
XML, wenn:

  • Zugriff auch per anderer Software oder andere Programmiersprachen möglich
      sein soll
  • Einfache/automatische Prüfung auf Validität gewährleistet werden soll/muss

JSON, wenn:

  • Zugriff ausschliesslich oder in erster Linie per JavaScript erfolgt
  • Same Origin Policy (s.o.) den Einsatz von XML verbietet.

Hope that helps,

Jörg