DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15432>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15432 Crashes XSLTransform Summary: Crashes XSLTransform Product: XalanC Version: 1.4.x Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Critical Priority: Other Component: XalanC AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The following xml file and xsl file combination crashes Xalan. The application tried to access an ivalid memory address. This was reproduced using the standards xslttransform utility that comes standard with xalan. Below are the xml file and xsl file respectively that crash the application. If I use Microsoft IE to perform the transform, no problem is encountered. Thanks. XML: ---- <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="../XSL/NAVIGATION_PATH.XSL"?> <iXML:Envelope xmlns:iXML="urn:schemas-ixml- org:ixml.v1"><METHOD_GETNODELISTPATHResponse> <ChildList><Node> <ContextData>object TCompanyTreeNode OwnerKey = -1 PrimaryKey = 2 SecondaryKey = -1 System = 'e0ExQTQ2NzhGLTM5ODctNDVCRS1BNjY4LTExRkEyRTE4MjczRn06Z2lsYmVydGdf' + 'MDE6Y3VyYQ==' TreeType = 'TCompanyTreeNode' Rights = 47 SecurityID = 7 end </ContextData> <Operation>ddoNone</Operation> <ClientData ID='2' HasChildren='True'> <ImageIndex>1</ImageIndex> <Name>KPMG</Name> <NameSpace></NameSpace> <NodeContext NodeType='TCompanyTreeNode'><NVPair Name='System'>e0ExQTQ2NzhGLTM5ODctNDVCRS1BNjY4LTExRkEyRTE4MjczRn06Z2lsYmVydGdfMD E6Y3VyYQ==</NVPair> <NVPair Name='TreeType'>TCompanyTreeNode</NVPair> <NVPair Name='ParentAccessControlID'>0</NVPair> <NVPair Name='ParentRights'>0</NVPair> <NVPair Name='NodeCaption'>KPMG</NVPair> <NVPair Name='IsKBase'>False</NVPair> <NVPair Name='UniverseID'>2</NVPair> <NVPair Name='ParentID'>-1</NVPair> <NVPair Name='PrimaryKey'>2</NVPair> <NVPair Name='ActionEntity'>Risk Domain</NVPair> <NVPair Name='MethodologyID'>2</NVPair> <NVPair Name='AccessControlID'>7</NVPair> <NVPair Name='Rights'>47</NVPair> </NodeContext> <Rules></Rules> <TreeType></TreeType> </ClientData> </Node> <Node> <ContextData>object TAssessmentTree OwnerKey = 2 PrimaryKey = 2 SecondaryKey = -1 System = 'e0ExQTQ2NzhGLTM5ODctNDVCRS1BNjY4LTExRkEyRTE4MjczRn06Z2lsYmVydGdf' + 'MDE6Y3VyYQ==' TreeType = 'TAssessmentTree' Rights = 0 SecurityID = 0 end </ContextData> <Operation>ddoNone</Operation> <ClientData ID='2' HasChildren='True' GroupingNode='True'> <ImageIndex>11</ImageIndex> <Name>Assessments</Name> <NameSpace></NameSpace> <NodeContext NodeType='TAssessmentTree'><NVPair Name='System'>e0ExQTQ2NzhGLTM5ODctNDVCRS1BNjY4LTExRkEyRTE4MjczRn06Z2lsYmVydGdfMD E6Y3VyYQ==</NVPair> <NVPair Name='TreeType'>TAssessmentTree</NVPair> <NVPair Name='ParentAccessControlID'>0</NVPair> <NVPair Name='ParentRights'>0</NVPair> <NVPair Name='NodeCaption'>Assessments</NVPair> <NVPair Name='UniverseID'>2</NVPair> <NVPair Name='MethodologyID'>2</NVPair> <NVPair Name='AccessControlID'>0</NVPair> <NVPair Name='Rights'>0</NVPair> </NodeContext> <Rules></Rules> <TreeType></TreeType> </ClientData> </Node> <Node> <ContextData>object TAssessmentTreeNode OwnerKey = 2 PrimaryKey = 41 SecondaryKey = 2 System = 'e0ExQTQ2NzhGLTM5ODctNDVCRS1BNjY4LTExRkEyRTE4MjczRn06Z2lsYmVydGdf' + 'MDE6Y3VyYQ==' TreeType = 'TAssessmentTreeNode' Rights = 47 SecurityID = 7 end </ContextData> <Operation>ddoNone</Operation> <ClientData ID='41' HasChildren='True' AlwaysHasChildren='True'> <ImageIndex>21</ImageIndex> <Name>Assess3</Name> <NameSpace></NameSpace> <NodeContext NodeType='TAssessmentTreeNode'><NVPair Name='System'>e0ExQTQ2NzhGLTM5ODctNDVCRS1BNjY4LTExRkEyRTE4MjczRn06Z2lsYmVydGdfMD E6Y3VyYQ==</NVPair> <NVPair Name='TreeType'>TAssessmentTreeNode</NVPair> <NVPair Name='ParentAccessControlID'>0</NVPair> <NVPair Name='ParentRights'>0</NVPair> <NVPair Name='NodeCaption'>Assess3</NVPair> <NVPair Name='UniverseID'>2</NVPair> <NVPair Name='NodeContext'>TAssessmentTreeNode</NVPair> <NVPair Name='MethodologyID'>2</NVPair> <NVPair Name='AssessID'>41</NVPair> <NVPair Name='AssessMethodologyID'>2</NVPair> <NVPair Name='AccessControlID'>7</NVPair> <NVPair Name='Rights'>47</NVPair> </NodeContext> <Rules></Rules> <TreeType></TreeType> </ClientData> </Node> </ChildList> </METHOD_GETNODELISTPATHResponse></iXML:Envelope> XSL: ---- <!-- XSL TO BUILD UP THE NAVIGATION PATH --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:iXML="urn:schemas-ixml-org:ixml.v1"> <!-- _________________________Main Template - BEGIN_________________________ --> <xsl:template match="*"> <xsl:choose> <xsl:when test="*/Fault"> <!-- ************************************* If there is an error in request do: ************************************* --> <xsl:apply-templates select="*/Fault"/> </xsl:when> <xsl:otherwise> <!-- ************************************* If there is no error in request do: ************************************* --> <html> <head> <title>Navigation Path</title> <link rel="STYLESHEET" type="text/css" href="../css/main.css"/> <style type="text/css"> #divUp{position:absolute; left:170; top:190} #divDown{position:absolute; left:170; top:380} #divCont{position:relative; width:100%; height:20; overflow:hidden; clip:rect(0,300,150,0); visibility:hidden} #divText{position:absolute; top:0; left:0} </style> <script language="JavaScript"> function GoToLink (ContextData,NodeType,ClientDataName){ //alert("hallo GoToLink function!!!"); //alert ("ContextData: "+ContextData); //alert("NodeType: "+NodeType); parent.fr_hidden.document.hidden.SelectedItemHeading.value=ClientDataNam e; //alert ("SelectedItemHeading: "+parent.fr_hidden.document.hidden.SelectedItemHeading.va lue); parent.fr_hidden.document.hidden.SelectedItemType.value=NodeType; //alert ("SelectedItemType: "+parent.fr_hidden.document.hidden.SelectedItemType.value); var usexsl = ""; if((NodeType=="TAssessmentTree") ||(NodeType=="TRiskTree")||(NodeType=="TAssessBusViewTree")|| (NodeType=="TAssessmentActionTree")||(NodeType=="TControlTree")|| (NodeType=="TRiskActionTree")||(NodeType=="TRiskContactTree")|| (NodeType=="TActionPrecedenceTree")||(NodeType=="TRiskActionContactTree")|| (NodeType=="TActionInstanceTree")||(NodeType=="TActionContactTree")){ //alert(NodeType); //____________________Display TAssessmentTree Path - BEGIN________________________________________ document.navigation.iXML.value="<![CDATA[<Envelope stylesheet='../xsl/Navigation_Path.xsl'><METHOD_GETNODEPATH><Request><Filter></F ilter><Context>]]>"+ContextData+"<![CDATA [</Context></Request></METHOD_GETNODEPATH></Envelope>]]>"; document.navigation.submit(); //____________________Display TAssessmentTree Path - END__________________________________________ //____________________Display TAssessmentTree Heading and Sub-menu - BEGIN_________________________ parent.sub_menu.document.location="../html/sub_menu.html"; //____________________Display TAssessmentTree Heading and Sub-menu - END___________________________ //____________________Display TAssessmentTree List - BEGIN_________________________________________ document.listResult.iXML.value="<![CDATA[<Envelope stylesheet='../xsl/List_Result.xsl'><METHOD_GETTREENODEDATA><Request><Filter></F ilter><Context>]]>"+ContextData+"<![CDATA [</Context></Request></METHOD_GETTREENODEDATA></Envelope>]]>"; document.listResult.submit(); //____________________Display TAssessmentTree List - END___________________________________________ } //TActionContactTreeNode if ((NodeType=="TAssessmentTreeNode")||(NodeType=="TRiskTreeNode")|| (NodeType=="TAssessBusViewTreeNode")||(NodeType=="TControlTreeNode")|| (NodeType=="TAssessmentActionTreeNode")||(NodeType=="TRiskActionTreeNode")|| (NodeType=="TRiskContactTreeNode")||(NodeType=="TActionTreeNode")|| (NodeType=="TActionInstanceTreeNode")){ //alert(NodeType); //____________________Display TAssessmentTreeNode Path - BEGIN________________________________________ document.navigation.iXML.value="<![CDATA[<Envelope stylesheet='../xsl/Navigation_Path.xsl'><METHOD_GETNODEPATH><Request><Filter></F ilter><Context>]]>"+ContextData+"<![CDATA [</Context></Request></METHOD_GETNODEPATH></Envelope>]]>"; document.navigation.submit(); //____________________Display TAssessmentTreeNode Path - END__________________________________________ //____________________Display TAssessmentTreeNode Heading and Sub-menu - BEGIN_________________________ document.submenu.iXML.value="<![CDATA[<Envelope stylesheet='../xsl/Sub_Menu.xsl'><METHOD_GETNODECHILDREN><Request><Filter></Filt er><Context>]]>"+ContextData+"<![CDATA [</Context></Request></METHOD_GETNODECHILDREN></Envelope>]]>"; document.submenu.submit (); //____________________Display TAssessmentTreeNode Heading and Sub-menu - END___________________________ //____________________Display TAssessmentTreeNode Control Detail - BEGIN_________________________________ if (NodeType=="TAssessmentTreeNode") UseControlDetailXsl = "../xsl/Assessment_Control_Detail.xsl"; else if (NodeType=="TRiskTreeNode") UseControlDetailXsl = "../xsl/Risk_Control_Detail.xsl"; else if (NodeType=="TAssessBusViewTreeNode") UseControlDetailXsl = "../xsl/Context_Control_Detail.xsl"; else if (NodeType=="TControlTreeNode") UseControlDetailXsl = "../xsl/Control_Control_Detail.xsl"; else if ((NodeType=="TAssessmentActionTreeNode")||(NodeType=="TRiskActionTreeNode")|| (NodeType=="TActionTreeNode")) UseControlDetailXsl = "../xsl/Task_Control_Detail.xsl"; else if (NodeType=="TRiskContactTreeNode") UseControlDetailXsl = "../xsl/Contact_Control_Detail.xsl"; else if (NodeType=="TActionInstanceTreeNode") UseControlDetailXsl = "../xsl/Task_Items_Control_Detail.xsl"; else alert ("UseControlDetailXsl not assigned!!!!!"); //alert ("UseControlDetailXsl: "+UseControlDetailXsl); document.controldetail.iXML.value="<![CDATA[<Envelope stylesheet=']] >"+UseControlDetailXsl +"<![CDATA [''><METHOD_GETNODEITEM><Request><Filter></Filter><Context>]]>"+ContextData+"<! [CDATA[</Context></Request></METHOD_GETNODEPATH></Envelope>]]>"; document.controldetail.submit(); //____________________Display TAssessmentTreeNode Control Detail - END__________________________________ } } </script> </head> <body class="body2"> <form action="sys_searchproduct.jsp" name="mothodology" id="mothodology"> <input type="hidden" name="woldselected" value=""/> <table border="1" cellspacing="0" cellpadding="2" width="100%"> <tr valign="top" class="text"> <td class="backcolor5"> <xsl:apply-templates select="*/ChildList"/> </td> </tr> </table> </form> <!-- ************************************** Form - Navigation Path ************************************** --> <form method="post" action="../scripts/aorta.dll?IXMLAction=urn:curarisk-com:assessor.v1" name="navigation" target="navigation"> <input type="hidden" name="iXML" value=""/> </form> <!-- ************************************** Form - Heading and Sub-Menu ************************************** --> <form method="post" action="../scripts/aorta.dll?IXMLAction=urn:curarisk-com:assessor.v1" name="submenu" target="sub_menu"> <input type="hidden" name="iXML" value=""/> </form> <!-- ************************************** Form - List Result (TAssessmentTree) ************************************** --> <form method="post" action="../scripts/aorta.dll?IXMLAction=urn:curarisk-com:assessor.v1" name="listResult" target="main_display"> <input type="hidden" name="iXML" value=""/> </form> <!-- ************************************** Form - Control Detail (TAssessmentTreeNode) ************************************** --> <form method="post" action="../scripts/aorta.dll?IXMLAction=urn:curarisk-com:assessor.v1" name="controldetail" target="main_display"> <input type="hidden" name="iXML" value=""/> </form> </body> </html> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- _________________________Main Template - END_________________________ --> <!-- _________________________Build Navigation Path Template - BEGIN_________________________ --> <xsl:template match="*/ChildList"> <script language="JavaScript"> <!-- **************************Function to get Paramaters and pass them to GoToLink function - BEGIN********************************** --> //____________________Function to get Paramaters and pass them to GoToLink function - BEGIN______________________ function GetParams(ArrayNumber) { //alert(NavArrayElementName[ArrayNumber]); //alert("NavArrayLinks: "+NavArrayLinks); //alert ("NavArrayParamContextData: "+NavArrayParamContextData[ArrayNumber]); //alert("NavArrayParamNodeType: "+NavArrayParamNodeType [ArrayNumber]); //alert(ArrayNumber); PramsString = eval(NavArrayParamContextData [ArrayNumber]) +","+ eval(NavArrayParamNodeType[ArrayNumber]) +","+ eval (NavArrayElementName[ArrayNumber]); //alert(PramsString); GoToLink(eval(NavArrayParamContextData [ArrayNumber]),eval(NavArrayParamNodeType[ArrayNumber]),eval(NavArrayElementName [ArrayNumber])); } //____________________Function to get Paramaters and pass them to GoToLink function - END______________________ <!-- **************************Function to get Paramaters and pass them to GoToLink function - END********************************** --> <!-- **************************Get Names of Path Elements Array - BEGIN********************************** --> //____________________Get Names of Path Elements Array - BEGIN______________________ var NavArrayElementName = [ <xsl:for-each select="./Node"> <xsl:choose> <xsl:when test="position()=1"> "\"<xsl:value-of select="./ClientData/Name"/>\"" </xsl:when> <xsl:otherwise> ,"\"<xsl:value-of select="./ClientData/Name"/>\"" </xsl:otherwise> </xsl:choose> </xsl:for-each> ]; //____________________Get Names of Path Elements Array - END______________________ <!-- **************************Get Names of Path Elements Array - END********************************** --> <!-- **************************Indicate if Link or not(true or false) Array - BEGIN********************************** --> //____________________Indicate if Link or not(true or false) Array - BEGIN______________________ var NavArrayLinks = [ <xsl:for-each select="./Node"> <xsl:choose> <xsl:when test="position()=1"> <xsl:choose> <xsl:when test="./ClientData/NodeContext/@NodeType='TAssessmentTree' or ./ClientData/NodeContext/@NodeType='TAssessmentTreeNode' or ./ClientData/NodeContext/@NodeType='TRiskTree' or ./ClientData/NodeContext/@NodeType='TAssessBusViewTree' or ./ClientData/NodeContext/@NodeType='TAssessmentActionTree' or ./ClientData/NodeContext/@NodeType='TRiskTreeNode' or ./ClientData/NodeContext/@NodeType='TAssessBusViewTreeNode' or ./ClientData/NodeContext/@NodeType='TControlTreeNode' or ./ClientData/NodeContext/@NodeType='TControlTree' or ./ClientData/NodeContext/@NodeType='TAssessmentActionTreeNode' or ./ClientData/NodeContext/@NodeType='TRiskActionTreeNode' or ./ClientData/NodeContext/@NodeType='TRiskActionTree' or ./ClientData/NodeContext/@NodeType='TRiskContactTree' or ./ClientData/NodeContext/@NodeType='TRiskContactTreeNode' or ./ClientData/NodeContext/@NodeType='TActionTreeNode' or ./ClientData/NodeContext/@NodeType='TActionPrecedenceTree' or ./ClientData/NodeContext/@NodeType='TRiskActionContactTree' or ./ClientData/NodeContext/@NodeType='TActionInstanceTree' or ./ClientData/NodeContext/@NodeType='TActionContactTree' or ./ClientData/NodeContext/@NodeType='TActionContactTreeNode' or ./ClientData/NodeContext/@NodeType='TActionInstanceTreeNode'"> "\"true\"" </xsl:when> <xsl:otherwise> "\"false\"" </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="./ClientData/NodeContext/@NodeType='TAssessmentTree' or ./ClientData/NodeContext/@NodeType='TAssessmentTreeNode' or ./ClientData/NodeContext/@NodeType='TRiskTree' or ./ClientData/NodeContext/@NodeType='TAssessBusViewTree' or ./ClientData/NodeContext/@NodeType='TAssessmentActionTree' or ./ClientData/NodeContext/@NodeType='TRiskTreeNode' or ./ClientData/NodeContext/@NodeType='TAssessBusViewTreeNode' or ./ClientData/NodeContext/@NodeType='TControlTreeNode' or ./ClientData/NodeContext/@NodeType='TControlTree' or ./ClientData/NodeContext/@NodeType='TAssessmentActionTreeNode' or ./ClientData/NodeContext/@NodeType='TRiskActionTreeNode' or ./ClientData/NodeContext/@NodeType='TRiskActionTree' or ./ClientData/NodeContext/@NodeType='TRiskContactTree' or ./ClientData/NodeContext/@NodeType='TRiskContactTreeNode' or ./ClientData/NodeContext/@NodeType='TActionTreeNode' or ./ClientData/NodeContext/@NodeType='TActionPrecedenceTree' or ./ClientData/NodeContext/@NodeType='TRiskActionContactTree' or ./ClientData/NodeContext/@NodeType='TActionInstanceTree' or ./ClientData/NodeContext/@NodeType='TActionContactTree' or ./ClientData/NodeContext/@NodeType='TActionContactTreeNode' or ./ClientData/NodeContext/@NodeType='TActionInstanceTreeNode'"> ,"\"true\"" </xsl:when> <xsl:otherwise> ,"\"false\"" </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:for-each> ]; //____________________Indicate if Link or not(true or false) Array - END______________________ <!-- **************************Indicate if Link or not(true or false) Array - END********************************** --> <!-- **************************Paramater Context Data Array - BEGIN********************************** --> //____________________Paramater Context Data Array - BEGIN______________________ var NavArrayParamContextData = [ <xsl:for-each select="./Node"> <xsl:choose> <xsl:when test="position()=1"> "\"<xsl:value-of select="translate(./ContextData,' ',' ')"/>\"" </xsl:when> <xsl:otherwise> ,"\"<xsl:value-of select="translate(./ContextData,' ',' ')"/>\"" </xsl:otherwise> </xsl:choose> </xsl:for-each> ]; //____________________Paramater Context Data Array - END______________________ <!-- **************************Paramater Context Data Array - END********************************** --> <!-- **************************Paramater Node Type Array - BEGIN********************************** --> //____________________Paramater Node Type Array - BEGIN______________________ var NavArrayParamNodeType = [ <xsl:for-each select="./Node"> <xsl:choose> <xsl:when test="position()=1"> "\"<xsl:value-of select="./ClientData/NodeContext/@NodeType"/>\"" </xsl:when> <xsl:otherwise> ,"\"<xsl:value-of select="./ClientData/NodeContext/@NodeType"/>\"" </xsl:otherwise> </xsl:choose> </xsl:for-each> ]; //____________________Paramater Node Type Array - END______________________ <!-- **************************Paramater Node Type Array - END********************************** --> <!-- **************************Paramater Owner ID Array - BEGIN********************************** --> //____________________Paramater Owner ID Array - BEGIN______________________ var NavArrayOwnerID = [ <xsl:for-each select="./Node"> <xsl:variable name="status"> <xsl:for-each select="./ClientData/NodeContext/NVPair"> <xsl:if test="@Name='OwnerID'"> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="position()=1"> <xsl:choose> <xsl:when test="not ($status='')"> "\"<xsl:value- of select="$status"/>\"" </xsl:when> <xsl:otherwise> "\"false\"" </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="not ($status='')"> , "\"<xsl:value- of select="$status"/>\"" </xsl:when> <xsl:otherwise> , "\"false\"" </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:for-each> ]; //____________________Paramater Owner ID Array - END______________________ <!-- **************************Paramater Owner ID Array - END********************************** --> <!-- **************************Paramater Parent ID Array - BEGIN********************************** --> //____________________Paramater Parent ID Array - BEGIN______________________ var NavArrayParentID = [ <xsl:for-each select="./Node"> <xsl:variable name="status"> <xsl:for-each select="./ClientData/NodeContext/NVPair"> <xsl:if test="@Name='ParentID'"> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="position()=1"> <xsl:choose> <xsl:when test="not ($status='')"> "\"<xsl:value- of select="$status"/>\"" </xsl:when> <xsl:otherwise> "\"false\"" </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="not ($status='')"> , "\"<xsl:value- of select="$status"/>\"" </xsl:when> <xsl:otherwise> , "\"false\"" </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:for-each> ]; //____________________Paramater Parent ID Array - END______________________ <!-- **************************Paramater Parent ID Array - END********************************** --> //alert("variable: "); //alert("NavArrayOwnerID: "+NavArrayOwnerID); //alert("NavArrayParentID: "+NavArrayParentID); //alert(NavArrayElementName); //alert("NavArrayLinks: "+NavArrayLinks); //alert("NavArrayParamContextData: "+NavArrayParamContextData); //alert("NavArrayParamNodeType: "+NavArrayParamNodeType); <!-- **************************Build up HTML Path - BEGIN********************************** --> //____________________Build up HTML Path - BEGIN______________________ for(i=0;i<NavArrayElementName.length;i++) { if(i==0) { if(eval(NavArrayLinks[i])=="false") { document.writeln(eval (NavArrayElementName[i])); } else if(eval(NavArrayLinks[i])=="true") { document.writeln("<a href=javascript:GetParams('"+i+"')><b>"+eval(NavArrayElementName[i]) +"</b></a>"); } else { alert("Not equal to true or false!!!!!!!!!!!!!!!") } } else { if(eval(NavArrayLinks[i])=="false") { document.writeln(" > "+eval (NavArrayElementName[i])); } else if(eval(NavArrayLinks[i])=="true") { document.writeln(" > <a href=javascript:GetParams('"+i+"')><b>"+eval(NavArrayElementName[i]) +"</b></a>"); } else { alert("Not equal to true or false!!!!!!!!!!!!!!!") } } } //____________________Build up HTML Path - END______________________ <!-- **************************Build up HTML Path - END********************************** --> </script> </xsl:template> <!-- _________________________Build Navigation Path Template - END___________________________ --> <!-- _________________________Fault Template - BEGIN_______________________ --> <xsl:template match="*/Fault"> <html> <head> <title>Context Edit Delete Response</title> <link rel="STYLESHEET" type="text/css" href="../css/main.css"/> </head> <body class="body"> <table border="1" align="center" width="" class="text" cellspacing="0" cellpadding="3"> <tr> <td colspan="2" align="center" class="backcolor0"> <b>A Fault Occured! Please contact your System Administrator.</b> </td> </tr> <tr> <td nowrap="true"> <b>Faultcode:</b> </td> <td> <xsl:value-of select="./faultcode"/> </td> </tr> <tr> <td nowrap="true"> <b>Faultstring:</b> </td> <td> <xsl:value-of select="./faultstring"/> </td> </tr> <tr> <td nowrap="true"> <b>Runcode:</b> </td> <td> <xsl:value-of select="./runcode"/> </td> </tr> <tr> <td nowrap="true"> <b>ErrorType:</b> </td> <td> <xsl:value-of select="./detail/errortype"/> </td> </tr> <xsl:for-each select="./detail/messages"> <tr> <td nowrap="true"> <b>ErrorCode <xsl:value-of select="@errorcode"/>:</b> </td> <td> <xsl:value-of select="./message"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> <!-- _________________________Fault Template - END_______________________ --> </xsl:stylesheet>
