Hi,
I have a JavaScript function which is embeded in an XSL file, I am using this to try and bring back a list of strings based on a number of rows in an XML file.
The problem I have is that I do not have the url of the XML file as this is created on the fly so I cannot load this in to look at the specific nodes of the file.
I am therefore trying to get some info from the XML file using an XSL tranformation in my javascript code. This works great, apart from one part of the code which I cannot get to use the variable "i". This is the part
[@index=1] in the code below.
Code:
function Test()
{
var xmlDoc = Navigator.CurrentXML;
//xmlDoc.getElementsById("STAFF");
var inputList = document.getElementsByTagName("select");
docList="";
for (var i = 0; i < inputList.length; i++)
{
docList += "GroupSetAttendanceType?documentList="
+"<xsl:value-of select="Data/DataRow[@index=1]/ID" />&attendanceTypeID="
+ inputList.item(i)[inputList.item(i).selectedIndex].value
+ "&attendanceTypeDesc="
+ inputList.item(i)[inputList.item(i).selectedIndex].text;
}
GetControl("TestLine").innerHTML = docList;
}
Instead of [@index=1] I want it to be [@index=i+1] and use the variable i to determine what row index to use in the code. When I try this however it just brings out a null value.
I have tried things such as trying to split the text
"<xsl:value-of select="Data/DataRow[@index=1]/ID" />"
into
"<xsl:value-of select="Data/DataRow[@index="
+(i+1)+
"]/ID" />"
but this brings up an error saying
"The XSL could not be parsed. The error is Name cannot begin with the '+' character, hexadecimal value 0x2B. Line 16, position 99."
Any help would be greatly appreacted as I am pulling my hair out trying to get this to work.
Many thanks,
Laurence