xsl-list
[Top] [All Lists]

[xsl] Re: element in most preferred language expression?

2008-05-27 13:47:08
In addition to Ken's other helpful remarks:
What is the closest XPath expression which could get the value of an
element in a most preferred language?

  "title[lang($preferredLanguage)]"

Thank you for pointing out the lang() function, however the heart of my
problem is that an element (<title>) may or may not be available in
$preferredLanguage, in which case I need to fallback to
$2ndPrefferedLanguage, instead of returning empty.

What I am looking for is an XPath expression, suitable for sticking in
the string() function, to get the most preferred non-null element.

The simple case is when there are two languages: $userLanguage and
$sourceLanguage

Let $userLanguage be "fr" (the user prefers to read French) and
$sourceLanguage be "en" (the original language of the data is English)

I need an expression, "string(...an expression for title given
$userLangague=fr and $sourceLanguage=en...)", which when applied to the
following, evaluates to "description archivistique":

<title xml:lang="en">archival description</title>
<title xml:lang="fr">description archivistique</title>
<title xml:lang="pt">descrição arquivística</title>

- but when applied to the following, evaluates to "information object":

<title xml:lang="en">information object</title>
<title xml:lang="pt">objeto informacional</title>

The more complicated case is when there is a weighted list of language
preferences, as in the HTTP Accept-Language request header - however I
hope that this simple case with generalize.

Thanks again, Jack


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] Re: element in most preferred language expression?, Jack Bates <=