Subject: RE: Replacing all Occurences of a String
From: "Chris Bayes" <chris@xxxxxxxxxxx>
Date: Thu, 30 Aug 2001 17:03:08 +0100
|
Roger,
Have a look at
http://www.biglist.com/lists/xsl-list/archives/200008/msg01300.html for
some ideas on internationalization. You can extend this idea to handle
your month conversions if your datafile looked like
<dictionary>
<months lang="en">
<month abbr="jan">january</month>
...
...
<month abbr="dec">december</month>
</months>
<months lang="fr">
<month abbr="jan">janvier</month>
...
Then to convert $monthtotrans from french to english abbreviation
something like
<xsl:value-of
select="document('months.xml')/dictionary/months[@lang='en']/month[posit
ion()/document('months.xml')/dictionary/months[@lang='fr']/month[@abbr=$
monthtotrans]/@abbr
Or
<xsl:variable name="monthnum"
select="count(preceding-sibling::*/document('months.xml')/dictionary/mon
ths[@lang='fr']/month[@abbr=$monthtotrans])" />
<xsl:value-of
select="document('months.xml')/dictionary/months[@lang='en']/month[$mont
hnum]/@abbr" />
Ciao Chris
XML/XSL Portal
http://www.bayes.co.uk/xml
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Roger
> Sent: 30 August 2001 15:45
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: AW: Replacing all Occurences of a String
>
>
> Hi David
> The problem is I have all months and also all languages, like:
>
> <sfzSprache>Italian/German/Swiss-German/French</sfzLanguage>
>
> and I want in the end:
>
> <sfzSprache>Italienisch/Deutsch/Schweizerdeutsch/Französisch</
> sfzLanguage>
>
>
> If I only would have "German" or "October" it would be easy.
> I would then transform it like this:
>
> <xsl:choose>
> <xsl:when test="string-length(sfzSprache)>0">
> Sprache:
> <xsl:choose>
> <xsl:when test="string(sfzSprache)='German'">
> Deutsch <br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='Italian'">
> Italienisch <br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='Swiss-German'">
> Schweizerdeutsch <br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='Rhaeto-romanic'">
> Rätoromanisch <br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='French'">
> Französisch <br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='English'">
> Englisch<br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='Chinese'">
> Chinesisch <br />
> </xsl:when>
> <xsl:when test="string(sfzSprache)='Russian'">
> Russisch <br />
> </xsl:when>
> <xsl:otherwise>
> <xsl:value-of select="sfzSprache"/><br />
> </xsl:otherwise>
> </xsl:choose>
>
>
> Thanx for any additional hints
> best
> roger
>
>
>
>
> <sfzRelease>January, February 2001</sfzRelease>
>
> I want at the end:
>
> <sfzRelease>Januar, Februar 2001</sfzRelease>
>
> Hmm, I don't suppose translate(sfzRelease,'y','') works in
> general does it. (If only natural languages followed regular
> paterns like
> mathematics....)
>
> If you have a replace string template then probably the
> easiest thing to do is make a variable containg a node set of
> replacements eg
>
> <y en="January" de="Januar"/>
>
>
> then just make a recusive template that works down a list of
> y nodes, doing a replacement using the first y node then
> calling itself on the rest of the list.
>
> David
>
> _____________________________________________________________________
> This message has been checked for all known viruses by Star
> Internet delivered through the MessageLabs Virus Scanning
> Service. For further information visit
> http://www.star.net.uk/stats.asp or > alternatively call Star
> Internet for details on the Virus Scanning Service.
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- Re: xsl:sort - sorting outline numbered values, (continued)
- Thomas B. Passin - Thu, 30 Aug 2001 12:47:17 -0400 (EDT)
- Francis Norton - Thu, 30 Aug 2001 13:51:25 -0400 (EDT)
- David Carlisle - Thu, 30 Aug 2001 10:19:22 -0400 (EDT)
- Roger - Thu, 30 Aug 2001 10:54:40 -0400 (EDT)
- Chris Bayes - Thu, 30 Aug 2001 12:14:32 -0400 (EDT) <=
- Wendell Piez - Thu, 30 Aug 2001 14:39:01 -0400 (EDT)
- Tim Watts - Thu, 30 Aug 2001 20:09:15 -0400 (EDT)
- Tim Watts - Thu, 30 Aug 2001 20:17:15 -0400 (EDT)
- Roger - Fri, 31 Aug 2001 05:16:32 -0400 (EDT)
|
|