Ik ben bezig met het maken van een grote multi-language website door middel van XML, XSLT.
Nu heeft het XML document een aantal menu items die in de XSLT file vertaald moeten worden.
De vertalingen van woorden lever ik aan in de XML op de volgende manier:
In de XSLT doe ik dan het volgende:
Het probleem is nu dat het menu via de XML wordt aangeleverd (mijn framework maakt namelijk automatisch een menu op aan de hand van de gemaakte modules en laat ook zien welke aktief is etc.).
Nu wil ik dus deze aangeleverde menu items in de XSLT vertalen door bijvoorbeeld het volgende te doen:
Helaas werkt dit dus niet en laat het resultaat niets zien op de plaats van title.
Is er een manier dit te omzeilen?
Bij voorbaat dank.
Nu heeft het XML document een aantal menu items die in de XSLT file vertaald moeten worden.
De vertalingen van woorden lever ik aan in de XML op de volgende manier:
code:
1
2
3
4
5
6
7
| <framework> <locale> <entry name="Woord">Vertaling</entry> <entry name="Woord">Vertaling</entry> etc... </locale> </framework> |
In de XSLT doe ik dan het volgende:
code:
1
| <xsl:value-of select="/framework/locale/entry[@name='Woord']"/> |
Het probleem is nu dat het menu via de XML wordt aangeleverd (mijn framework maakt namelijk automatisch een menu op aan de hand van de gemaakte modules en laat ook zien welke aktief is etc.).
Nu wil ik dus deze aangeleverde menu items in de XSLT vertalen door bijvoorbeeld het volgende te doen:
code:
1
2
3
4
5
6
7
8
9
10
| <xsl:for-each select="/framework/menu/entry">
<xsl:choose>
<xsl:when test="status = 'active'">
<li class="active"><a href="{link}"><xsl:value-of select="/framework/locale/entry[@name=title]"/></a></li>
</xsl:when>
<xsl:otherwise>
<li><a href="{link}"><xsl:value-of select="/framework/locale/entry[@name=title]"/></a></li>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each> |
Helaas werkt dit dus niet en laat het resultaat niets zien op de plaats van title.
Is er een manier dit te omzeilen?
Bij voorbaat dank.
www.dannyhiemstra.nl