This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Implementing XPointer Resolution With saxon:evaluate()
Jeni Tennison wrote:
> or (if you want to be able to handle multiple points), rejig the code
> so that you use recursion to collect together all the nodes that you
> want to return from the function.
Ok, I'm feeling a bit dim here, but we've puzzled on this a bit and
can't see a way to solve this problem using recursion in the context of
XSLT-based implementation because we don't see a way to append to a node
list within the scope of a func:result element--there is no way to
simply call a function in order to get its value (copy-of isn't the
correct semantics).
That is, I would expect to be able to do something like this:
<func:function name="xindrf:resolve-xpointer">
<func:result>
<xsl:for-each select="$direct-result-set">
<xsl:choose>
<xsl:when test="self::xindr:indirector":>
<xsl:get-node-set select="xindrf:resolve-xpointer(.)"/>
</xsl:when>
<xsl:otherwise>
<xsl:get-node-set select="."/>
</xsl:otherwise>
</xsl:for-each>
</func:result>
</func:function>
This would have the effect of constructing the node set I want, but
without "get-node-set" I don't see a way to do it.
What have I missed?
Thanks,
E.
--
W. Eliot Kimber, eliot@isogen.com
Consultant, ISOGEN International
1016 La Posada Dr., Suite 240
Austin, TX 78752 Phone: 512.656.4139
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list