Hi All,

I'm just wondering if there is a way to place a java object (not a tree 
fragment) into the context output results from an extension element, and have 
it stay as an object (and not have it turned into a Document node).

Here is the exact use case.  I have a custom extension that creates an object 
that is used later on throughout my xslt.  The use case I want is:

<xsl:variable name="somevarname">
   <custom:myobject>
      <custom:property name="blah" value="blah"/>
   </custom:myobject>
</xsl:variable>

The function myObject(XSLProcessorContext, ElemExtensionCall) on the object 
mapped to the prefix 'custom' creates a java object, and places it to the 
output tree thus:

context.outputToResultTree(context.getStylesheet(), myCreatedObject);

Now, when I try to reference that later, it's been turned into a text node on a 
Document object whos value is the value of the toString() method for 
'myCreatedObject'.  So I think I'm using the wrong method here...and that 
perhaps there's a better method other than outputToResultTree??

So I'm guessing xalan <xsl:variable...> tag is creating a document fragment 
from my object as best it can.

So my question is...is there anyway, to pass myCreatedObject up to the previous 
<xsl:variable...> declaration without it being toStringed (another method 
somewhere).

My fallback is to declare a varName attribute on all my custom extension and 
put the object on the local variable stack myself, but that's a pain and looks 
ugly, I'd prefer to do it using xsl:variable.

This is for an open source (large) xalan extension library to be releases asap.

Cheers
Adam


      
__________________________________________________________________________________
Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7.
Enter now: http://au.docs.yahoo.com/homepageset/

Reply via email to