You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Dakkar <da...@thenautilus.net> on 2002/02/01 13:22:23 UTC

bug in i18n transformer?

I'm having some problems with the i18n transf. of Cocoon 2.0.1 (worked
fine with 2.0)
I have an XML file with an elementi like

<title><i18n:text>scelta viaggio</i18n:text></title>

and the corrisponding messages_it.xml containing
<message key="scelta viaggio">Scelta del viaggio</message>

the sitemap is the simple one:
<map:generate type="file" src="prima.xml"/>
<map:transform type="i18n"/>

however, while other string are translated fine, this one doesn't
the error is:

> DEBUG   (2002-02-01) 12:55.10:156   [cocoon  ] (/mare/index.html)
> Thread-36/I18n Transformer: I18nTransformer: Starting i18n element: text
> DEBUG   (2002-02-01) 12:55.10:157   [cocoon  ] (/mare/index.html)
> Thread-36/I18nTransformer: I18nTransformer: Start i18n element: text
> DEBUG   (2002-02-01) 12:55.10:158   [cocoon  ] (/mare/index.html)
> Thread-36/I18nTransformer: I18nTransformer: i18n message text = 'Scelta vi'
> DEBUG   (2002-02-01) 12:55.10:159   [cocoon  ] (/mare/index.html)
> Thread-36/XMLResourceBundle: messages: returning from cache:
> /catalogue/message[@key='Scelta vi']
> DEBUG   (2002-02-01) 12:55.10:160   [cocoon  ] (/mare/index.html)
> Thread-36/XMLResourceBundle: messages: cache_not_found contains:
> /catalogue/message[@key='Scelta vi']
> DEBUG   (2002-02-01) 12:55.10:636   [cocoon  ] (/mare/index.html)
> Thread-36/XMLResourceBundle: messages: caching not_found:
> /catalogue/message[@key='Scelta vi']
> DEBUG   (2002-02-01) 12:55.10:638   [cocoon  ] (/mare/index.html)
> Thread-36/I18nTransformer: I18nTransformer: i18n message text = 'aggio'
> DEBUG   (2002-02-01) 12:55.10:639   [cocoon  ] (/mare/index.html)
> Thread-36/XMLResourceBundle: messages: returning from cache:
> /catalogue/message[@key='aggio']
> DEBUG   (2002-02-01) 12:55.10:639   [cocoon  ] (/mare/index.html)
> Thread-36/XMLResourceBundle: messages: cache_not_found contains:
> /catalogue/message[@key='aggio']
> DEBUG   (2002-02-01) 12:55.10:651   [cocoon  ] (/mare/index.html)
> Thread-36/I18nTransformer: I18nTransformer: End i18n element: text

