XML2PO is weird!
veillard at redhat.com
Sun Mar 5 13:35:30 UTC 2006
On Sun, Mar 05, 2006 at 11:25:14AM +0000, Miloš Komarčević wrote:
> On 3/5/06, Tommy Reynolds <Tommy.Reynolds at megacoder.com> wrote:
> > It seems that xml2po(1) will sometimes expand entities and will
> > sometimes _not_ expand entities. There is a "-k" or a
> > "--keep-entities" that claims "Don't expand entities", but it lies.
> > Evidently there is a fallback mode in xml2po(1) where *all* entities
> > are expanded. I know there is an "-e" or "--expand-all-entities"
> > switch, but I'm not using it.
> > For example, generate a .POT file:
> > $ cd example-tutorial
> > $ xml2po -o the.pot en_US/example-tutorial.xml
> > and then apply it (UNCHANGED!) against the original XML file using
> > various combinations of "-e", "-k" and no switches at all:
> > $ xml2po -o junk-e.xml -e -p the.pot en_US/example-tutorial.xml
> > $ xml2po -o junk-k.xml -k -p the.pot en_US/example-tutorial.xml
> > $ xml2po -o junk-plain.xml the.pot en_US/example-tutorial.xml
> > and then compare the files using diff(1). There are NO differences.
> > Anybody care to explain? Or suggest a work-around?
> I've incidentally contacted the xml2po maintainer on a different
> subject, and Danilo did indeed confirm that the -k option is currently
> broken. He suggested somebody file a bug report at
> and he'll look at it if there's a lot of interest.
Using a parameter entity in the internal subset to localize
a XML document sounds extremely fragile to me, and a good way to
get into troubles and uninteroperable behaviours.
I wonder who suggested that, it's IMHO close to be broken beyond repair.
Asking to modify the structure while preserving parameter entities in
the internal subset mean at the same time to maintain the textual serialization
and to manipulate the document at the structure level, it is near impossible.
Daniel Veillard | Red Hat http://redhat.com/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the trans