|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Localising Submit/Clear buttons in html
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








