Hallo
ich überführe ein XML-Format (rss) per XSL in ein anderes (prop)
dabei möchte ich aus z.b. <pubDate>Jun 19, 2008</pubDate>
eine anderes Zeitformat machen
nämlich etwa : <StartDate>2008-06-19T18:00:02-04:00</StartDate>
Der Zeit-anteil ist dabei unwichtig - es kommt aufs datum an.
Kann ich das Datum direkt umrechnen?
mein ansatz war nun folgender:
<xsl:variable name="start_tag"><xsl:value-of select="substring(pubDate, 5, 2)" /></xsl:variable>
<xsl:variable name="start_monat"><xsl:value-of select="substring(pubDate, 1, 3)" /></xsl:variable>
<xsl:variable name="start_jahr"><xsl:value-of select="substring(pubDate, 9, 4)" /></xsl:variable>
<xsl:if test="$start_monat='Jan'"><xsl:variable name="start_monat_z">01</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Feb'"><xsl:variable name="start_monat_z">02</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Mar'"><xsl:variable name="start_monat_z">03</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Apr'"><xsl:variable name="start_monat_z">04</xsl:variable></xsl:if>
<xsl:if test="$start_monat='May'"><xsl:variable name="start_monat_z">05</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Jun'"><xsl:variable name="start_monat_z">06</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Jul'"><xsl:variable name="start_monat_z">07</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Aug'"><xsl:variable name="start_monat_z">08</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Sep'"><xsl:variable name="start_monat_z">09</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Oct'"><xsl:variable name="start_monat_z">10</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Nov'"><xsl:variable name="start_monat_z">11</xsl:variable></xsl:if>
<xsl:if test="$start_monat='Dec'"><xsl:variable name="start_monat_z">12</xsl:variable></xsl:if>
<xsl:variable name="start_date"><xsl:value-of select="$start_jahr" />-<xsl:value-of select="$start_monat_z" />-<xsl:value-of select="$start_tag" />T18:00:02-04:00</xsl:variable>
und startdate gebe ich dann halt aus.
das funkltioniert aber wohl nicht. Die xsl-transformation bricht dann ab.
wo liegt da mein fehler?
Ohne diesen Abschnitt läufts durch.
PHP5
$xslDom = new DOMDocument;
$xslDom->load($xsl_path);
# XML-Daten laden
$xmlDom = new DOMDocument;
$xmlDom->load($source_xml_path);
$xsl = new XsltProcessor;
$xsl->importStyleSheet($xslDom);
if ($strFileCont = $xsl->transformToXML($xmlDom)) {
Stil