| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.xml.AbstractXMLProducer
org.apache.cocoon.xml.AbstractXMLPipe
org.apache.cocoon.transformation.AbstractTransformer
org.apache.cocoon.transformation.I18nTransformer
public class I18nTransformer
| Nested Class Summary | |
|---|---|
|  class | I18nTransformer.CatalogueInfoHolds information about one catalogue. | 
| Field Summary | |
|---|---|
| static String | CURRENCY_LOCALE_ATTRIBUTEThis attribute is used to specify a different locale for the currency. | 
| protected  BundleFactory | factoryMessage bundle loader factory component (service) | 
| static String | I18N_ATTR_ATTRIBUTEThis attribute is used with any element (even not i18n) to translate attribute values. | 
| static String | I18N_CATALOGUE_ATTRIBUTEThis attribute can be used on i18n:textto indicate the catalogue
 from which the key should be retrieved. | 
| static String | I18N_CHOOSE_ELEMENTi18n:chooseelement is used to translate elements in-place. | 
| static String | I18N_CURRENCY_ELEMENTCurrency element name | 
| static String | I18N_CURRENCY_NO_UNIT_ELEMENTCurrency without unit element name | 
| static String | I18N_DATE_ELEMENTi18n:dateis used to provide a localized date string. | 
| static String | I18N_DATE_TIME_ELEMENTi18n:date-timeis used to provide a localized date and
 time string. | 
| static String | I18N_DEFAULT_CATALOGUE_IDThis configuration parameter specifies the id of the catalogue to be used as default catalogue, allowing to redefine the default catalogue on the pipeline level. | 
| static String | I18N_EXPR_ATTRIBUTEThis attribute is used with any element (even not i18n) to evaluate attribute values. | 
| static String | I18N_FRACTION_DIGITS_ATTRIBUTEfraction-digitsattribute is used withi18:numberto
 indicate the number of digits behind the fraction | 
| static String | I18N_IF_ELEMENTi18n:ifis used to test a locale. | 
| static String | I18N_INT_CURRENCY_ELEMENTInteger currency element name | 
| static String | I18N_INT_CURRENCY_NO_UNIT_ELEMENTInteger currency without unit element name | 
| static String | I18N_KEY_ATTRIBUTEThis attribute is used with i18n:text element to indicate the key of the according message. | 
| static String | I18N_LOCALEThis configuration parameter specifies the default locale to be used. | 
| static String | I18N_LOCALE_ATTRIBUTEThis attribute is used with date and number formatting elements to indicate the locale that should be used to format the element value. | 
| static String | I18N_NAMESPACE_URIThe namespace for i18n is "http://apache.org/cocoon/i18n/2.1". | 
| static String | I18N_NUMBER_ELEMENTi18n:numberis used to provide a localized number string. | 
| static String | I18N_OLD_NAMESPACE_URIThe old namespace for i18n is "http://apache.org/cocoon/i18n/2.0". | 
| static String | I18N_OTHERWISE_ELEMENTi18n:otherwiseis used to match any locale when
 no matching locale has been found inside ani18n:chooseblock. | 
| static String | I18N_PARAM_ELEMENTi18n:paramis used with i18n:translate to provide
 substitution params. | 
| static String | I18N_PARAM_NAME_ATTRIBUTEThis attribute affects a name to the param that could be used for substitution. | 
| static String | I18N_PATTERN_ATTRIBUTEThis attribute is used with date and number formatting elements to indicate the pattern that should be used to format the element value. | 
| static String | I18N_PERCENT_ELEMENTPercent element name | 
| static String | I18N_PRELOADThis configuration parameter specifies locale for which catalogues should be preloaded. | 
| static String | I18N_SRC_LOCALE_ATTRIBUTEThis attribute is used with date and number formatting elements to indicate the locale that should be used to parse the element value. | 
| static String | I18N_SRC_PATTERN_ATTRIBUTEThis attribute is used with date and number formatting elements to indicate the pattern that should be used to parse the element value. | 
| static String | I18N_TEXT_ELEMENTi18n:textelement is used to translate any text, with
 or without markup. | 
| static String | I18N_TIME_ELEMENTi18n:timeis used to provide a localized time string. | 
| static String | I18N_TRANSLATE_ELEMENTi18n:translateelement is used to translate text with
 parameter substitution. | 
