xsl-list
[Top] [All Lists]

RE: Parse or concat query string

2005-12-15 10:57:26



Given an html form that passes the following query string:

approved=1&approved=3&approved=4&foo=bar

how do I parse/concat the query string to end up with all the 
'approved' parameter values as a comma separated list?

<xsl:variable name="queryParams"
  select="tokenize($URL_query_string, '&amp;')"/>

<xsl:variable name="approvedParams"
  select="for $p in queryParams[startsWith(., 'approved=')]
          return subtring-after($p, 'approved=')"/> 

<xsl:value-of select="concat('(', string-join($approvedParams, ','), ')')


For example: (1,3,4)

Also, during this process, can I use as="xs:integer" to verify that 
the concatenated parameter values are indeed integers?

No, because the values aren't integers until you convert them to integers.

You can use "castable as xs:integer" to test whether they are capable of
being so converted.

Michael Kay
http://www.saxonica.com/



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>