XML mit typo3 ausgeben

„Lass‘ uns doch eine App machen“ – so fing das ganze einmal an. Gesagt getan. Es wurde drauf los programmiert. Wir wussten, wie die App aussehen sollte und auch was sie können sollte: Sie sollte in etwa so aussehen, wie die vom größten Konkurrenten – nur besser. Die Daten sollten aus einem vorhandene Datenpool kommen, der in einer MySQL Datenbank vor lag.

Die App war nach einer „gewissen“ Entwicklungszeit dann auch so gut wie fertig, es fehlten nur noch die Daten. Diese waren noch nicht eingefügt worden, da der Entwickler – wie das ja oft der Fall ist, entweder mitten in einem Projekt war, oder einfach keine freie Kapazität hatte, sich um eine Schnittstelle zu kümmern.

Es musste also eine andere Lösung her. Als ich mein Problem einem Freund erzählte bekam ich nur ein kurzes „typo3″ kann doch auch XML ausspucken – ich hab das mal bei einem Flash Projekt gemacht“ zu hören. Gesagt, getan – und so fing das ganze Projekt an, das sich in den letzten zwei Jahren zu einem beachtlichen Framework entwickelt hat.

Das schöne daran ist, dass keine einzige Zeile Code in php geschrieben werden muss, sondern dass die ganze Ausgabe über typoscript gesteuert werden kann. XML eignet sich hervorragend dazu, weil es in Prinzip aus lauter Wraps besteht.

Das Grundgerüst sieht in etwa so aus:

page = PAGE
   page {
   typeNum = 111
   config.disableAllHeaderCode = 1
   config.additionalHeaders = Content-type:text/xml
   config.xhtml_cleaning = 0

   10 = TEXT
   10.value = <?xml&nbsp;version="1.0"&nbsp;encoding="utf-8"&nbsp;standalone="yes"?>
  &nbsp;20&nbsp;=&nbsp;COA
   20&nbsp;{
      stdWrap.dataWrap&nbsp;=&nbsp;<root>|</root>
      10&nbsp;< temp.your_wrapped_items
   }

Damit kann man dann wunderbaren XML-Code ausgeben um diesen wiederum in iPhone Anwendungen lesen zu können.

Worauf ihr unbedingt achten müsst: UTF-8 ist zwingend erforderlich, sonst machen die Parser auf dem iPhone nur Zicken.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert