webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  passing an xslt variable through a form handler url

    Posted Tue March 06, 2007 09:41 PM

    I created a full text search form using the form handler as mentioned in the Tamino user guide:

    http://techcommunity.softwareag.com/ecosystem/documentation/crossvision/ins441/htreq/fhcreate.htm#fhcreate

    I’m trying to pass along a variable to a stylesheet through this form.

    My form looks something like this:



    This will send the following URL: http://myserver/tamino/mydb/mycollection?_HTMLreq=_XQL//tamino/mydb/mycollection/xsl:stylesheet/searchResults.xslt&xslt_TOCBookTitle=How to Get Rich Quick&XQLNode=//TOC&//*=sometypedinkeyword

    On my stylesheet I have:

    <xsl:param name=“TOCBookTitle”>

    <xsl:template match=“/”>
    <xsl:value-of select="$TOCBookTitle/>
    . . . .

    This does not work. My form works fine when I remove the &xslt_TOCBookTitle=How to Get Rich Quick&XQLNode, so I know the from is OK. The styelsheet works fine too. I just can’t make this happen. Is there anyway to pass along a variable to a stylesheet through a form handler or XQL type URL?

    Any help would be much appreciated!


    #webMethods
    #Tamino
    #API-Management


  • 2.  RE: passing an xslt variable through a form handler url

    Posted Wed March 07, 2007 08:49 AM

    Hi Julia,

    This is a bit tricky!

    The processing of a URL in Tamino works as follows:
    (1) split URL into separate parameters delimited by “&”
    (2) for each parameter:
    (2.1) get command string:= part of parameter left of ‘=’
    (2.2) get
    command verb := part of command string left of ‘/’
    style sheet ref := part of command string right of ‘/’
    (2.3) if command verb is unknown: ignore; otherwise:
    (2.4) execute command and embed stylesheet ref into XML response
    document:
    <?xml-stylesheet type="text/xsl" href="style sheet ref "?>

    Based on (1) it is not really surprising that your approach did not work.
    If you use URL encoding for ‘&’ and ‘=’, i.e. “…%26xslt_TOCBookTitle%3D…”

    • the style sheet ref inserted into the response document will not be truncated due to (1) but contain “…&xslt_TOCBookTitle=…”
    • the stylesheet should be retrieved by the browser as desired
    • the bad news is:
      at least IE 7 does not seem to resolve the URL in the xml-stylesheet processing instruction once it contains an ampersand.
    • the little good news: it works with Firefox

    Regards
    Uli


    #API-Management
    #webMethods
    #Tamino