I'm documenting the new XSL extension and needed a little clarification
on the two XSL functions in the PHP namespace [function() and
functionString()]. In what case would either of these XSL functions be
called? As I understand it php:function() only allows string parameters
to the handling PHP function whereas php:functionString() allows passing
element values to the function.
Examples:
<xsl:value-of select="php:function('date', 'r')"/>
Outputs the RFC formatted date (current date/time)
<xsl:value-of select="php:functionString('date', 'r', date)"/>
Outputs the RFC formatted date of the <date> element as the unix
timestamp
I just wanted to be sure of what I've gathered from testing and the
source that the usage of both functions is correct. Any other
information would be appreciated.
Thanks,
Kenneth
Examples:
<xsl:value-of select="php:function('date', 'r')"/>
Outputs the RFC formatted date (current date/time)<xsl:value-of select="php:functionString('date', 'r', date)"/>
Outputs the RFC formatted date of the <date> element as the unix
timestampI just wanted to be sure of what I've gathered from testing and the
source that the usage of both functions is correct. Any other
information would be appreciated.
Yes. This is correct. php:functionString() allows you to pass
arbitrary elements to a function. This can be a text node, (as in your
example above), or even an entire set of element nodes. For example:
<xsl:value-of select="php:functionString('myDate', //date")/>
myDate is some userland function that iterates through an array of
//date nodes using DOM, does something on them, and returns a
value. If I was more awake, I'd give you a better example, but you get
the picture.
-adam
--
adam@trachtenberg.com
author of o'reilly's php cookbook
avoid the holiday rush, buy your copy today!