mati: xml auslesen und .hol Datei zum download anbieten

jaaa, das ist mal was ganz neues (hoffe ich, über die SUFU habe ich nichts gefunden ;)

Hallo Leute,

hat jemand schonmal probiert aus einer .XML Datei über PHP eine .hol zu prasen?! Wenn ja mit welchem Erfolg, und der Bitte um einen kurzen Denkanstoß wie ich anfangen kann ;)

Für alle die es interessiert, ich will aus einer .XML in der Termine stehen eine .hol (mit der können in Outlook Feiertage eingelesen werden)generieren. Diese soll dann automatisch zum Download angeboten werden.

Mit leichter Vorfreude auf das was gleich passieren wird verbleibe ich mfG

mati

  1. Hallo mati,

    [...] aus einer .XML in der Termine stehen eine .hol (mit der können in Outlook Feiertage eingelesen werden)generieren. Diese soll dann automatisch zum Download angeboten werden.

    das hört sich nach einer Aufgabe für XSLT an.

    Man kann vermutlich auch mit PHP SimpleXml schnell eine Lösung
    zusammenstecken.

    Poste doch mal einen relevanten Ausschnitt Deiner XML-Quelldatei und das entsprechende Zielformat.

    Der download beschränkt sich ja im wesentlichen darauf entsprechende HTTP-Header zu schicken.

    Viele Grüße

    Stefan

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hallo Stefan

      Poste doch mal einen relevanten Ausschnitt Deiner XML-Quelldatei und das entsprechende Zielformat.

      In der XML steht in etwa folgendes:

      <?xml version="1.0" standalone="yes"?>
      <xml>
      <title>Termine im Januar</title>
      <termin>
        <anlass>Schützenfest</anlass>
        <ort>Hemhofen</ort>
        <datum>12.01.2008</datum>
      </termin>
      <termin>
        <anlass>Mal richtig saufen gehen</anlass>
        <ort>Stammkneipe</ort>
        <datum>24.01.2008</datum>
      </termin>
      </xml>

      Die .hol Datei die aus PHP heraus erstellt werden soll, muss dann so aussehen.

      [Zusatztermine] 2
      Schützenfest in Hemhofen, 2008/01/12
      Mal wieder richtig saufen gehen in Stammkneipe, 2008/01/24

      hier noch ein paar infos zu .hol Datein im Allgemeinen http://office.microsoft.com/de-de/outlook/HP012304061031.aspx

      Danke und Grüße
      mati

      1. Hallo mati,

        In der XML steht in etwa folgendes:

        <?xml version="1.0" standalone="yes"?>
        <xml>

        Elementnamen dürfen nicht mit xml beginnen! Ich verwende mal termine. Ein XSLT-Stylesheet kann ansatzweise so aussehen:

        <?xml version="1.0" encoding="ISO-8859-1"?>  
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
          <xsl:output method="text" encoding="ISO-8859-1"/>  
          
          <xsl:template match="termine">[Zusatztermine] <xsl:value-of select="count(termin)"/><xsl:text>&#xA;</xsl:text>  
            <xsl:apply-templates select="termin"/>  
          </xsl:template>  
          
          <xsl:template match="termin">  
            <xsl:value-of select="anlass"/><xsl:text> in </xsl:text><xsl:value-of select="ort"/><xsl:text>, </xsl:text><xsl:value-of select="datum"/><xsl:text>&#xA;</xsl:text>  
          </xsl:template>  
          
        </xsl:stylesheet>
        

        Im Ergebnis steht noch das Ausgangsdatumsformat. Dieses kann noch mittels substring()-Funktion in die gewünschte Ausgabe umgesetzt werden. Die XSLT-Funktionen beschreibt das Manual. Der erhaltene Text ist dann mittels passendem Content-Type-header auszugeben.

        Grüße,
        Thomas