|
Subject: Re: [xsl] how to handle structured data from Java From: Kevin Rodgers <kevin.rodgers@xxxxxxx> Date: Mon, 10 Jan 2005 15:17:16 -0700 |
Robert Koberg writes:
> Kevin Rodgers wrote:
> > I need to pass an attribute value to a Java method implemented by a
> > co-worker and save the resulting object in a variable (since it's a
> > relatively expensive operation), then access the object's string
> > components. Should I write an extension function in Java to call his
> > method and convert the object into a DOM Node that would be stored via
> > <xsl:value-of name="variable" select="extension:function(@attribute)">?
> > How would I then access its subnodes -- via select="$variable/component-x"?
>
> You really don't want to use extensions.
>
> > Or is there a better way?
>
> I think so. Have your co-worker create a class that implements
> javax.xml.transform.URIResolver. It should check for the value coming in
> as an href. When the resolver sees your attribute value, have him return
> an appropriate XML Source. Then you can do the following in your XSL:
>
> <xsl:variable name="myvar" select="document(@myattr)"/>
OK, but where do I reference HisClass?
URIResolver only declares the resolve method, which returns a Source.
But the Source interface only declares 2 methods, getSystemId and
setSystemId, neither of which is defined to return a dynamic value like
an XML string.
And since the document function takes a URI, shouldn't the select
expression be something like
"document(concat('http://server/HisServlet?foo=', @myattr))"
If so, then why does he need to implement URIResolver as HisClass --
couldn't he just implement HisServlet?
Thanks,
--
Kevin Rodgers
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Mixed Content, Edgar Steven | Thread | Re: [xsl] how to handle structured , Robert Koberg |
| Re: [xsl] Re: FO questions, J.Pietschmann | Date | Re: [xsl] xsl:sort not working unde, Anton Triest |
| Month |