Re: [xslt] FYI on string interning of XSLT transform mode/modeURI



On Mon, Mar 21, 2005 at 04:23:31PM -0800, Mark Vakoc wrote:
> Just an FYI for the list, a problem I found that was tricky to find.  
> 
> The latest (1.1.13) libxslt requires that the mode and mode uri of rhe
> transform context be interned within hte transform context's dictionary.  I use
> to do something along hte lines of:
> 
> 1:  xsltTransformContextPtr ctxt = xsltNewTransformContext(....)
> 2:  ctxt->mode = BAD_CAST "test";
> 3:  xsltApplyStylesheetUser(....., ctxt);
> 
> The expected template would never run because libxslt is using pointer compares
> without hte fallback to xmlStrEQual.  Line 2 needs to be something like:
> 
> ctxt->mode = xmlDictLookup(ctxt->dict, "test", -1);
> 
> Daniel, would it be possible to have some #IFDEFed debugging that could call
> xmlDictOwns() for strings that *must* be interned in the transform dict to
> verify their presence?  This was a tough one to find because of some sort of
> stack corruption caused by it.

   This is a good idea, but where, maybe in xsltApplyStylesheetInternal() ?
Another possibility would be to force the interning at that level instead of
generating an error, but I really didn't expect people would tweak those
data .

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]