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,'&#10;',' ')"/>\""
                                        </xsl:when>
                                        <xsl:otherwise>
                                                ,"\"<xsl:value-of 
select="translate(./ContextData,'&#10;',' ')"/>\""
                                        </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&lt;NavArrayElementName.length;i++)
                {
                        if(i==0)
                        {
                                if(eval(NavArrayLinks[i])=="false")
                                {
                                        document.writeln(eval
(NavArrayElementName[i]));
                                }
                                else if(eval(NavArrayLinks[i])=="true")
                                {
                                        
                                        document.writeln("&lt;a 
href=javascript:GetParams('"+i+"')&gt;&lt;b&gt;"+eval(NavArrayElementName[i])
+"&lt;/b&gt;&lt;/a&gt;");
                                }
                                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(" > &lt;a 
href=javascript:GetParams('"+i+"')&gt;&lt;b&gt;"+eval(NavArrayElementName[i])
+"&lt;/b&gt;&lt;/a&gt;");
                                }
                                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>

Reply via email to