You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2002/12/17 08:41:51 UTC
DO NOT REPLY [Bug 15432] New: -
Crashes XSLTransform
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: xalan-dev@xml.apache.org
ReportedBy: doronwloschowsky@hotmail.com
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>