Re: [xslt] XSieve: XSLT + Scheme



On Thu, Sep 08, 2005 at 01:06:18AM +0400, Oleg A. Paraschenko wrote:
>   I don't remember all the libxslt-related puzzles. But I remember
> the top two:
> 
> * libxml automatically joins text nodes in xmlAddChld. This broke
> xmlNodePtr<->Scheme value mapping.

  It is IMHO the XPath data model:
    http://www.w3.org/TR/xpath#section-Text-Nodes
    "As much character data as possible is grouped into each text node:
     a text node never has an immediately following or preceding sibling
     that is a text node."
 it is compliance to the XSLT-1.0/XPath-1.0 data model.

> * libxslt optimizes "xsl:text", and it isn't described in documentation.

  well the compilation process is not fully described, it would take ... the
source code more or less :-)

> Thanks gdb for assistance in fixing a related bug:
> 
> http://uucode.com/blog/2005/08/23/nasty-libxslt-surprise/

  hum, I'm not sure I follow that description, what did you give to 
the xslt compilation ?
  For lasttext lasttsize and lasttuse, when you save as text you basically
output to one text node over and over. If you don't preallocate/add when 
growing text node you hit a quadratic behaviour killing performances 
really really fast. So when growing repeatedly a text node, those 3
variables are used to increment a preallocated buffer and go back to a 
linear behaviour. You just had to ask I would have answered I think
in that case there is a very good reason for this processing :-)
  At least now it is documented in the archived, indexed public list ...

>   Anyway, I'm happy with libxml/libxslt. Thank you for great work!

  Thanks,

Daniel

-- 
Daniel Veillard      | Red Hat Desktop team http://redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]