XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Atif SarfrazSubject: Passing variables to XSLT form
Author: Atif Sarfraz
Date: 11 Jan 2002 11:35 AM
Hi,

I am developing some forms using XSLT, and need some way of passing a variable to the forms through a Java Servlet.

For E.g. the sample code below selects the address for Borrower[1]. I need some way of passing a variable to it e.g. Borrower[x], and specifying the value of x as 1 or 2 depending upon the parameter passed through my Java Servlet.

{xsl:for-each select="HSCROOT/MORTGAGEDATA/BORROWER[1]/BORROWERRESIDENCE[2]/ADDRESS/Address1"}
{input type="text" name="Address1"}
{xsl:attribute name="value"}{xsl:value-of select="."/}{/xsl:attribute}
{/input}
{/xsl:for-each}

Can you figure out a way to do it?

Regards,

Atif Sarfraz

Postnext
Ivan PedruzziSubject: RE: Passing variables to XSLT form
Author: Ivan Pedruzzi
Date: 11 Jan 2002 12:27 PM
Hi Atif,

You could re-design your stylesheet using parameters




(!-- here is the
configurable part-->








select="."/>




Ivan Pedruzzi
eXcelon Corporation
http://www.stylusstudio.com



> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager]
> Sent: Friday, January 11, 2002 11:45 AM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: Passing variables to XSLT form
>
>
> From: "Atif Sarfraz"
>
> Hi,
>
> I am developing some forms using XSLT, and need some way of
> passing a variable to the forms through a Java Servlet.
>
> For E.g. the sample code below selects the address for
> Borrower[1]. I need some way of passing a variable to it e.g.
> Borrower[x], and specifying the value of x as 1 or 2
> depending upon the parameter passed through my Java Servlet.
>
> {xsl:for-each
> select="HSCROOT/MORTGAGEDATA/BORROWER[1]/BORROWERRESIDENCE[2]/
> ADDRESS/Address1"}
> {input type="text" name="Address1"}
> {xsl:attribute name="value"}{xsl:value-of
> select="."/}{/xsl:attribute}
> {/input}
> {/xsl:for-each}
>
> Can you figure out a way to do it?
>
> Regards,
>
> Atif Sarfraz
>
>
>
> To reply: mailto:stylus-studio-xslt.4400@edn.exceloncorp.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exceloncorp.com
> To login: http://edn.exceloncorp.com/~SSDN
>
>

Postnext
Atif SarfrazSubject: Passing variables to XSLT form
Author: Atif Sarfraz
Date: 11 Jan 2002 01:10 PM
Hi,

Thanks for the answer. However the part that I want to configure is the value that you have specified to your variable p1 i.e. 2.

{xsl:with-param name="p1" select="2"/}

This value is to be specified through some user selection in a previous form, which is invoking this form. I mean that is the parameter that I have to pass to the above script from Java. Something like

{xsl:with-param name="p1" select="{%=request.getParameter("borrowerNo")%}"/}

Would it be possible to pass a value like this?

Postnext
Ivan PedruzziSubject: RE: Passing variables to XSLT form
Author: Ivan Pedruzzi
Date: 11 Jan 2002 02:07 PM
I assume that you are using java api inside your servlet to run the
stylesheet, so you should be able to set stylesheet's parameters using
the Transformer's method

public void setParameter(String name, Object value)

If you have XalanJ take a look to the samples directory, you will find
good examples


Ivan Pedruzzi
eXcelon Corporation
http://www.stylusstudio.com



> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager]
> Sent: Friday, January 11, 2002 1:20 PM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: Passing variables to XSLT form
>
>
> From: "Atif Sarfraz"
>
> Hi,
>
> Thanks for the answer. However the part that I want to
> configure is the value that you have specified to your
> variable p1 i.e. 2.
>
> {xsl:with-param name="p1" select="2"/}
>
> This value is to be specified through some user selection in
> a previous form, which is invoking this form. I mean that is
> the parameter that I have to pass to the above script from
> Java. Something like
>
> {xsl:with-param name="p1"
> select="{%=request.getParameter("borrowerNo")%}"/}
>
> Would it be possible to pass a value like this?
>
>
>
> To reply: mailto:stylus-studio-xslt.4402@edn.exceloncorp.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exceloncorp.com
> To login: http://edn.exceloncorp.com/~SSDN
>
>

Postnext
Atif SarfrazSubject: RE: Passing variables to XSLT form
Author: Atif Sarfraz
Date: 21 Jan 2002 02:19 PM
Hi,

Yes I have tried passing the variables but and they do get passed but I can't use them within xsl:for-each expression.

