[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] XSLT (2) namespace safe i18n patterns
Subject: RE: [xsl] XSLT (2) namespace safe i18n patterns From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 23 Nov 2009 16:35:33 -0000 |
> Currently using prefix matching (this is what needs > improving/fixing) I can do something like: > > <xsl:variable name="fullname" select="string-join(($lang, > $name), ':')"/> <xsl:for-each select="$source"> > <xsl:value-of select="if (string(@*[name() eq $fullname])) then > @*[name() eq $fullname] else @*[name() eq $name]"/></xsl:for-each> It's not clear to me why you are concerned with the prefix. I assume that when you wrote this: <global-element xmlns:fr="http://www.somedomain.com/fr" xmlns:en="http://www.somedomain.com/fr" xmlns:de="http://www.somedomain.com/fr" more-attributes=". . ." > you really meant <global-element xmlns:fr="http://www.somedomain.com/fr" xmlns:en="http://www.somedomain.com/en" xmlns:de="http://www.somedomain.com/de" more-attributes=". . ." > and then your code above would become something like <xsl:variable name="fullname" select="QName(concat('http://www.somedomain.com/', $lang), $name)"/> <xsl:for-each select="$source"> <xsl:value-of select="if (string(@*[node-name() eq $fullname])) then @*[node-name() eq $fullname] else @*[name() eq $name]"/> </xsl:for-each> Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT (2) namespace safe i, ac | Thread | Re: [xsl] XSLT (2) namespace safe i, Syd Bauman |
Re: [xsl] XSLT (2) namespace safe i, ac | Date | Re: [xsl] XSLT for XSL-FO internal-, Robert Siebens |
Month |