Hallo,
Zie http://www.xs4all.nl/~steen4/thailand/ als voorbeeld!
Ik ben bezig met een website voor mijn reis door Thailand, die bestaat uit een frameset.
De basis is een XML bestand met news/item elementen, die een attribuut id en binnenelementen story, date, pictureURL hebben. Het gaat om dit stukje in de XSLT. Ik wil voor ieder (nieuws)item de id als variabele 'artikel' zetten, dus bijv. 1, 2, 3 etc. Of Artikel1, Artikel2, Artikel3. In principe doe hij dat nu ook.
Als linkjes in mijn menu gebruik ik een input veld zonder background (leuk om mee te experimenteren). Hij moet een aantal van deze input 'buttons' c.q. links genereren, waar ik wil dat hij iedere link laat verwijzen naar een div met een attribuut 1,2,3 etc of Artikel1, Artikel2, etc in het hoofdframe. Met deze code dus:
<xsl:attribute name="onclick">show(parent.mainFrame,'{$artikel}')</xsl:attribute>
Als ik het een vaste naam geef, bijv. 'MyArticle' en die DIV zo noem in het hoofdframe dan pakt hij het perect. Maar zoals het op er op deze manier staat werkt het niet
ook niet zonder { } accolades.
Menu XSLT code
Main page XSLT code
Ik heb hier even de DIV statisch de id artikel 1 toegewezen, waarin hij de inhoud van alle artikelen selecteert. Dit wordt later omgebouwd zodat deze div binnen de <for:each> zit en daar de id uit de XML gehaald wordt.
Hoe kan ik dus goed de XSLT-variable in het javascript onclick:show(parent.mainFrame,'{$artikel}') gebruiken?
Zie http://www.xs4all.nl/~steen4/thailand/ als voorbeeld!
Ik ben bezig met een website voor mijn reis door Thailand, die bestaat uit een frameset.
De basis is een XML bestand met news/item elementen, die een attribuut id en binnenelementen story, date, pictureURL hebben. Het gaat om dit stukje in de XSLT. Ik wil voor ieder (nieuws)item de id als variabele 'artikel' zetten, dus bijv. 1, 2, 3 etc. Of Artikel1, Artikel2, Artikel3. In principe doe hij dat nu ook.
Als linkjes in mijn menu gebruik ik een input veld zonder background (leuk om mee te experimenteren). Hij moet een aantal van deze input 'buttons' c.q. links genereren, waar ik wil dat hij iedere link laat verwijzen naar een div met een attribuut 1,2,3 etc of Artikel1, Artikel2, etc in het hoofdframe. Met deze code dus:
<xsl:attribute name="onclick">show(parent.mainFrame,'{$artikel}')</xsl:attribute>
Als ik het een vaste naam geef, bijv. 'MyArticle' en die DIV zo noem in het hoofdframe dan pakt hij het perect. Maar zoals het op er op deze manier staat werkt het niet
Menu XSLT code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <div class="menu">
<form>
<xsl:for-each select="page/site/news/item">
<xsl:variable name="artikel" select="@id"/>
<input>
<xsl:attribute name="type">submit</xsl:attribute>
<xsl:attribute name="id">submitB</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="date"/><xsl:value-of select="title"/></xsl:attribute>
<xsl:attribute name="onclick">show(parent.mainFrame,'{$artikel}')</xsl:attribute>
</input>
<br/>
</xsl:for-each>
</form>
</div> |
Main page XSLT code
code:
1
2
3
4
5
6
7
8
9
| <div class="backgroundmain">
<div class="main">
<div class="myStyle" id="artikel1">
<xsl:for-each select="/site/news/item">
<xsl:value-of select="story"/>
</xsl:for-each>
</div>
</div>
</div> |
Ik heb hier even de DIV statisch de id artikel 1 toegewezen, waarin hij de inhoud van alle artikelen selecteert. Dit wordt later omgebouwd zodat deze div binnen de <for:each> zit en daar de id uit de XML gehaald wordt.
Hoe kan ik dus goed de XSLT-variable in het javascript onclick:show(parent.mainFrame,'{$artikel}') gebruiken?