Re: localization techniques and code review

Subject: Re: localization techniques and code review
From: "Haroon Rafique" <haroon@xxxxxxxxxxxx>
Date: Fri, 17 Nov 2000 12:53:02 -0500
> Earlier, Jeni Tennison mailto:mail@xxxxxxxxxxxxxxxx wrote:
> [snip]

Thanks Jeni,

That's exactly the kind of critique that I needed.

> The nested xsl:for-each is necessary.  The key() function that you use
> is scoped by the current node: it only looks for nodes within the
> current document.  In the outer xsl:for-each, the current document is
> your source XML.  You need to change it to the localization.xml
> document to use the key to retrieve information quickly from it.

I am confused about your statement about moving localization.xml to the
outer xsl:for-each. How would that be more advantageous? Would it change my
On another note, is there a way for me to modify the following statement to
only return nodes which match lang=$selectLang attribute? (the idea is to
filter non-chosen languages - could I use something like
<xsl:variable name="trans" select="document('localization.xml')" />
How can the above statement be modified to achieve the above objective and
is that even something to consider?

For reference:

<?xml version="1.0"?>
<!--  localization.xml -->
    <word name="_FIRST_NAME">
        <translation lang="es">Nombre</translation>
        <translation lang="en">First Name</translation>
        <translation lang="it">Nome</translation>
    <word name="_OCCUPATION">
     <translation lang="es">Ocupacion</translation>
     <translation lang="en">Occupation</translation>
     <translation lang="it">Occupazione</translation>

> > 2. What if I need to re-print the table again? Could I have somehow
> > stored the results of the document() call to be able to reuse it at
> > a later stage?
> Not within XSLT.  It really depends on your set up, how you're
> processing the XSLT on the server.  It may be possible for the server
> to keep the DOM for the localization.xml document cached so that it
> doesn't have to parse it each time.  Perhaps a Cocoon person can give
> you a better answer.
> Sorry I can't be more help,
> Jeni

I am sorry. I think my choice of wording made you look deeper than I
intended. (My knowledge is not deep enough to think of document caching at
the server level :-)). I had meant to ask if I could re-print the results,
another time without having to re-document() the localization.xml file,
(perhaps in another style)? By clarifying the use of the $trans in:
<xsl:variable name="trans" select="document('localization.xml')" />
I know now that it is re-usable and has all the nodes inside it.

Thanks again,
Haroon Rafique <haroon@xxxxxxxxxxxx>

 XSL-List info and archive:

Current Thread