| static String | I18N_TYPE_ATTRIBUTEDeprecated. since 2.1. Use nested tags instead, e.g.: <i18n:param><i18n:date/></i18n:param> | 
| static String | I18N_UNTRANSLATEDThis configuration parameter specifies the message that should be displayed in case of a not translated text (message not found). | 
| static String | I18N_VALUE_ATTRIBUTEThis attribute is used with date and number formatting elements to indicate the value that should be parsed and formatted. | 
| static String | I18N_WHEN_ELEMENTi18n:whenis used to test a locale. | 
| protected  Locale | localeLocale | 
| protected  ServiceManager | managerComponent (service) manager | 
| protected  Map | objectModel | 
| Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer | 
|---|
| contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer | 
| Fields inherited from interface org.apache.cocoon.transformation.Transformer | 
|---|
| ROLE | 
| Constructor Summary | |
|---|---|
| I18nTransformer() | |
| Method Summary | |
|---|---|
|  void | characters(char[] ch,
           int start,
           int len)Receive notification of character data. | 
|  void | configure(Configuration conf)Implementation of Configurable interface. | 
|  void | dispose() | 
|  void | endElement(String uri,
           String name,
           String raw)Receive notification of the end of an element. | 
|  Serializable | getKey()Implemenation of CacheableProcessingComponents. | 
|  Locale | getLocale()Returns the current locale setting of this transformer instance. | 
| protected  ParamSaxBuffer | getMessage(String catalogueID,
           String key)Helper method to retrieve a message from the dictionary. | 
|  SourceValidity | getValidity()Implementation of CacheableProcessingComponent. | 
|  void | recycle()Recycle the producer by removing references, and resetting handlers to null (empty) implementations. | 
|  void | service(ServiceManager manager)Look up the BundleFactoryto be used. | 
|  void | setup(SourceResolver resolver,
      Map objectModel,
      String source,
      Parameters parameters)Setup current instance of transformer. | 
|  void | startElement(String uri,
             String name,
             String raw,
             Attributes attr)Receive notification of the beginning of an element. | 
| Methods inherited from class org.apache.cocoon.xml.AbstractXMLPipe | 
|---|
| comment, endCDATA, endDocument, endDTD, endEntity, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startCDATA, startDocument, startDTD, startEntity, startPrefixMapping | 
| Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer | 
|---|
| setConsumer, setContentHandler, setLexicalHandler | 
| Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled | 
|---|
| enableLogging, getLogger, setupLogger, setupLogger, setupLogger | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface org.xml.sax.ContentHandler | 
|---|
| endDocument, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping | 
| Methods inherited from interface org.xml.sax.ext.LexicalHandler | 
|---|
| comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity | 
| Methods inherited from interface org.apache.cocoon.xml.XMLProducer | 
|---|
| setConsumer | 
| Field Detail | 
|---|
public static final String I18N_NAMESPACE_URI
public static final String I18N_OLD_NAMESPACE_URI
public static final String I18N_TEXT_ELEMENT
i18n:text element is used to translate any text, with
 or without markup. Example:
 
   <i18n:text>
     This is <strong>translated</strong> string.
   </i18n:text>
 
public static final String I18N_TRANSLATE_ELEMENT
i18n:translate element is used to translate text with
 parameter substitution. Example:
 
 <i18n:translate>
   <i18n:text>This is translated string with {0} param</i18n:text>
   <i18n:param>1</i18n:param>
 </i18n:translate>
 
 The i18n:text fragment can include markup and parameters
 at any place. Also do parameters, which can include i18n:text,
 i18n:date, etc. elements (without keys only).
I18N_TEXT_ELEMENT, 
I18N_PARAM_ELEMENT, 
Constant Field Valuespublic static final String I18N_CHOOSE_ELEMENT
i18n:choose element is used to translate elements in-place.
 The first i18n:when element matching the current locale
 is selected and the others are discarded.
 To specify what to do if no locale matched, simply add a node with
 locale="*". Note that this element must be the last
 child of <i18n:choose>.
 <i18n:choose>
   <i18n:when locale="en">
     Good Morning
   </en>
   <i18n:when locale="fr">
     Bonjour
   </jp>
   <i18n:when locale="jp">
     Aligato?
   </jp>
   <i18n:otherwise>
     Sorry, i don't know how to say hello in your language
   </jp>
 <i18n:translate>
 
 You can include any markup within i18n:when elements,
 with the exception of other i18n:* elements.
