On Sat, Sep 27, 2008 at 12:58:50AM +0100, Martin (gzlist) wrote:
> On 25/09/2008, Daniel Veillard <[EMAIL PROTECTED]> wrote:
> >
> >   Stephan, Martin,
> >
> >  could you check the enclosed patch ? I'm commiting it to SVN head too
> >  but it's probably easier to review that way.
> 
> I built trunk and had a play around, this handles my use case, thanks!
> 
> A couple of concerns, first it's not *totally* clear which options
> should be used together. Should at least be documented, and maybe
> clearly defined in the code as well.
> 
> The patch has a bunch of additions like this:
>          xmlSaveCtxtInit(&ctxt);
>     +    ctxt.options |= XML_SAVE_AS_XML;
> Move that common case into xmlSaveCtxtInit and overwrite after in
> xmlNewSaveCtxt for the exception of wanting to save as html?

  No, the point is that by default you have no options, and to
force the XML_SAVE_AS_XML only on the old xmlDump* functions to
restore their behaviour. xmlSaveCtxtInit() should be kept neutral.

> Or put logic in xmlNewSaveCtxt to make the set of options on the ctxt sane?
> Or could the format parameter in those functions be safely upgraded to
> full options - the signature is the same and XML_SAVE_FORMAT is 1
> anyway, but I guess if people have been passing some other non-zero
> value for formatting that'd break compatibility.

  I really think the current code is proper it express that those old
entry point force output as XML.

> Finally, having XML_SAVE_AS_HTML makes it seem like you could save any
> xml-flavoured-html document in non-xml-flavoured form, but that's not
> quite the case. One thing I found was that the overloading of
> XML_CDATA_SECTION_NODE to also be HTML_PRESERVE_NODE means the
> contents get output raw, see HTMLtree.c lines 838-843 in
> htmlNodeDumpFormatOutput.

  Okay, maybe that need fixing, yes.

> >  Basically it adds 3 parsing options, and for the old entry points
> >  xmlDump* not xmlSave based it forces the XML_SAVE_AS_XML bypassing
> >  the doc type in case of HTML documents. that should fix Stephan problem
> >  and also provide ways to do things with xmlSave when available.
> >  For the 'problem' of the added meta an XML_SAVE_IMMUTABLE option could
> >  be added that sounds more generic, but i'm not adding this in the patch
> >  to not complicate things.
> 
> A don't-fiddle-with-the-tree option sounds like a possibility, though
> I do find the duplication of xml:lang to lang useful.

  I see but the threading aspect of XML_SAVE_IMMUTABLE is an important
point IMHO.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
[EMAIL PROTECTED]  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to