It seems that the parser is emitting 'characters' events in the middle
of the string (this is to be expected, isn't it?), and the transformer
doesn't like this. I've looked into the source, and it seems that as
soon as a 'characters' event is received (inside a i18n:text element)
the (partial) string is looked up. Shouldn't this be done inside the
I18NendElement method?

(oh, with cocoon-2.0 it probably worked because of a differen xerces
implementation)

-- 

	Dakkar - <Mobilis in mobile>
	GPG public key fingerprint = A071 E618 DD2C 5901 9574
	                             6FE2 40EA 9883 7519 3F88
	                    key id = 0x75193F88

Technicality, n.:
	In an English court a man named Home was tried for slander in having
	accused a neighbor of murder.  His exact words were: "Sir Thomas Holt
	hath taken a cleaver and stricken his cook upon the head, so that one
	side of his head fell on one shoulder and the other side upon the
	other shoulder."  The defendant was acquitted by instruction of the
	court, the learned judges holding that the words did not charge murder,
	for they did not affirm the death of the cook, that being only an
	inference.
		-- Ambrose Bierce, "The Devil's Dictionary"

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>


Re: bug in i18n transformer?

Posted by "Piroumian, Konstantin" <KP...@flagship.ru>.
> I'm having some problems with the i18n transf. of Cocoon 2.0.1 (worked
> fine with 2.0)
> I have an XML file with an elementi like
>
> <title><i18n:text>scelta viaggio</i18n:text></title>
>
> and the corrisponding messages_it.xml containing
> <message key="scelta viaggio">Scelta del viaggio</message>
>
> the sitemap is the simple one:
> <map:generate type="file" src="prima.xml"/>
> <map:transform type="i18n"/>
>
> however, while other string are translated fine, this one doesn't
> the error is:
>
> > DEBUG   (2002-02-01) 12:55.10:156   [cocoon  ] (/mare/index.html)
> > Thread-36/I18n Transformer: I18nTransformer: Starting i18n element: text
> > DEBUG   (2002-02-01) 12:55.10:157   [cocoon  ] (/mare/index.html)
> > Thread-36/I18nTransformer: I18nTransformer: Start i18n element: text
> > DEBUG   (2002-02-01) 12:55.10:158   [cocoon  ] (/mare/index.html)
> > Thread-36/I18nTransformer: I18nTransformer: i18n message text = 'Scelta
vi'
> > DEBUG   (2002-02-01) 12:55.10:159   [cocoon  ] (/mare/index.html)
> > Thread-36/XMLResourceBundle: messages: returning from cache:
> > /catalogue/message[@key='Scelta vi']
> > DEBUG   (2002-02-01) 12:55.10:160   [cocoon  ] (/mare/index.html)
> > Thread-36/XMLResourceBundle: messages: cache_not_found contains:
> > /catalogue/message[@key='Scelta vi']
> > DEBUG   (2002-02-01) 12:55.10:636   [cocoon  ] (/mare/index.html)
> > Thread-36/XMLResourceBundle: messages: caching not_found:
> > /catalogue/message[@key='Scelta vi']
> > DEBUG   (2002-02-01) 12:55.10:638   [cocoon  ] (/mare/index.html)
> > Thread-36/I18nTransformer: I18nTransformer: i18n message text = 'aggio'
> > DEBUG   (2002-02-01) 12:55.10:639   [cocoon  ] (/mare/index.html)
> > Thread-36/XMLResourceBundle: messages: returning from cache:
> > /catalogue/message[@key='aggio']
> > DEBUG   (2002-02-01) 12:55.10:639   [cocoon  ] (/mare/index.html)
> > Thread-36/XMLResourceBundle: messages: cache_not_found contains:
> > /catalogue/message[@key='aggio']
> > DEBUG   (2002-02-01) 12:55.10:651   [cocoon  ] (/mare/index.html)
> > Thread-36/I18nTransformer: I18nTransformer: End i18n element: text
>
> It seems that the parser is emitting 'characters' events in the middle
> of the string (this is to be expected, isn't it?), and the transformer
> doesn't like this. I've looked into the source, and it seems that as
> soon as a 'characters' event is received (inside a i18n:text element)
> the (partial) string is looked up. Shouldn't this be done inside the
> I18NendElement method?

Why should the 'characters' event be splitted to parts? If it's not a bug in
the parser (it's a feature) then the bug is in i18n transformer and it
should be fixed.

Regards,
    Konstantin Piroumian

>
> (oh, with cocoon-2.0 it probably worked because of a differen xerces
> implementation)
>
> --
>
> Dakkar - <Mobilis in mobile>
> GPG public key fingerprint = A071 E618 DD2C 5901 9574
>                              6FE2 40EA 9883 7519 3F88
>                     key id = 0x75193F88
>
> Technicality, n.:
> In an English court a man named Home was tried for slander in having
> accused a neighbor of murder.  His exact words were: "Sir Thomas Holt
> hath taken a cleaver and stricken his cook upon the head, so that one
> side of his head fell on one shoulder and the other side upon the
> other shoulder."  The defendant was acquitted by instruction of the
> court, the learned judges holding that the words did not charge murder,
> for they did not affirm the death of the cook, that being only an
> inference.
> -- Ambrose Bierce, "The Devil's Dictionary"
>
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
> To unsubscribe, e-mail: <co...@xml.apache.org>
> For additional commands, e-mail: <co...@xml.apache.org>
>

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>