This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]