<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-flowed"
 style="font-family: -moz-fixed; font-size: 13px;" lang="x-western">Hi,
<br>
<br>
When trying to find out if a specific xml element is present in a
content item I had the problem that I could not use
"request.getLocale()" as locale for the CmsJspTagContentCheck.
<br>
<br>
The browsers request locale in my case is "en_US". When using the
request locale to access or check content (which in fact is "en"
content) the api does return null (or false). When creating a new
locale after cropping the country from the Locale everything works fine
(see code below). As the cms backend does only provide interfaces to
set the content language and not the content locale I assume this to be
an improper implementation of Locale/language handling.
<br>
<br>
br,
<br>
Philip
<br>
<br>
Example 1 - works fine:
<br>
******************
<br>
code:
<br>
     List li =
content.getContentContainer().getXmlDocument().getNames(java.util.Locale.ENGLISH);
<br>
     log.debug("Locale: "+java.util.Locale.ENGLISH);
<br>
     log.debug("Elements: "+li);
<br>
output:
<br>
     Locale: en
<br>
     Elements: [Elements[1]/Item[1], ShowBreadCrumbs[1],
ShowLeftNavigation[1], Elements[1]/elementParam2[1], ...<snip>
<br>
<br>
<br>
Example 2 - returns empty list:
<br>
******************
<br>
code:
<br>
     List li =
content.getContentContainer().getXmlDocument().getNames(request.getLocale());
<br>
     log.debug("Locale: "+request.getLocale());
<br>
     log.debug("Elements: "+li);
<br>
output:
<br>
     Locale: en_US
<br>
     Elements: []
<br>
<br>
<br>
Example 2 - works fine:
<br>
******************
<br>
code:
<br>
     List li =
content.getContentContainer().getXmlDocument().getNames(new
Locale(request.getLocale().getLanguage()));
<br>
     log.debug("Locale: "+new
Locale(request.getLocale().getLanguage()));
<br>
     log.debug("Elements: "+li);
<br>
output:
<br>
     Locale: en
<br>
     Elements: [Elements[1]/Item[1], ShowBreadCrumbs[1],
ShowLeftNavigation[1], Elements[1]/elementParam2[1], ...<snip>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
</body>
</html>