|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Fwd: Not able to display Information after selecting e
>Date: Wed, 17 Sep 2003 14:21:18 -0700
>From: Nishi Bhonsle <nishi.bhonsle@xxxxxxxxxx>
>To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
>Subject: Not able to display Information after selecting elements from a drop
> down list
>
>
>Resending this query since I did not hear from anyone.............................Thank you.
>
>>
>>Hi:
>>I have a xsl file that has 2 drop down boxes. My purpose is to select element1 from drop down list box A and element2 from drop down list box B and display some information that pertains to that combination.
>>But everytime I try to apply the xsl on the xml (using XMLSPY) and then try to select and choose elements from either of the lists, i get a oXSLDoc Var is NULL or not an object error.
>>I also do not see new information displayed for every combination I choose either, which i think is because of the error from oXSLlDoc initialisation.
>>The code was picked up from some sample code available on the web.
>>
>>dropdown.xml-->
>><?xml version="1.0"?>
>><?xml:stylesheet type="text/xsl" href="dropdown.xslt"?>
>><sites>
>> <location name="site 1" id="1">
>> <customer name="Customer!" id="11">
>> <host name="host 1" id="111"/>
>> <host name="host 1" id="112"/>
>> <host name="host n" id="11n"/>
>> </customer>
>> <customer name="Customer!!!!" id="1a1">
>> <host name="host 1" id="11a1"/>
>> <host name="host 1" id="1s12"/>
>> <host name="host n" id="1s1n"/>
>> </customer>
>> </location>
>> <location name="site n" id="n">
>> <customer name="cust 1" id="11">
>> <host name="host 1" id="111"/>
>> <host name="host 1" id="112"/>
>> <host name="host n" id="11n"/>
>> </customer>
>> <customer name="cust n" id="1a1">
>> <host name="host 1" id="11a1"/>
>> <host name="host 1" id="1s12"/>
>> <host name="host n" id="1s1n"/>
>> </customer>
>> </location>
>></sites>
>>
>>dropdown.xslt-->
>><?xml version="1.0"?>
>><xsl:stylesheet version="1.0" xmlns:xsl="<http://www.w3.org/1999/XSL/Transform>http://www.w3.org/1999/XSL/Transform">
>>
>><!-- These are the params for specifying the locationid and customerid for the default selection in each dropdown list box-->
>><xsl:param name="DefaultSelectedLocationID" select="string(/sites/location[1]/@id)" />
>><xsl:param name="DefaultSelectedCustomerID" select="string(/sites/location[@id=$SelectedLocationID]/customer[1]/@id)" />
>>
>><!-- These are the variable for storing the locationid and customerid for the current selection in each dropdown list box-->
>><xsl:variable name="SelectedLocationID" select="$DefaultSelectedLocationID" />
>><xsl:variable name="SelectedCustomerID" select="$DefaultSelectedCustomerID" />
>>
>><xsl:template match = "/">
>><html>
>> <head>
>> <script type = "text/javascript" language = "javascript">
>> <![CDATA[
>> var oXSLDoc = document.XSLDocument;
>> var oXMLDoc = document.XMLDocument;
>>
>> //Updates XSL variable
>> function updateVar(sName, sValue)
>> {
>> //select the xsl:variable node. This is for storing the item selected in each drop down list
>> var oVarNodeSelectAttr = oXSLDoc.selectSingleNode( "//xsl:variable[@name='" + sName + "']/@select" );
>>
>>
>> //reset to default or store the selected value
>> if (sValue == '_default')
>> oVarNodeSelectAttr.nodeValue = "$Default" + sName;
>> else
>> oVarNodeSelectAttr.nodeValue = "string('" + sValue + "')";
>>
>>
>> }
>>
>> //retransform the current XML document with the current XSL document
>> function reDisplay()
>> {
>> //we only want to transform from the root node. This is so we dont repeat the headers and script sections
>> divResults.innerHTML = oXMLDoc.documentElement.transformNode( oXSLDoc );
>>
>> }
>> ]]>
>> </script>
>> </head>
>> <body>
>> <div ID = "divResults">
>> <!-- This is a place holder for the dropdown lists which will by replaced with the above javascript -->
>> <xsl:apply-templates select="sites"/>
>> </div>
>> </body>
>></html>
>>
>></xsl:template>
>>
>><xsl:template match = "sites">
>> Location:
>> <select name="LocationList" onchange="updateVar('SelectedLocationID', this.value);updateVar('SelectedCustomerID', '_default');reDisplay()">
>> <xsl:apply-templates select="location">
>> <xsl:sort select="@name"/>
>> </xsl:apply-templates>
>> </select>
>> <br/>
>> <br/>
>> Customer:
>> <select name="CustomerList" onchange="updateVar('SelectedCustomerID', this.value);reDisplay()">
>> <xsl:apply-templates select="location[@id = $SelectedLocationID]/customer">
>> <xsl:sort select="@name"/>
>> </xsl:apply-templates>
>> </select>
>>
>> <br/>
>> <br/>
>> <table border="1">
>> <tr><th>host</th><th>host id</th></tr>
>> <xsl:apply-templates select="location[@id = $SelectedLocationID]/customer[@id = $SelectedCustomerID]/host">
>> <xsl:sort select="@name"/>
>> </xsl:apply-templates>
>> </table>
>>
>>
>></xsl:template>
>>
>><xsl:template match = "location">
>> <option>
>> <xsl:attribute name="value">
>> <xsl:value-of select="@id"/>
>> </xsl:attribute>
>> <xsl:if test="@id = $SelectedLocationID">
>> <xsl:attribute name="selected">selected</xsl:attribute>
>> </xsl:if>
>> <xsl:value-of select="@name"/>
>> </option>
>></xsl:template>
>>
>>
>><xsl:template match = "customer">
>> <option>
>> <xsl:attribute name="value">
>> <xsl:value-of select="@id"/>
>> </xsl:attribute>
>> <xsl:if test="@id = $SelectedCustomerID">
>> <xsl:attribute name="selected">selected</xsl:attribute>
>> </xsl:if>
>> <xsl:value-of select="@name"/>
>> </option>
>></xsl:template>
>>
>><xsl:template match = "host">
>> <tr>
>> <td><xsl:value-of select="@name"/></td>
>> <td><xsl:value-of select="@id"/></td>
>> </tr>
>></xsl:template>
>>
>></xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








