XSLT extension functions
Gary Benson <[email protected]> Mon, 10 Jun 2002 11:42:45 +0100 (BST)
| Newsgroups | gmane.comp.gnome.lib.xml.bindings |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I've been trying to write some extension functions in python, and have a
few questions. Firstly, I've been trying something like the example in
extfunc.py:
| def f(ctx, str):
| return string.upper(str)
|
| libxslt.registerExtModuleFunction("foo", "http://example.com/foo", f)
This works fine when I call it like in the example:
| <xsl:value-of select="foo:foo('bar')"/>
But, if I call it with something like:
| <xsl:value-of select="foo:foo(@date)"/>
Then instead of a string, the function gets passed a list of one
PyCObject. What is this object, and how do I turn it into something I can
access? I'm currently working around this by calling foo:foo(string(@date))
but that's a little hacky...
Secondly, with this method I am only able to return strings (or, I guess,
numbers). How would I go about returning a node set? What would you
create the node set from, since you need a parent node to create a new
node?
Finally, is it possible to create an XSL thing instead of creating an
XPath function? So I could do something like:
| <foo:foo select="@date">
rather than using xsl:value-of.
Cheers,
Gary
[ [email protected] ][ GnuPG 85A8F78B ][ http://inauspicious.org/ ]