Hallo whine,
und ich versuche mittels XSLT die 179 von der 194 zu subtrahieren, die 194 von der 211 usw.
Meine zaghaften Versuche in XSLT:
<xsl:for-each select="M"> <xsl:variable name="vorg" select="number(preceding-sibling::GRT_G)"/> <xsl:variable name="grt_g" select="number(GRT_G)"/> <xsl:variable name="dif_grt" select="$grt_g - $vorg"/> <xsl:value-of select="dif_grt"/> </xsl:for-each>
Trotz number bekome ich in der Ausgabe NaN. Weiß jemand Rat?
<xsl:for-each select="M">
<xsl:variable name="vorg" select="number(preceding-sibling::M[1]/GRT_G)"/>
<xsl:variable name="grt_g" select="number(GRT_G)"/>
<xsl:variable name="dif_grt" select="$grt_g - $vorg"/>
<xsl:value-of select="$dif_grt"/>
</xsl:for-each>
Die Achse bezieht sich auf den M-Vorgänger und zwar den jeweils ersten, also M[1] und darunter liegt das gesuchte GRT_G. Bei der Ausgabe via xsl:value-of fehlte noch das $-Zeichen.
Bei der ersten Abfrage kommt dennoch NaN, da kein Vorgänger vorhanden ist, alternativ $vorg z. B. so aufbauen:
<xsl:variable name="vorg">
<xsl:choose>
<xsl:when test="preceding-sibling::M[1]/GRT_G">
<xsl:value-of select="number(preceding-sibling::M[1]/GRT_G)"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Grüße, Thomas