Previously I have been using the expression as follows:

{xsl:for-each select="HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName"}


What I want to achieve is to use the xslString defined in the expression below, in my select. I am receiving the actual expression from Java servlet.

{xsl:param name="xslString" select="'HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName'"/}

and now use an expression like

{xsl:for-each select="$xslString"}

However it give me the following error

Cannot convert to node-set.

Is there a way around to handle this?

Postnext
Ivan PedruzziSubject: RE: Passing variables to XSLT form
Author: Ivan Pedruzzi
Date: 21 Jan 2002 02:38 PM

> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager]
> Sent: Monday, January 21, 2002 2:29 PM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: RE: Passing variables to XSLT form
>
>
> From: "Atif Sarfraz"
>
> Hi,
>
> Yes I have tried passing the variables but and they do get
> passed but I can't use them within xsl:for-each expression.
>
> Previously I have been using the expression as follows:
>
> {xsl:for-each select="HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName"}
>
>
> What I want to achieve is to use the xslString defined in the
> expression below, in my select. I am receiving the actual
> expression from Java servlet.
>
> {xsl:param name="xslString"
> select="'HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName'"/}


You are passing the argument as string, try instead

{xsl:param name="xslString"
select="HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName"/}

Ivan Pedruzzi
eXcelon Corporation
http://www.stylusstudio.com


>
> and now use an expression like
>
> {xsl:for-each select="$xslString"}
>
> However it give me the following error
>
> Cannot convert to node-set.
>
> Is there a way around to handle this?
>
>
> To reply: mailto:stylus-studio-xslt.4461@edn.exceloncorp.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exceloncorp.com
> To login: http://edn.exceloncorp.com/~SSDN
>
>

Postnext
Atif SarfrazSubject: RE: Passing variables to XSLT form
Author: Atif Sarfraz
Date: 21 Jan 2002 02:58 PM
Hi Ivan,

Thanks, Its working with the following code i.e. by defining it as an expression

{xsl:param name="xslSt" expr="HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName"/}

Is there a way to do some string addition in the above expression. I mean I receive some no like 1, 2, 3, ......, from Java within my xsl parameter borrowerNo. e.g.

{xsl:param name="borrowerNo" select="'1'"/>

I want to use this no to build the first expression (e.g. BORROWER[1], BORROWER[2] etc). How can I do that?

Regards,

Atif

Posttop
Ivan PedruzziSubject: RE: Passing variables to XSLT form
Author: Ivan Pedruzzi
Date: 21 Jan 2002 03:18 PM
Atif,


XSLT 1.0 doesn't support what you are trying to do: evaluate a string as
XPath expression.
The expr attribute is an XIS/Stylus custom extension. So if you are
using XIS you can do

{xsl:param name="pos"}
{xsl:param name="xslSt"
expr="HSCROOT/MORTGAGEDATA/BORROWER[position()=number($pos)]/FirstName"/
}

Or even

{xsl:param name="myxpath"}
{xsl:param name="xslSt" expr="$(myxpath)"/}

If you want to comply to XSLT 1.0 you should change you design creating
a template that match your Xpath and test the position:

{xsl-template name= "MyTemplate" match="HSCROOT/MORTGAGEDATA"}
{xsl:param name="pos"/}
{xsl:for-each select="BORROWER[position()=number($pos)]"}

{/xsl:for-each>}
{/xsl-template}




Ivan Pedruzzi
eXcelon Corporation
http://www.stylusstudio.com

Ivan Pedruzzi
eXcelon Corporation
http://www.stylusstudio.com



> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager]
> Sent: Monday, January 21, 2002 3:08 PM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: RE: Passing variables to XSLT form
>
>
> From: "Atif Sarfraz"
>
> Hi Ivan,
>
> Thanks, Its working with the following code i.e. by defining
> it as an expression
>
> {xsl:param name="xslSt"
> expr="HSCROOT/MORTGAGEDATA/BORROWER[1]/FirstName"/}
>
> Is there a way to do some string addition in the above
> expression. I mean I receive some no like 1, 2, 3, ......,
> from Java within my xsl parameter borrowerNo. e.g.
>
> {xsl:param name="borrowerNo" select="'1'"/>
>
> I want to use this no to build the first expression (e.g.
> BORROWER[1], BORROWER[2] etc). How can I do that?
>
> Regards,
>
> Atif
>
>
>
> To reply: mailto:stylus-studio-xslt.4463@edn.exceloncorp.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exceloncorp.com
> To login: http://edn.exceloncorp.com/~SSDN
>
>

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.