[xsl] een variable doorgeven aan het xsl document

Pagina: 1
Acties:

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 18-05 08:56
Hallo allemaal,

Ik wil graag een variabele doorgeven in een xsl bestand dmv een formulier waarin de mogelijke keuzes van de variabele zijn weergegeven.

Dus als je bijvoorbeeld de naam piet selecteert uit een drop down menu, dat dan de adresgegevens van piet worden weergegeven. En als de variabele leeg is, dan word er alleen het formulier weergegeven.

Ik heb me suf gezocht naar het gebruik van variabelen in xsl, maar weinig gevonden en wat ik gevonden had had geen betrekking op mijn probleem.

Is dit uberhaupt wel mogelijk met enkel xsl?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Yep :) Het is zeker wel mogelijk.. Eens even kijken of ik ergens nog wat code heb liggen.

[edit]

een klein stukje:

code:
1
2
3
4
5
6
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" indent="yes"/>

<xsl:param name="file" select="'default value'"/>


Toepassing in hetzelfde xlst bestand:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<xsl:template match="antwoorden">
    <h3>Antwoorden</h3>
    <table border="0" width="90%">
        <xsl:for-each select="antwoord">
            <tr>
                <td width="30">
                    <xsl:if test="url">
                        <xsl:element name="a">
                            <xsl:attribute name="href"><xsl:value-of select="url"/></xsl:attribute>
                            <xsl:attribute name="target">_blank</xsl:attribute>
                            <xsl:attribute name="title">Uitleg over dit antwoord</xsl:attribute>
                            [img]"images/help24_h.bmp"[/img]
                        </xsl:element>
                    </xsl:if>
                </td>
                <td>
                    <xsl:element name="a">
                        <xsl:attribute name="href">controller?command=showboom&amp;file=<xsl:value-of select="$file"/>&amp;antwoordid=<xsl:value-of select="@id"/></xsl:attribute>
                        <xsl:attribute name="title">Een antwoord op een vraag.</xsl:attribute>
                        <xsl:value-of select="tekst"/>
                    </xsl:element>
                </td>
            </tr>
        </xsl:for-each>
    </table>
</xsl:template>


ff zoeken naar: $file

[ Voor 88% gewijzigd door Alarmnummer op 23-12-2004 22:38 ]


  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 18-05 08:56
Dat zou fijn zijn, ik begin er hoofdpijn van te krijgen... ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

dossiewossie schreef op donderdag 23 december 2004 @ 22:36:
Dat zou fijn zijn, ik begin er hoofdpijn van te krijgen... ;)
XML is uitstekend geschikt om hoofdpijn van te krijgen.

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 18-05 08:56
Hehehe, thnx!

Ik zal naar je code kijken, hopen dat het lukt.

Anders ga ik wel even verder aan de design kant, dat werkt meer rustgevend...... :)

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Met bijvoorbeeld een xsl processor is het mogelijk om vanuit een programmeertaal een variabele mee te geven aan het XSLT bestand. Je kunt dan het xsl:param element vullen met een waarde. Ik weet niet of je dit helpt.

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 18-05 08:56
Nou, tis voor een vage school opdracht, en ik denk dat het moet werken zonder server side scripting.

Dus ik ga het nog maar even proberen zonder... Ben nog aan het puzzelen...

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Als je geen server-side scripting hebt, kun je javascript gebruiken om de XML en XSLT documenten in te laden, dus je koppelt de stylesheet niet meer via een PI (processing instruction, je vind hem vaak op de 2e regel van het XML document) aan het XML document, maar laadt ze beide in JS DOMs. Dan kun je ook parameters zetten, waarna je de boel transformeert en het resultaat in je HTML document stopt. De implementatie verschilt wel per browser. Kijk voor Internet Explorer hier, en voor Mozilla hier.
Pagina: 1