Gary-

Thanks for looking into this!  I am able to use a Node in the argument
list and the processor does find the function.  Thank you very much!

Here's what I was able to accomplish (in case you're curious):

I was trying to mimic the XSL 1.1 spec behavior of creating a tree
fragment in an XSL variable and being able to use that tree as a node
set (i.e. call apply-templates on it).  According to XSL 1.0, you can
only copy that tree to the output, or use it to pass to other
functions.  With this extension function, I am able to return a Node of
the fragment and call apply-templates against it.

OK, so the only thing my extension does is:

<java-source>

    /** Converts a DocumentFragment to a NodeSet.
     */
    public Node nodetree( Node frag ) {
        return frag ;
    }

</java-source>


Not terribly exciting, but it was the only way I could get it to work,
so it's actually very cool!  Thanks again!
--jah


Gary L Peskin wrote:
> 
> Jason --
> 
> Hi.  The problem is that we don't currently support DocumentFragment as
> an argument in a java extension for receiving an RTF.  I seem to recall
> that there was a good reason for this but I don't remember that reason
> at the moment.  So, I'll do some more thinking and either come up with
> the reason or add in the support for the java argument being a
> DocumentFragment.
> 
> In the meantime, can you substitute a NodeIterator or NodeList or Node?
> The Node will get you the first child of the DocumentFragment.
> 
> Gary
> 
> jason heddings wrote:
> >
> > Hello!
> >
> > I am trying to create an extension that will accept a Result Tree
> > Fragment as it's argument.  From the Xalan Extensions doc on the site, I
> > gathered this is of type org.w3c.dom.DocumentFragment and I created a
> > method that accepts this argument.  The processor is unable to find this
> > method, however.
> >
> > As a sanity check just to make sure that the class and method were
> > found, I changed the method to accept a String and it worked fine.
> >
> > <java-source>
> >
> >     public String parse( DocumentFragment frag ) {
> >         return "running parse( )" ;
> >     }
> >
> > </java-source>
> >
> > <xsl-source>
> >
> >   <xsl:variable name="tree-frag">
> >     <new-element>
> >       <child />
> >     </new-element>
> >   </xsl:variable>
> >
> >   <xsl:value-of select="ext:parse( $tree-frag )" />
> >
> > </xsl-source>
> >
> > Should this work?
> >
> > Thanks in advance for any help!
> > --jah


-- 

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      \\\|///                 Jason Heddings             ((
     \\ ~ ~ //                303.272.5166 (x75166)    C|~~|
     (/ @ @ /)                [EMAIL PROTECTED]    `__'
 ~~oOOo~(_)~oOOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to