...men jeg har ikke testet. Dette lar seg jo ikke gjøre i normale språk som Java og Fortran, men XSL/T er nå heller ikke noe 'normalt' språk, så kanskje?
Min kode ser nu således ud: <xsl:for-each select="Document/Field"> <xsl:choose> <xsl:when test="@ID!='Styrdata'"> <!-- Any field but Styrdata --> <xsl:if test="."> <!-- Only if any data at all --> <DIV STYLE="background-color:gray; color:white; padding:2px; text-align:center"> <xsl:value-of select="${@ID}"/> </DIV> <xsl:apply-templates select="."/> </xsl:if> </xsl:when> <xsl:otherwise/> </xsl:choose> </xsl:for-each>
Jeg tror egentlig du er på villspor, variable som du ikke kjenner navnet på, er litt langt hjemmefra.
Hvis du kan endre i XML'en, tror jeg det - i stedet for variable - skulle være noe som <titler> <titel id="a">En titel</titel> <titel id="b">En titel til</titel> </titler> Det er en struktur som det er lettere å plukke bestemte verdier ut fra, når du ikke kjenner navnet på forhånd. (Og vanskeligere enn en variabel hvis du kjenner navnet, men det gjør du jo ikke.)
Det er ikke sådan, at jeg ikke kender dem. Der er 20 forskellige som jeg så har defineret i variable. Det er blot ikke alle, der altid forekommer i XML dokumenterne (ca. 100.000). jeg kunne selvfølgelig lave en choose og derefter 20 when. Det er blot en lidt kluntet løsning. Jeg ville gerne, hvis en variant af "${@ID}" kunne komme til at virke.
Synes godt om
Slettet bruger
22. februar 2002 - 16:41#6
En løsning var at inkludere variablerne i bunden af XML-filerne istedet, f.eks: <?xml ...?> <RodElement> <Document /> <Document /> ... <Mapped-Variables> <variable name="TITEL">Forskriftens titel</variable> ... </Mapped-Variables> </RodElement>
- det kan gøres inden transformeringen udføres i f.eks. ASP/PHP etc.
I dit XSLT skal du så istedet for: <xsl:value-of select="${@ID}"/>
Takker begge for jeres indsats! Da begge løsningsmodeller er ens, fordeler jeg point imellem jer. Hlsen Olé
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.