I18N_IF_ELEMENT, 
I18N_LOCALE_ATTRIBUTE, 
Constant Field Valuespublic static final String I18N_WHEN_ELEMENT
i18n:when is used to test a locale.
 It can be used within i18:choose elements or alone.
 Note: Using locale="*" here has no sense.
 Example:
 <greeting> <i18n:when locale="en">Hello</i18n:when> <i18n:when locale="fr">Bonjour</i18n:when> </greeting>
I18N_LOCALE_ATTRIBUTE, 
I18N_CHOOSE_ELEMENT, 
Constant Field Valuespublic static final String I18N_IF_ELEMENT
i18n:if is used to test a locale. Example:
 <greeting> <i18n:if locale="en">Hello</i18n:when> <i18n:if locale="fr">Bonjour</i18n:when> </greeting>
I18N_LOCALE_ATTRIBUTE, 
I18N_CHOOSE_ELEMENT, 
I18N_WHEN_ELEMENT, 
Constant Field Valuespublic static final String I18N_OTHERWISE_ELEMENT
i18n:otherwise is used to match any locale when
 no matching locale has been found inside an i18n:choose
 block.
I18N_CHOOSE_ELEMENT, 
I18N_WHEN_ELEMENT, 
Constant Field Valuespublic static final String I18N_PARAM_ELEMENT
i18n:param is used with i18n:translate to provide
 substitution params. The param can have i18n:text as
 its value to provide multilungual value. Parameters can have
 additional attributes to be used for formatting:
 type: can be date, date-time, time,
   number, currency, currency-no-unit or percent.
   Used to format params before substitution.value: the value of the param. If no value is
   specified then the text inside of the param element will be used.locale: used only with number, date, time,
   date-time types and used to override the current locale to
   format the given value.src-locale: used with number, date, time,
   date-time types and specify the locale that should be used to
   parse the given value.pattern: used with number, date, time,
   date-time types and specify the pattern that should be used
   to format the given value.src-pattern: used with number, date, time,
   date-time types and specify the pattern that should be used
   to parse the given value.
I18N_TRANSLATE_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_PARAM_NAME_ATTRIBUTE
public static final String I18N_DATE_ELEMENT
i18n:date is used to provide a localized date string.
 Allowed attributes are: pattern, src-pattern, locale,
 src-locale. Usage examples:
 
  <i18n:date src-pattern="short" src-locale="en_US" locale="de_DE">
    12/24/01
  </i18n:date>
  <i18n:date pattern="dd/MM/yyyy" />
 
 If no value is specified then the current date will be used. E.g.:
 <i18n:date />Displays the current date formatted with default pattern for the current locale.
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_DATE_TIME_ELEMENT
i18n:date-time is used to provide a localized date and
 time string. Allowed attributes are: pattern, src-pattern,
 locale, src-locale. Usage examples:
 
  <i18n:date-time src-pattern="short" src-locale="en_US" locale="de_DE">
    12/24/01 1:00 AM
  </i18n:date>
  <i18n:date-time pattern="dd/MM/yyyy hh:mm" />
 
 If no value is specified then the current date and time will be used.
 E.g.:
 <i18n:date-time />Displays the current date formatted with default pattern for the current locale.
I18N_PARAM_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_TIME_ELEMENT
i18n:time is used to provide a localized time string.
 Allowed attributes are: pattern, src-pattern, locale,
 src-locale. Usage examples:
 
  <i18n:time src-pattern="short" src-locale="en_US" locale="de_DE">
    1:00 AM
  </i18n:time>
 <i18n:time pattern="hh:mm:ss" />
 
 If no value is specified then the current time will be used. E.g.:
 <i18n:time />Displays the current time formatted with default pattern for the current locale.
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_NUMBER_ELEMENT
i18n:number is used to provide a localized number string.
 Allowed attributes are: pattern, src-pattern, locale, src-locale,
 type. Usage examples:
 
  <i18n:number src-pattern="short" src-locale="en_US" locale="de_DE">
    1000.0
  </i18n:number>
 <i18n:number type="currency" />
 
 If no value is specifies then 0 will be used.
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
Constant Field Valuespublic static final String I18N_CURRENCY_ELEMENT
public static final String I18N_PERCENT_ELEMENT
public static final String I18N_INT_CURRENCY_ELEMENT
public static final String I18N_CURRENCY_NO_UNIT_ELEMENT
public static final String I18N_INT_CURRENCY_NO_UNIT_ELEMENT
public static final String I18N_KEY_ATTRIBUTE
<i18n:text i18n:key="a_key">article_text1</i18n:text>
public static final String I18N_ATTR_ATTRIBUTE
<para title="first" name="article" i18n:attr="title name"/>Attribute value considered as key in message catalogue.
public static final String I18N_EXPR_ATTRIBUTE
 <para title="first" name="{one} {two}" i18n:attr="name"/>
 
 Attribute value considered as expression containing text and catalogue
 keys in curly braces.
