Lothar: onmouseover in xsl funktioniert nicht

Beitrag lesen

Und weiter XSL:
 <msxsl:script language="VBScript" implements-prefix="fx" xmlns:msxsl="urn:schemas-microsoft-com:xslt"><![CDATA[    Option Explicit
 Function CalculateExpressions_Detail(CurrentNode, GroupNodes)
  PrepExpressions CurrentNode, GroupNodes
  On Error Resume Next
  CalculateExpressions_Detail = ""
 End Function
 Function CalculateExpressions_Global(CurrentNode, GroupNodes)
  PrepExpressions CurrentNode, GroupNodes
  On Error Resume Next
  CalculateExpressions_Global = ""
 End Function
 Dim objCurrNode
 Dim objCurrNodeT
 Dim cGroupCount
 Dim objGroupNodes
 Set objGroupNodes = Nothing
 Set objCurrNode = Nothing
 cGroupCount = 0
 Function PrepExpressions(CurrentNode, GroupNodes)
  CacheCurrentNode CurrentNode
  CacheGroupNodes GroupNodes
  PrepExpressions = ""
 End Function
 Function CacheCurrentNode(objNodeList)
  Set objCurrNode = objNodeList.item(0)
  CacheCurrentNode = ""
 End Function
 Function CacheGroupNodes(objNodeList)
  Set objGroupNodes = objNodeList
  cGroupCount = objGroupNodes.length
  CacheGroupNodes = ""
 End Function
 Function GroupValue_quarter(strValue)
 GroupValue_quarter = Left(strValue, 4) & DatePart("q", BuildDateFromStr(strValue, False))
 End Function
 Function GroupValue_week(strValue)
 GroupValue_week = Left(strValue, 4) & DatePart("ww", BuildDateFromStr(strValue, False))
 End Function
 Function GroupValue_interval(nValue, nInterval)
  GroupValue_interval = Int(nValue / nInterval)
 End Function
 Function Page()
  Page = 1
 End Function
 Function Pages()
  Pages = 1
 End Function
 Function ToString(varValue)
  On Error Resume Next
  ToString = ""
  ToString = CStr(varValue)
 End Function
 Function ToNumber(varValue)
  On Error Resume Next
  ToNumber = 0
  ToNumber = CDbl(varValue)
 End Function
 Function FormatFromXSL(strRef, strFormat, iNumDecimals, LCID, nType)
  FormatFromXSL = ToString(Format(GetValue(strRef, nType), strFormat, iNumDecimals, LCID, nType))
 End Function
 Function Format(varValue, strFormat, iNumDecimals, LCID, nType)
  Dim FormatTemp
  Dim strTemp
  If IsDate(varValue) Then
   Select Case strFormat
   Case "General Date"
   FormatTemp = FormatDateTime(varValue, vbGeneralDate)
   Case "Long Date"
   FormatTemp = FormatDateTime(varValue, vbLongDate)
  Case "Medium Date"
   FormatTemp = Day(varValue) & "-" & MonthName(Month(varValue), True) & "-" & Mid(Year(varValue), 3, 2)
   Case "Short Date"
   FormatTemp = FormatDateTime(varValue, vbShortDate)
   Case "Long Time"
   FormatTemp = FormatDateTime(varValue, vbLongTime)   Case "Medium Time"
   strTemp = FormatDateTime(varValue, vbLongTime)
   If (IsNumeric(Mid(strTemp, 2, 1))) Then
   FormatTemp = Mid(strTemp,1,5) & Mid(strTemp, 9)
   Else
   FormatTemp = Mid(strTemp,1,4) & Mid(strTemp, 9)
   End If
  Case "Short Time"
   FormatTemp = FormatDateTime(varValue, vbShortTime)
    Case Else
     Select Case LCase(strFormat)
 Case "yyyy", "q", "m", "y", "d", "w", "ww", "h", "n", "s"
   FormatTemp = DatePart(LCase(strFormat), varValue)
   Case Else
   FormatTemp = FormatDateTime(varValue, vbGeneralDate)
   End Select
   End Select
  ElseIf IsNumeric(varValue) Then
   Select Case strFormat
   Case "General Number"
   FormatTemp = varValue
   Case "Currency"
   FormatTemp = FormatCurrencyPerLocale(varValue, iNumDecimals, LCID)
  Case "Euro"
   FormatTemp = FormatCurrencyPerLocale(varValue, iNumDecimals, LCID)
  Case "Fixed"
   If IsNumeric(iNumDecimals) Then
   FormatTemp = FormatNumber(varValue, iNumDecimals, vbTrue, vbUseDefault, vbFalse)
   Else
   FormatTemp = FormatNumber(varValue, 2, vbTrue, vbUseDefault, vbFalse)
   End If
  Case "Standard"
   If IsNumeric(iNumDecimals) Then
   FormatTemp = FormatNumber(varValue, iNumDecimals, vbUseDefault, vbUseDefault, vbTrue)
   Else
   FormatTemp = FormatNumber(varValue, 2, vbUseDefault, vbUseDefault, vbTrue)
   End If
   Case "Percent"
   If IsNumeric(iNumDecimals) Then
   FormatTemp = FormatPercent(varValue, iNumDecimals)
   Else
   FormatTemp = FormatPercent(varValue)
     End If
    Case "Scientific"
     Dim nExp
     Dim nValue
     If (varValue = 0)  Then
      nExp = 0
     Else
          nExp = Int(Log(Abs(varValue)) / Log(10))
     End If
   nValue = Round(CDbl(varValue)/(10^CDbl(nExp)), 2)
     If (Sgn(nExp) < 0) Then
   FormatTemp = FormatNumber(nValue, 2, vbTrue, vbFalse, vbFalse) & "E" & nExp
    Else
   FormatTemp = FormatNumber(nValue, 2, vbTrue, vbFalse, vbFalse) & "E+" & nExp
     End If
    Case "True/False"
     If (CBool(varValue)) Then
      FormatTemp = "True"
     Else
      FormatTemp = "False"
     End If
    Case "Yes/No"
     If (CBool(varValue)) Then
      FormatTemp = "Yes"
     Else
      FormatTemp = "No"
     End If
    Case "On/Off"
     If (CBool(varValue)) Then
      FormatTemp = "On"
     Else
      FormatTemp = "Off"
     End If
    Case Else
    If nType = 6 Then
    FormatTemp = FormatCurrencyPerLocale(varValue, iNumDecimals, LCID)
    End If
   End Select
  End If
  If IsEmpty(FormatTemp) Then       FormatTemp = varValue
  End If
  If FHasNoContent(FormatTemp) Then
   Format = " "
  Else
   Format = FormatTemp
  End If

End Function
 Function  FormatCurrencyPerLocale(varValue, iNumDecimals, LCID)
  Dim CurrentLCID
  If LCID >< "" Then CurrentLCID = SetLocale(LCID)
  If IsNumeric(iNumDecimals) Then
  FormatCurrencyPerLocale = FormatCurrency(varValue, iNumDecimals)
  Else
  FormatCurrencyPerLocale = FormatCurrency(varValue)
  End If
  If Not IsEmpty(CurrentLCID) Then SetLocale CurrentLCID
 End Function
 Function FHasNoContent(objValue)
  FHasNoContent = True
  If IsNull(objValue) Then Exit Function
  If IsEmpty(objValue) Then Exit Function
  If Not IsObject(objValue) Then
   If objValue = "" Then Exit Function
  Else
   If objValue Is Nothing Then Exit Function
  End if
  FHasNoContent = False
 End Function
 Function IIf(fCond, varTrue, varFalse)
  If fCond Then
   IIf = varTrue
  Else
   IIf = varFalse
  End If
 End Function
 Function Nz(varValue, varReplace)
  If FHasNoContent(varValue) Then
   Nz = varReplace
  Else
   Nz = varValue
  End If
 End Function
 Function Sum(strExpr)
  Dim nSum, i
  nSum = 0
  Set objCurrNodeT = objCurrNode
  For i = 0 To cGroupCount - 1
   Set objCurrNode = objGroupNodes.item(i)
   nSum = nSum + ToNumber(Eval(strExpr))
  Next
  Set objCurrNode = objCurrNodeT
  Sum = nSum
 End Function