|
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 |