Subject: Re: bug#20339: sxml simple: sxml->xml mishandles namespaces?

From: Andy Wingo <[email-masked]>
Date: Thu, 14 Jul 2016 12:10:17 +0200

Hi :)

On Wed 13 Jul 2016 15:24, [email-masked] writes:

> Referring to Oleg Kiseliov's paper [1], there are actually three
> things involved:

This summary is helpful, thanks.
> What is missing? From my point of view:
>
>  - At xml->sxml time, the user doesn't know which namespaces
>    are in the xml. So it would be nice if the XML parser
>    could provide that.

For some documents you do know, of course.

And for larger perspective, I think that SSAX gives you all the tools
you need to build specialist and very flexible XML parsers.  So to an
extent solving the general problem isn't necessary -- we can always
point people to SSAX.  But that's a bit rude ;) so if there are common
patterns we should try to capture them in xml->sxml.  I see this bug as
being a search for those patterns, but without the requirement of
solving the problem in its most general form.

>  - It would be super-nice if the XML parser could put that
>    into the same nodes it found it, as described in [1]
>    (i.e. in the (*NAMESPACES* ...) pseudo-attribute).
>    This way we wouldn't have a global mapping, but one
>    that resembles the original XML, even with the same
>    prefixes. Less surprises overall. The round trip
>    xml -> sxml -> xml would be (nearly) the identity.
>
>    With Ricardo's patch it would lump all the namespace
>    declarations up in the top node, which formally is
>    correct, but might scare XML people a bit :-)

ACK.

>  - At sxml->xml time there should be a way to somehow
>    generate prefixex for "new" namespaces. I don't know
>    at the moment how this would work, that depends on
>    how the user is supposed to insert new nodes in the
>    SXML. Does she specify the namespace? Both prefix
>    (aka namespace-id, under my current assumption) *and*
>    namespace? (note that the namespace-id/prefix alone
>    wouldn't be sufficient).

ACK.

What do you think the next step is?  I am happy to wait FWIW, dunno if
Ricardo has any feelings here.

Enjoy your holiday :)

Andy