This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Calling 'transformNode' inside xsl - problems
- To: "'xsl-list at mulberrytech dot com'" <xsl-list at mulberrytech dot com>
- Subject: RE: Calling 'transformNode' inside xsl - problems
- From: "Krishnamurthy, Rama" <RKrishnamurthy at PRAC dot com>
- Date: Tue, 12 Sep 2000 13:14:33 -0400
- Reply-To: xsl-list at mulberrytech dot com
> That doesn't give us anything to go on. Can you send your code?
>
I know it is pretty confusing..but please take a look at the code
below the form element declarations
where I call a for-each loop to display the pagenumbers .The 'Href'
associated with that calls the
function 'displayResults(pagenumber)'. This function calls the
'transformNode()' method which appends
the new page below the old page.
Here it is....
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<SCRIPT LANGUAGE="JAVASCRIPT"><xsl:comment><![CDATA[
function assignCustomerValues(policynum,symbol,module,idx)
{
document.form1.policy_number.value = policynum;
document.form1.symbol.value = symbol;
document.form1.module.value = module;
document.form1.idx.value = idx;
document.form1.submit();
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (":", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookieValue(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie(pagenumber)
{
document.cookie = 'npages=' + escape(document.form1.npages.value)
+ ': ndatapage=' +
escape(pagenumber)
+ ': xmlfilename='+
escape(document.form1.xmlfilename.value)+ ':';
}
function displayResults(pagenum)
{
var xmldoc = new
ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;
xmldoc.load(location.href.substring(0,location.href.lastIndexOf("/scripts"))
+"/scripts/xmlfiles/"+ "customer"+ GetCookieValue('xmlfilename') + ".xml");
var xsldoc = new
ActiveXObject("Microsoft.XMLDOM");
xsldoc.async = false;
xsldoc.load(location.href.substring(0,location.href.lastIndexOf("/scripts"))
+"/scripts/xmlfiles/customer.xsl");
var node =
xsldoc.selectSingleNode("//xsl:for-each[@select='Customers/p1/Customer']");
node.setAttribute("select",
'Customers/p'+String(pagenum)+'/Customer');
document.write(xmldoc.transformNode(xsldoc));
}
]]></xsl:comment></script>
<html>
<head>
<title>Agent Web - Search Results
(Customers)</title>
</head>
<body bgcolor="#FFFFFF">
<form id="form1" name="form1" method="post"
action="closebook_frameset.asp" >
<input type="hidden" id="policy_number"
name="policy_number"/>
<input type="hidden" id="symbol"
name="symbol"/>
<input type="hidden" id="module"
name="module"/>
<input type="hidden" id="idx" name="idx"/>
<input type="hidden" id="flag" name="flag"/>
<input type="hidden" id="nlncount"
name="nlncount"/>
<input type="hidden" id="ndatapage"
name="ndatapage"/>
<input type="hidden" id="npages"
name="npages"/>
<input type="hidden" id="xmlfilename"
name="xmlfilename"/>
<font face="arial" size="2"
style="color:black"><strong>Page:</strong></font>
<xsl:for-each
select="Customers/PageNumber">
<xsl:element name="a">
<xsl:attribute name="HREF">
javascript:displayResults('<xsl:value-of select = "."/>')
</xsl:attribute>
<xsl:attribute name="STYLE">
color:#a52a2a;
white-space:nowrap;
text-decoration:none;
</xsl:attribute>
<xsl:value-of select = "."/>
</xsl:element>
</xsl:for-each>
<TABLE width="400" border="0"
cellspacing="0" cellpadding="0" whitespace="nowrap">
<tr bgcolor="#a52a2a">
<td whitespace="nowrap"
valign="bottom" align="left" width="130">
<u><strong><font
face="arial" size="2" color="#FFFFFF">Name</font></strong></u>
</td>
<td whitespace="nowrap"
valign="bottom" align="left" width="160">
<u><strong><font
face="arial" size="2" color="#FFFFFF">Address </font></strong></u>
</td>
<td whitespace="nowrap"
valign="bottom" align="left" width="120">
<u><strong><font
face="arial" size="2" color="#FFFFFF">City/State </font></strong></u>
</td>
<td whitespace="nowrap"
valign="bottom" align="left" width="60">
<u><strong><font
face="arial" size="2" color="#FFFFFF">Zip </font></strong></u>
</td>
<td whitespace="nowrap"
valign="bottom" align="left" width="60">
<u><strong><font
face="arial" size="2" color="#FFFFFF">Status </font></strong></u>
</td>
</tr>
<xsl:for-each
select="Customers/p1/Customer">
<TR>
<TD>
<xsl:element name="a">
<xsl:attribute name="HREF">
javascript:assignCustomerValues('<xsl:value-of select =
"policy_number"/>','<xsl:value-of select = "symbol"/>','<xsl:value-of select
= "module"/>','<xsl:value-of select = "idx"/>')
</xsl:attribute>
<xsl:attribute name="STYLE">
color:#a52a2a;
white-space:nowrap;
</xsl:attribute>
<xsl:value-of
select="insured_first_name_1"/>
<xsl:value-of
select="insured_last_name_1"/>
</xsl:element>
</TD>
<TD>
<xsl:attribute name="STYLE">
white-space:nowrap;
</xsl:attribute>
<xsl:value-of
select="street_number"/>
<xsl:value-of select="street_name"/>
<xsl:value-of
select="second_street_name"/>
</TD>
<TD>
<xsl:attribute name="STYLE">
white-space:nowrap;
</xsl:attribute>
<xsl:value-of select="city"/>
<xsl:value-of select="state_code"/>
</TD>
<TD>
<xsl:value-of select="zip"/>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</form>
</DIV>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list