Click here to Skip to main content
14,301,895 members
Rate this:
Please Sign up or sign in to vote.
See more:
How do i reference the inner div element. With HTML everything works fine,whereas with XSLT something is messy.Kindly try pointing out the problem
<pre lang="xml"><?xml version="1.0" encoding="utf-8" ?>
<!-- Edited by XMLSpy® -->
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
    <title>Hide your heart</title>
    <artist>Bonnie Tyler</artist>
    <country>UK</country>
    <company>CBS Records</company>
    <price>9.90</price>
    <year>1988</year>
  </cd>
</catalog

>



the xslt file is .I am not able to add the innerHTML Varun tested

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"

>
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
      <html>
        <head>
          <script type="text/javascript">
            function mine()
            {
            var x= doxument.getElementById(divid).getElementsByTagName('div')[0];
            x.innerHTML="Varun tested!";

            }
          </script>
        </head>
        <body>
          <h2>My CD Collection</h2>
          <table border="1">
            <tr bgcolor="#9acd32">
              <th>Title</th>
              <th>Artist</th>
            </tr>
            <tr>
              <td>
                <xsl:value-of select="catalog/cd/title" />
              </td>
              <td>
                <xsl:value-of select="catalog/cd/artist" />
              </td>
            </tr>
            <div id="divid" runat="server" onclick="mine()">
              Mycontents are the same, need a updation
              <div id="divid2" runat="server">
                </div>
            </div>

          </table>
        </body>
      </html>
    </xsl:template>
  </xsl:stylesheet>
Posted

1 solution

Rate this:
Please Sign up or sign in to vote.

Solution 1

You would need to wrap the script in a CDATA block. (importing it from a separate .js file would be even better)
<script type="text/javascript">
<![CDATA[
            function mine()
            {
            var x= doxument.getElementById(divid).getElementsByTagName('div')[0];
            x.innerHTML="Varun tested!";

            }
]]>
</script>


Good luck!
   
Comments
VarunKumarGB 18-Jan-11 3:30am
   
Thanks Nijboer..

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100