Re: [xsl] The old problem of Javascript, XSL and ampersand...

Subject: Re: [xsl] The old problem of Javascript, XSL and ampersand...
From: ben senior <ben@xxxxxxxxxxxxx>
Date: Tue, 25 Jan 2005 12:22:59 +0100
The lack of a template tag was a copy-paste svn update glitch :). Interesting that it works for you though.

We are using PHP5's XSL functions - so it seems the problem lies with whatever xsl processor it uses. It looks like we are going to have to find another way around the problem, however, I'm sure your answers will be useful for others!

Kindest Regards,

Ben

Vasu Chakkera wrote:

Ben,
I dont find a problem with your code., aaprt ferom the fact that you have
not defined the <xsl:template match = "">
so your ending </xsl:template> doesnt have an opening <xsl:template>.
This would make your XSL not well-formed..so you should be getting an error
while running the transformation.
apart from that if you correct this , the javascript code  must display
properly.
It works  for me with MSXML3 and MSXML 4!!

pasting you back the corrected version that worked for me.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="html" omit-xml-declaration="yes" standalone="no"
indent="yes"/>
<xsl:template match="/">
 <xsl:text disable-output-escaping="yes">

<![CDATA[

    <script type="text/javascript" src="../IM/assets/dialog.js"></script>
    <script type="text/javascript" src="../IM/IMEStandalone.js"></script>
    <script type="text/javascript">
     var manager = new ImageManager('../IM/','en');

   ImageSelector =
       {
   update : function(params)
        {
           if(this.field && this.field.value != null)
       {
          this.field.value = params.f_file; //params.f_url
        }
       },
   select: function(textfieldID)
   {
       this.field = document.getElementById(textfieldID);
       manager.popManager(this);
   }
   };
   </script>

]]>

</xsl:text>
 <form action="" method="POST">
  <div onClick="ImageSelector.select('file');">
   <xsl:value-of
select="."/>
  </div>
  <input type="text" name="file"/>
 </form>
</xsl:template>
</xsl:stylesheet>




Vasu


----- Original Message ----- From: "ben senior" <ben@xxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Tuesday, January 25, 2005 10:54 AM
Subject: Re: [xsl] The old problem of Javascript, XSL and ampersand...





My apologies. I should have included everything to begin with, but it
gets a bit unweildy.

XSL : (I have commented out the CDATA which didn't work, and tried
replacing the output method with html)

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output method="xml" omit-xml-declaration="yes" standalone="no"
indent="yes"/>
<!--
<xsl:text disable-output-escaping="yes">
<![CDATA[
-->
    <script type="text/javascript" src="../IM/assets/dialog.js"></script>
    <script type="text/javascript" src="../IM/IMEStandalone.js"></script>
    <script type="text/javascript">
     var manager = new ImageManager('../IM/','en');

   ImageSelector =
       {
   update : function(params)
        {
           if(this.field && this.field.value != null)
       {
          this.field.value = params.f_file; //params.f_url
        }
       },
   select: function(textfieldID)
   {
       this.field = document.getElementById(textfieldID);
       manager.popManager(this);
   }
   };
   </script>
<!--
]]>
</xsl:text>
-->
    <form action="" method="POST">
       <div onClick="ImageSelector.select('file');"><xsl:value-of
select="."/></div>
             <input type="text" name="file"/>
    </form>
</xsl:template>

</xsl:stylesheet>

Many thanks for your patience,

Ben

Vasu Chakkera wrote:



can you show us your xsl?

Current Thread