Help with XSLT / XML file

Discussion in 'Programming General' started by germaine, Aug 6, 2012.

Help with XSLT / XML file
  1. Unread #1 - Aug 6, 2012 at 8:43 PM
  2. germaine
    Joined:
    Apr 14, 2012
    Posts:
    11
    Referrals:
    0
    Sythe Gold:
    0

    germaine Newcomer

    Help with XSLT / XML file

    I have the following XSLT file at the moment, and I want to be able to take the user's input from the button here in order to filter my XML data

    Code:
      <xsl:template match="/">
        <html>
          <head>
    
          </head>
          <body>
            <input type="text" id="txtSearch"/>
            <input type="submit" name="btnSearch" value="Search" onclick="" />
    
            <br />
            <br />
            <!-- Call to the procedure/function -->
            <xsl:apply-templates select="CommercialClients">
            </xsl:apply-templates>        
          </body>
        </html>
      </xsl:template>
    
      <!-- Procedure/function -->
      <!-- Loop through each AClient and retrieve CompanyName-->
      <xsl:template match="CommercialClients">
        <xsl:for-each select="AClient[starts-with(CompanyName,'L')]">
          <xsl:sort select="CompanyName" order="ascending"/>
            <xsl:value-of select="CompanyName"/>
            <br />
        </xsl:for-each>
      </xsl:template>
    And I also have an XML document which goes with it like this:

    Code:
    <CommercialClients>
    <AClient>
    <ClientNo>1813</ClientNo><CompanyName>K Plastics</CompanyName><FullAddress>
      <Address>Cleveragh Industrial Estate </Address>
      <Town>SLIGO</Town>
      <Country>IRELAND</Country>
      <PostCode>00353 7166</PostCode>
    </FullAddress><TelephoneNo/>
    </AClient>
    My problem: I want to use the button I have made so that when the user clicks the button, it takes in the user's input from the textbox and filters the data to display.

    So if the user enters into the textbox "L", it will only display companies beginning with the letter "L". At the moment it is hard coded to only display companies with "L" and I am unsure of how to make it user defined.

    Any help or ideas? Here is the ASPX file but I have no idea how to use all of this to edit the filter!

    Code:
    //from the request object get the value of the filter
    string AFilter = Request.QueryString["txtFilter"];
    //if there is no filter
    if (AFilter == null)
    {
        //make the filter a blank string (a null value will crash the program)
        AFilter = "";
    }
    //create an instance of the XML Conduit class passing the name of the xml file to the constructor
    MyClassLibrary.clsXMLConduit MyXMLConduit = new MyClassLibrary.clsXMLConduit("commercial.xml");
    //add a parameter to filter the data on company name
    MyXMLConduit.AddParameter("CompanyFilter", AFilter);
    //perform the transformation using the xslt file commercial.xslt
    MyXMLConduit.Execute("commercial.xslt");
    //set the character set encoding for the output stream
    Response.Charset = "UTF-8";
    //output the transformed document to the requesting browser
    Response.Write(MyXMLConduit.TransformedOutput);
     
< A ghost mouse | How to integrate RFID reader to vb.net >

Users viewing this thread
1 guest


 
 
Adblock breaks this site