Raspu: String durch "-" Trennen, Datum

Beitrag lesen

Bitte schön:

<?xml version="1.0" encoding="UTF-8"?>  
<xsl:stylesheet version="2.0" xmlns="http://earth.google.com/kml/2.1"  
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
 xmlns:ont="http://www.w3.org/1999/XSL/ont"  
 xmlns:rdf="http://www.w3.org/1999/XSL/rdf"  
 xmlns:fn="http://www.w3.org/2005/xpath-functions"  
 xmlns:fb="http://www.w3.org/23"  
 xmlns:xs="http://www.w3.org/2001/XMLSchema"  
 xmlns:tm="http://www.datenverdrahten.de/tm">  
  <xsl:output method="xml" indent="yes"/>  
  <xsl:template match="/">  
   <kml>  
    <Document>  
     <visibility>0</visibility>  
     <open>1</open>  
     <xsl:apply-templates/>  
    </Document>  
   </kml>  
  </xsl:template>  
  <xsl:template match="ontratedDisease">  
   <xsl:for-each select="ontDisease">  
    <xsl:variable name="heute" select="xs:date(fn:current-date())"/>  
     <Folder>  
      <visibility>0</visibility>  
      <open>0</open>  
      <name><xsl:value-of select="ontdiseaseName"/></name>  
      <xsl:for-each select="onthasVierWRating/ontVierWRating">  
       <xsl:variable name="vergangen" select="./ontlastTimeDiagnosed"/>  
	<xsl:variable name="Tag">  
  	 <xsl:choose>  
	  <xsl:when test="substring($vergangen,2,1)='.'">  
	   0<xsl:value-of select="normalize-  
                                  space(substring($vergangen,1,1))"/>  
	  </xsl:when>  
	  <xsl:otherwise> <!--test="substring(vergangen,1,1)='2'">-->  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,1,2))"/>  
	  </xsl:otherwise>  
	 </xsl:choose>  
	</xsl:variable>  
  
	<xsl:variable name="Monat">  
	 <xsl:choose>  
	  <xsl:when test="substring($vergangen,2,1)='.' and  
                          substring($vergangen,4,1)='.'">  
	   0<xsl:value-of select="normalize-  
                                  space(substring($vergangen,3,1))"/>  
	  </xsl:when>  
	  <xsl:when test="substring($vergangen,2,1)='.'">  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,3,2))"/>  
	  </xsl:when>  
	  <xsl:when test="substring($vergangen,3,1)='.' and  
                         substring($vergangen,5,1)='.'">  
	   0<xsl:value-of select="normalize-  
                                  space(substring($vergangen,4,1))"/>  
	  </xsl:when>  
	  <xsl:otherwise>  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,4,2))"/>  
	  </xsl:otherwise>  
	 </xsl:choose>  
        </xsl:variable>  
					  
	<xsl:variable name="Jahr">  
	 <xsl:choose>  
	  <xsl:when test="substring($vergangen,2,1)='.' and  
               substring($vergangen,4,1)='.'">  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,5,4))"/>  
	  </xsl:when>  
	  <xsl:when test="substring($vergangen,2,1)='.'">  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,6,4))"/>  
	  </xsl:when>  
	  <xsl:when test="substring($vergangen,3,1)='.' and  
                          substring($vergangen,5,1)='.'">  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,6,4))"/>  
	  </xsl:when>  
	  <xsl:otherwise>  
	   <xsl:value-of select="normalize-  
                                 space(substring($vergangen,7,4))"/>  
	  </xsl:otherwise>  
	 </xsl:choose>  
	</xsl:variable>  
  
	<xsl:variable name="Datum" select="concat(normalize-space($Jahr),  
               ('-'),normalize-space($Monat),('-'),normalize-space($Tag))"/>  
	<xsl:variable name="Datum1" select="$Datum"/>  
	Tag:<xsl:value-of select="$Tag"/>  
	Monat:<xsl:value-of select="$Monat"/>  
	Jahr:<xsl:value-of select="$Jahr"/>  
	heute:<xsl:value-of select="(xs:date($heute))"/>

Die nächste Zeile funktioniert jetzt aber nicht. Da er es nicht als Datum erkennt.~~~xml

Differenz der Tage <xsl:value-of select="fn:days-  

from-duration($heute - xs:date($Datum))"/>
    </xsl:for-each>
   </Folder>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

Zu der XML Datei gibt es nicht viel zu sagen.  
Der auszulesende Wert liegt in dieversen Unterordnern die an der Struktur der XSL erkennbar sein sollten:  
 <ontlastTimeDiagnosed rdf:datatype="&amp;xsd;  
  date">22.5.2006</ontlastTimeDiagnosed>  
  
Wenn ihr noch was wissen wollt. Immer her mit den Fragen.  
  
Raspu