I have another example of segmentation faults when returning values from
exslt functions.  Again, I can't give you a minimal test stylesheet
(durn it), but this one has a slightly different configuration and the
solution may be of interest.

The function itself is a pretty straightforward substitute for the
non-existent fn:lower-case() xpath function:

    <func:function name="wpn:lowercase">
        <xsl:param name="str" />
        <func:result
select="translate($str,$upper_alphabet,$lower_alphabet)" />
    </func:function>

In this case I was not able to modify the function itself so as to get
rid of the segmentation fault.  Nothing worked.

The original place where the segfault was happening was the line:

    <xsl:variable name="lower" select="wpn:lowercase(string(.))" />

The following modification removed the segfault:

    <xsl:variable name="lower">
        <xsl:value-of select="wpn:lowercase(string(.))" />
    </xsl:variable>

Interesting, neh?

I have done some cursory code inspection.  All that bought me was the
knowledge that cursory code inspection was insufficient.  Duh.

I can duplicate this with xsltproc and our entire body of templates.  I
would take a whack at debugging through at this point if I knew how to
get started with the debugger with libxml/libxslt.  For example, are
there debugging parameters to make?  Is there a web page giving hints on
this?

Thanks,
Marc M. Adkins

_______________________________________________
xslt mailing list, project page http://xmlsoft.org/XSLT/
[email protected]
http://mail.gnome.org/mailman/listinfo/xslt

Reply via email to