Subject: [xsl] Dynamically generating table From: Gurnandan Kaur <teclioness@xxxxxxxxxxx> Date: Wed, 12 Sep 2001 14:46:43 +0100 (BST) |
Hi I have a requirement to build tables dynamically. So, I am using a msxsl:script function to create a table, but when when I call another function to get back the string of prepared table, what is sdisplayed is just a string of values(where as it is supposed to be displayed as HTML). I am pasting the code...Any Suggestion?? the .xsl file is : <?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" xmlns:user="http://mycompany.com/mynamespace"> <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/> <msxsl:script language="vbscript" implements-prefix="user"> <![CDATA[ arrDay = array("Mon","Tue","Wed","Thu","Fri","Sat","Sun") dim tab1, tab2, tab3, intCnt intCnt = 1 tab1 = "<table class='TableFullWidth' cellspacing='0' cellpadding='0' border='0' width='100%'>" tab2 = "<table class='TableFullWidth' cellspacing='0' cellpadding='0' border='0' width='100%'>" tab3 = "<table class='TableFullWidth' cellspacing='0' cellpadding='0' border='0' width='100%'>" function createTable(sBlockName,sBlockID, strType) If strType="Hrs" Then tab1= tab1 & "<tr><td width='60%'><b>" & sBlockName & "</b><input type='hidden' name='txtBlockID"& i & "' value=" & sBlockID &"></td>" tab1 = tab1 & "<td><input type='text' name='txtSDA" & intCnt & "' size='4' maxlength='5'> Hrs</td></tr>" ElseIf strType="%" Then tab2 = tab2 & "<tr><td width='60%'><b>" & sBlockName & "</b><input type='hidden' name='txtBlockID"& i & "' value=" & sBlockID &"></td>" If sBlockID = "{05A1DA18-2912-11D5-A15F-000347240DC9}" Then tab2 = tab2 & "<td> </td></tr>" Else tab2 = tab2 & "<td><input type='text' name='txtSDA" & intCnt & "' size='4' maxlength='5'> %</td></tr>" End If ElseIf strType="" Then tab3 = tab3 & "<tr><td width='60%'><b>" & sBlockName & "</b><input type='hidden' name='txtBlockID"& i & "' value="&sBlockID &"></td>" tab3 = tab3 & "<td><input type='text' name='txtSDA" & intCnt & "' size='4' maxlength='5'></td></tr>" End If createTable = true intCnt = intCnt + 1 end function function returnTable(sTableNo) if sTableNo="1" Then returnTable = tab1 &"</table>" elseif sTableNo = "2" Then returnTable = tab2 &"</table>" else returnTable = tab3 &"</table>" end if end function ]]> </msxsl:script> <xsl:template match="/"> <table border="1" cellspacing="0" align="center" class="TableFullWidth" width="100%"> <tr class="HeadRow" bgcolor="silver"> <td width="21%">Start Date</td> <td width="21%">End Date</td> <td width="16%">SDA Type</td> <td width="42%" colspan="3">On Call Type Availability</td> </tr> <tr valign="middle" align="center"> <td valign="middle" align="center"> <input type="text" name="txtStDt" size="2" maxlength="2" value="=strStDt"/> <select size="1" name="cboStMn"> <option value=""></option> <option value="Jan">Jan</option> <option value="Feb">Feb</option> <option value="Mar">Mar</option> <option value="Apr">Apr</option> <option value="May">May</option> <option value="Jun">Jun</option> <option value="Jul">Jul</option> <option value="Aug">Aug</option> <option value="Sep">Sep</option> <option value="Oct">Oct</option> <option value="Nov">Nov</option> <option value="Dec">Dec</option> </select> <input type="text" name="txtStYy" size="4" maxlength="4" value="=strStYy"/> </td> <td> <input type="text" name="txtEdDt" size="2" maxlength="2" value="=strEdDt"/> <select size="1" name="cboEdMn"> <option value=""></option> <option value="Jan">Jan</option> <option value="Feb">Feb</option> <option value="Mar">Mar</option> <option value="Apr">Apr</option> <option value="May">May</option> <option value="Jun">Jun</option> <option value="Jul">Jul</option> <option value="Aug">Aug</option> <option value="Sep">Sep</option> <option value="Oct">Oct</option> <option value="Nov">Nov</option> <option value="Dec">Dec</option> </select> <input type="text" name="txtEdYy" size="4" maxlength="4" value="=strEdYy"/> </td> <td> <select size="1" name="cboSDA"> <xsl:for-each select="/Picklists/SDAType/Picklist/ListEntry"> <option value="{./Key}"><xsl:value-of select="./Item"/><!--If trim(GetNodeValue(oOption, "Key"))= trim(strSDA) Then Response.write "selected" End If--> </option> </xsl:for-each> </select></td> <td width="13%"> <input type="checkbox" name="chkOnCall" value="True" /><!--If strOnCall="True" Then Response.Write "checked" End If--> On Call </td> <!-- If strJobBand = "9" Then --> <td width="13%"> <input type="checkbox" name="chkPace" value="true"/><!--If strPace="True" Then Response.Write "checked" End If-->PCEA</td> <!-- Else --> <td width="13%"> </td> <!-- End If --> <td width="16%"> <input type="checkbox" name="chkAPace" value="True" /><!--If strAPace="True" Then Response.Write "checked" End If-->AdaptedPCEA </td> </tr> <tr> <td width="100%" colspan="6" height="20"> </td> </tr> <tr> <td valign="middle" align="center" class="AHWTD"> <b>Standard Target Hours</b> </td> <td valign="middle" align="center" class="AHWTD"> <b>Bank Hours</b> </td> <td valign="middle" align="center" class="AHWTD"> <b>Total Annual Hours</b> </td> <td valign="middle" align="center" class="AHWTD"> <b>Mini Acc. Period</b> </td> <td valign="middle" align="center" colspan="2" class="AHWTD"> <b>Standard Day Length</b> </td> </tr> <tr> <td valign="middle" align="center"><input type="text" name="txtStdHrs" size="4" maxlength="4" value="=strStdHrs"/></td> <td valign="middle" align="center"><input type="text" name="txtBHrs" size="4" maxlength="4" value="=strBHrs"/></td> <td valign="middle" align="center"> <!--If SaveMode Then Response.Write strStdHrs + strBHrs Else Response.Write " " End If--> </td> <!-- Dim sMiniAcc Set oPicklists = Server.CreateObject("AHWManagers.PicklistManager") sMiniAcc = oPicklists.MiniAccountingPeriods oDoc.loadXml(sMiniAcc) Set oLists = oDoc.getElementsByTagName("ListEntry") --> <td valign="middle" align="center"> <select size="1" name="cboMiniAcc"> <option value=" " selected="true">-Select-</option> <xsl:for-each select="/Picklists/MiniAcc/Picklist/ListEntry"> <option value="{./Key}"><xsl:value-of select="./Item"/> <!--If trim(strMiniAcc) = GetNodeValue(oOption, "Key") Then Response.Write "selected" End If--></option> </xsl:for-each> </select> </td> <td valign="middle" align="center" colspan="2"> <select size="1" name="cboStdDayLen"> <option value=" " selected="true">-Select-</option> <xsl:for-each select="/Picklists/StdDay/Picklist/ListEntry"> <option value="{./Key}"><xsl:value-of select="./Item"/> <!--If trim(strStdDayLen) = GetNodeValue(oOption, "Key") Then Response.Write "selected" End If--></option> </xsl:for-each> </select> </td> </tr> </table> select="/Picklists/AHWAgreementBlocks/AHWBlockType"> <xsl:choose> <xsl:when test="./UOM='1'"><xsl:variable name="tab1" select="user:createTable(string(./BlockName),string(./BlockTypeUID),'Hrs')"/></xsl:when> <xsl:when test="./UOM='2'"><xsl:variable name="tab2" select="user:createTable(string(./BlockName),string(./BlockTypeUID),'%')"/></xsl:when> <xsl:when test="./UOM='3'"><xsl:variable name="tab3" select="user:createTable(string(./BlockName),string(./BlockTypeUID),'')"/></xsl:when> </xsl:choose> </xsl:for-each> <table border="1" cellspacing="0" cellpadding="5" align="left" class="TableFullWidth"> <tr class="HeadRow" bgcolor="silver"> <td colspan="3" height="25">The AAA Building Blocks</td> </tr> <tr> <td width="30%" valign="top"><xsl:value-of select="user:returnTable('1')"/></td> <td width="30%" valign="top"><xsl:value-of select="user:returnTable('2')"/></td> <td width="30%" valign="top"><xsl:value-of select="user:returnTable('3')"/></td> </tr> </table> </xsl:template> </xsl:stylesheet> the .xml file is : <?xml version="1.0" encoding="ISO-8859-1"?> <!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by () --> <?xml-stylesheet type="text/xsl" href="D:\Inetpub\wwwroot\AHWRework\AHW Agreement\EmpTargetSet.xslt"?> <Picklists> <SDAType> <Picklist> <ListEntry> <Key>{534E9D58-195E-11D5-AA1B-00D0B7DE2A2C}</Key> <Item>Traditional</Item> </ListEntry> <ListEntry> <Key>{534E9D59-195E-11D5-AA1B-00D0B7DE2A2C}</Key> <Item>Dartboard</Item> </ListEntry> </Picklist> </SDAType> <MiniAcc> <Picklist> <ListEntry> <Key>{0B955145-4914-11D5-A171-000347240DC9}</Key> <Item>Monthly</Item> </ListEntry> <ListEntry> <Key>{0B955146-4914-11D5-A171-000347240DC9}</Key> <Item>Quartely</Item> </ListEntry> <ListEntry> <Key>{0B955147-4914-11D5-A171-000347240DC9}</Key> <Item>Tri-Annually</Item> </ListEntry> </Picklist> </MiniAcc> <StdDay> <Picklist> <ListEntry> <Key>{B850535E-494D-11D5-A173-000347240DC9}</Key> <Item>8.4/4.2</Item> </ListEntry> <ListEntry> <Key>{B850535F-494D-11D5-A173-000347240DC9}</Key> <Item>8.2/4.1</Item> </ListEntry> </Picklist> </StdDay> <AHWAgreementBlocks> <AHWBlockType> <BlockTypeUID>{534E9D4C-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Saturday Hours</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>1</UOM> <UsageCountRequired>Y</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D4D-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Sunday Hours</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>1</UOM> <UsageCountRequired>Y</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D4F-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Public Holiday Hours</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>1</UOM> <UsageCountRequired>Y</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D4A-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>SDA</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D4B-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Premium Hours</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc>PREMIUM</RuleDesc> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{F9FF0A66-1EA6-11D5-AF34-000347240D6E}</BlockTypeUID> <BlockName>On Call</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>Y</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D55-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Bank</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{C2623A55-408E-11D5-A16A-000347240DC9}</BlockTypeUID> <BlockName>THPA</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D47-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Liability</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D48-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Contactability</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc>CONTACTABILITY</RuleDesc> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D56-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Incident</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc/> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{05A1DA18-2912-11D5-A15F-000347240DC9}</BlockTypeUID> <BlockName>Total Flexibility</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>2</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc>+534E9D47-195E-11D5-AA1B-00D0B7DE2A2C+534E9D48-195E-11D5-AA1B-00D0B7DE2A2C+534E9D56-195E-11D5-AA1B-00D0B7DE2A2C</RuleDesc> </AHWBlockType> <AHWBlockType> <BlockTypeUID>{534E9D49-195E-11D5-AA1B-00D0B7DE2A2C}</BlockTypeUID> <BlockName>Incidents</BlockName> <SDATypeUID>{534E9D5A-195E-11D5-AA1B-00D0B7DE2A2C}</SDATypeUID> <UOM>3</UOM> <UsageCountRequired>N</UsageCountRequired> <AHWScreenPopulate>Y</AHWScreenPopulate> <RuleDesc>INCIDENTS</RuleDesc> </AHWBlockType> </AHWAgreementBlocks> </Picklists> Thanks!! Guru ____________________________________________________________ Do You Yahoo!? Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk or your free @yahoo.ie address at http://mail.yahoo.ie XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Getting the latest date, Gustaf Liljegren | Thread | RE: [xsl] Dynamically generating ta, Michael Kay |
[xsl] XML Processor for Win 2000, Joshua Miller | Date | Re: [xsl] XML Processor for Win 200, Thomas B. Passin |
Month |