public static final String I18N_SRC_PATTERN_ATTRIBUTE
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_PATTERN_ATTRIBUTE
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_LOCALE_ATTRIBUTE
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
I18N_WHEN_ELEMENT, 
Constant Field Valuespublic static final String I18N_SRC_LOCALE_ATTRIBUTE
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_VALUE_ATTRIBUTE
I18N_PARAM_ELEMENT, 
I18N_DATE_TIME_ELEMENT, 
I18N_DATE_ELEMENT, 
I18N_TIME_ELEMENT, 
I18N_NUMBER_ELEMENT, 
Constant Field Valuespublic static final String I18N_TYPE_ATTRIBUTE
i18:param to
 indicate the parameter type: date, time, date-time or
 number, currency, percent, int-currency, currency-no-unit,
 int-currency-no-unit.
 Also used with i18:translate to indicate inplace
 translations: inplace
public static final String CURRENCY_LOCALE_ATTRIBUTE
public static final String I18N_CATALOGUE_ATTRIBUTE
i18n:text to indicate the catalogue
 from which the key should be retrieved. This attribute is optional,
 if it is not mentioned the default catalogue is used.
public static final String I18N_LOCALE
public static final String I18N_DEFAULT_CATALOGUE_ID
public static final String I18N_UNTRANSLATED
public static final String I18N_PRELOAD
public static final String I18N_FRACTION_DIGITS_ATTRIBUTE
fraction-digits attribute is used with
 i18:number to
 indicate the number of digits behind the fraction
protected ServiceManager manager
protected BundleFactory factory
protected Map objectModel
protected Locale locale
| Constructor Detail | 
|---|
public I18nTransformer()
| Method Detail | 
|---|
public Locale getLocale()
public Serializable getKey()
getKey in interface CacheableProcessingComponentnull if the component
              is currently not cacheable.public SourceValidity getValidity()
null
 if this instance is not cacheable.
getValidity in interface CacheableProcessingComponentnull if the
         component is currently not cacheable.
public void service(ServiceManager manager)
             throws ServiceException
BundleFactory to be used.
service in interface ServiceableServiceException
public void configure(Configuration conf)
               throws ConfigurationException
configure in interface ConfigurableConfigurationException
public void setup(SourceResolver resolver,
                  Map objectModel,
                  String source,
                  Parameters parameters)
           throws ProcessingException,
                  SAXException,
                  IOException
setup in interface SitemapModelComponentProcessingException
SAXException
IOException
public void startElement(String uri,
                         String name,
                         String raw,
                         Attributes attr)
                  throws SAXException
AbstractXMLPipe
startElement in interface ContentHandlerstartElement in class AbstractXMLPipeuri - The Namespace URI, or the empty string if the element has no
            Namespace URI or if Namespace
            processing is not being performed.name - The local name (without prefix), or the empty string if
            Namespace processing is not being performed.raw - The raw XML 1.0 name (with prefix), or the empty string if
            raw names are not available.attr - The attributes attached to the element. If there are no
          attributes, it shall be an empty Attributes object.
SAXException
public void endElement(String uri,
                       String name,
                       String raw)
                throws SAXException
AbstractXMLPipe
endElement in interface ContentHandlerendElement in class AbstractXMLPipeuri - The Namespace URI, or the empty string if the element has no
            Namespace URI or if Namespace
            processing is not being performed.name - The local name (without prefix), or the empty string if
            Namespace processing is not being performed.raw - The raw XML 1.0 name (with prefix), or the empty string if
            raw names are not available.
SAXException
public void characters(char[] ch,
                       int start,
                       int len)
                throws SAXException
AbstractXMLPipe
characters in interface ContentHandlercharacters in class AbstractXMLPipech - The characters from the XML document.start - The start position in the array.len - The number of characters to read from the array.
SAXException
protected ParamSaxBuffer getMessage(String catalogueID,
                                    String key)
catalogueID - if not null, this catalogue will be used instead of the default one.
public void recycle()
AbstractXMLProducer
recycle in interface Recyclablerecycle in class AbstractXMLProducerpublic void dispose()
dispose in interface Disposable| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||