More search form grief (I keep trying).
I have searched everywhere and have not found a way to make this happen. I’m trying to take the value of a text input form element and turn it into a variable I can place in a hidden input form element value. I need to do this becuase I am creating a full text search form which should only search through certain files in multiple doctypes.
For example:
search keyword = ‘somekeyword’
Get me all docs in //Procedure[@ID = ‘1’ or @ID =‘2’] | //Concept[@ID = ‘5’] | //Process[@ID = ‘1’ or @ID =‘2’] with ‘somekeyword’ in text of all nodes.
I know the xquery would be:
http://hsicomp01/tamino/mydb/mycollection?_xql=//Procedure[@ID = '1' or @ID ='2' and //*='somekeyword'] | //Concept[@ID = '5' and //*='somekeyword'] | //Process[@ID = '1' or @ID ='2' and //*='somekeyword']
But all I can seem to create using the Tamino form handler is something like (xql url vs. HTMLreq url):
http://hsicomp01/tamino/mydb/mycollection?_xql=//Procedure[@ID = '1' or @ID ='2'] | //Concept[@ID = '5'] | //Process[@ID = '1' or @ID ='2'][//*='somekeyword']
So I figured if I could just grab the value of a text input and include it in a variable that makes up the XQLNode value, I could get what I want. But no dice.
Here’s what I have so far:
I have a form in an xsl styelsheet (simplified version):
<form id="search" name="search" action="http://hsicomp01/tamino/mydb/mycollection">
<input>
<xsl:attribute name="type">text</xsl:attribute>
<xsl:attribute name="size">20</xsl:attribute>
<xsl:variable name="keyword" select="@value"/>
</input>
<xsl:variable name="XQLNode">
//Procedure[//@ID="<xsl:value-of select="$ProcedureIDArray"/>" and //*="<xsl:value-of select="$keyword/*"/>"] | //Concept[//@ID="<xsl:value-of select="$ConceptIDArray"/>" and //*="<xsl:value-of select="$keyword/*"/>"] | //Process[//@ID="<xsl:value-of select="$ProcessIDArray"/>" and //*="<xsl:value-of select="$keyword/*"/>"]
</xsl:variable>
<input>
<xsl:attribute name="type">hidden</xsl:attribute>
<xsl:attribute name="name">_HTMLreq</xsl:attribute>
<xsl:attribute name="value">_XQL//tamino/mydb/mycollection/xsl:stylesheet/searchResults.xslt</xsl:attribute>
</input>
<input>
<xsl:attribute name="type">hidden</xsl:attribute>
<xsl:attribute name="name">XQLNode</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="$XQLNode"/></xsl:attribute>
</input>
<input type="submit" value="process"/>
</form>
Is there any way I can do this?