XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
imesh DamithSubject: For extension function, could not find method java.lang.String.FctDateDuration([ExpressionContext,] #STRING).
Author: imesh Damith
Date: 12 Jan 2011 06:02 AM
I am using Xalan to parse my xsl. I get above error. This xsl is working fine in vb.net. But gives errors in xalan . I have changed its vb function to javascript function. here is the code snippet from the xsl.

here is my root tag : <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:ttVB="ttVB" exclude-result-prefixes="msxsl ttVB" version="1.0">


Below is the calling part of javascript.

<xsl:variable name="start">
<xsl:value-of select="substring(DepartureDateTime,1,10)"/>
</xsl:variable>
<xsl:variable name="end">
<xsl:value-of select="substring(following-sibling::OriginDestinationInformation/DepartureDateTime,1,10)"/>
</xsl:variable>
<xsl:variable name="end1">
<xsl:value-of select="substring(preceding-sibling::OriginDestinationInformation/DepartureDateTime,1,10)"/>
</xsl:variable>
<xsl:variable name="dd" select="ttVB:FctDateDuration(string($start),string($end))"/>
<xsl:variable name="dd1" select="ttVB:FctDateDuration(string($start),string($end1))"/>

<xsl:choose>

<xsl:when test="$dd = 0 or $dd = 1">
<timeQualifier>TA</timeQualifier>
</xsl:when>

<xsl:otherwise>
<timeQualifier>TD</timeQualifier>
</xsl:otherwise>



and I have converted the visual basic code to javascript function.
Below is the that function in Java script

<msxsl:script language="JavaScript" implements-prefix="ttVB">
<![CDATA[
function FctDateDuration(p_startDate,p_endDate){



if (IsDate(p_startDate) && IsDate(p_endDate)){

FctDateDuration = String(calcDays(p_startDate, p_endDate))

}else{

FctDateDuration = p_startDate + p_endDate

}



return FctDateDuration;

}



function IsDate(ddate){



//"Inside IsDate >> "+ddate);

var dteDate;



var year = ddate.substring(0, 4);

var month = ddate.substring(5, 7);

var day = ddate.substring(8,10);



month = month-1;



//year);

//month);

//day);



dteDate=new Date(year,month,day);





return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));





}



function calcDays(date1,date2){

date1 = date1.split("-");

date2 = date2.split("-");

var sDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);

var eDate = new Date(date2[0]+"/"+date2[1]+"/"+date2[2]);

var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));

//document.getElementById('diffDays').lastChild.data = daysApart;



//daysApart);

return daysApart;

]]>

</msxsl:script>

Posttop
imesh DamithSubject: For extension function, could not find method java.lang.String.FctDateDuration([ExpressionContext,] #STRING).
Author: imesh Damith
Date: 13 Jan 2011 11:09 PM
Hi I found the problem here. I haven't use xalan name spaces.

for more info pls refer to
http://xml.apache.org/xalan-j/extensions.html#ex-basic

Also should use the xalan jars from the apache. JDK inbuilt xalan jars will not help to this.

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.