enemigo Skrevet 2. juni 2005 Del Skrevet 2. juni 2005 Det første jeg gjører å definere en variabel utenfor templaten, dette blir vel en global variabel selv om variabel-taggen ikke omslutter hele templaten. <xsl:variable name="sjekk">nx</xsl:variable> <xsl:template match="/"> Inne i koden ønsker jeg å gjøre noe så enkelt som å sette ny verdi til variabelen. Poenget er at jeg skal sjekke om verdien "href" i xml-fila er lik href-verdien fra forrige gjennomløp. Jeg definerer derfor først sjekk-variabelen til en tøyseverdi "nx", ettersom sjekken ikke kan slå til på første gjennomløp. Deretter vil jeg sette nåværende href-verdi inn i sjek-variabelen. Dette er vanligvis enkel programmering, men ikke i XSL... XSL fila, variabelen aa er der for å være sikker på at jeg sammenligner med verdien av href og ikke strengen href: <xsl:for-each select="root/photograph"> <xsl:variable name="aa"><xsl:value-of select="href" /></xsl:variable> <xsl:if test="$sjekk = $aa"> <tr> <td> <xsl:value-of select="href" /> </td> <td> <xsl:value-of select="kn" /> </td> <td> <xsl:value-of select="$sjekk" /> <xsl:variable name="sjekk"><xsl:value-of select="href" /></xsl:variable> </td> <td> <xsl:value-of select="$aa" /> </td> </tr> <xsl:value-of select="$sjekk" /> </xsl:if> <xsl:if test="$sjekk != $aa"> <tr> <td> <xsl:value-of select="//root/photograph/href[current()]" /> </td> <td> her er ting (<xsl:copy-of select="href" />) </td> </tr> <xsl:value-of select="$aa" /> <xsl:variable name="sjekk"><xsl:value-of select="$aa" /></xsl:variable> <xsl:value-of select="$sjekk" /> </xsl:if> </xsl:for-each> Og xml-fila: <root> <photograph> <href>headquarters</href> <kn>hh</kn> <size width="300"/> </photograph> <photograph> <href>headquarters</href> <kn>hkugl</kn> <size width="100"/> </photograph> <photograph> <href>hk</href> <kn>utd</kn> <size width="100"/> </photograph> </root> Jeg får ikke satt ny verdi til sjekk-variabelen. Jeg finner ingen syntaks for å endre verdi på eksisterende variabel. Slik som det er nå vil programmet skrive ut den lokale sjekk-variabelen. Jeg greier ikke først skrive ut tøyseverdien også foregående href-verdi fra xml dokumentet. Noen som har noe tips, dette skal ikke være så vanskelig! Mvh Knut Lenke til kommentar
enemigo Skrevet 3. juni 2005 Forfatter Del Skrevet 3. juni 2005 Fant til slutt ut av det. A variable in XSLT has more in common with a variable in algebra than with a variable in a typical programming language. It's a name that represents a value and, within a particular application of a template, it will never represent any other value -- it can't be reset using anything described in the XSLT Recommendation. Jeg er ikke så glad i XSL nå!!! K Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå