Subject: [xsl] Localising Submit/Clear buttons in html From: Ian_blizard@xxxxxx (Ian Blizard) Date: Mon, 12 Nov 2001 14:43:38 +0000 |
Hello list, Thanks to Jeni for solving my last problem, roses and chocolates are on the way if you can help solve this one! I'm using a mechanism proposed by IBM DeveloperWorks for localising markup. It consists of one dictionary file containing the localised strings, and a localisation XSL file which parses a HTML file for "nlsid" tags for any node, if it finds a corresponding entry in the dictionary file it will replace the content of the node with the content from the dictionary. The params $doc-file and $currentLocale are set before the transformation: e.g trans.setAttribute("doc-file", "my_doc_file.xml"); etc. e.g. <?xml version='1.0'?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="doc-file"/> <xsl:param name="currentLocale"/> <xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template> <xsl:template match="*|node()" priority="1"> <xsl:copy> <xsl:copy-of select="@*"/><xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="/"><xsl:apply-templates/></xsl:template> <xsl:template match="*[@nlsid]" priority="5"> <xsl:copy> <xsl:for-each select="@*"> <xsl:if test="name()!='nlsid'"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <xsl:apply-templates select="./*"/> <xsl:variable name="myKey" select="@nlsid"/> <xsl:choose> <xsl:when test="document($doc-file)/locale/*[name()=$myKey]"> <xsl:value-of select="document($doc-file)/locale/*[name()=$myKey]/*[name()=$currentLoc ale]"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:copy> </xsl:template> </xsl:stylesheet> Now that's all well and good if you want to localise the <title> node in HTML, e.g. <title nlsid="PAGE_TITLE">This is my page</title> However, when you're creating a page with forms and you need to localise buttons, they take their textual value from the 'Value' attribute: <input type="submit" value="Click here to submit!"/> Say, I add a 'nlsid' attribute to the button: <input type="submit" value="Click here to submit!" nlsid="SUBMIT_BUTTON"/> With current processing is there a simple way to populate the 'value' attribute with the dictionary lookup? -Ian. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Link Generation using key, David Carlisle | Thread | Re: [xsl] Localising Submit/Clear b, David Carlisle |
Re: [xsl] Whitespace between charac, David Carlisle | Date | RE: [xsl] create several js-functio, Chris Bayes |
Month |