|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] ddxq external java function questionCarlo Innocenti minollo at minollo.comTue Jun 26 13:11:39 PDT 2007
Product specific questions are better asked on our developer forum (http://forums.datadirect.com/ddforums/forum.jspa?forumID=9). The problem in your case is with the declaration of the XQuery function, which should use "xs:int", instead of "xs:integer" for its arguments. See more details about mapping of Java types to XML types in the context of DataDirect XQuery Java extension functions at: http://media.datadirect.com/download/docs/ddxquery/allddxq/reference/functions2.html#wp214238 Hope this helps, Minollo At 11:54 AM 6/26/2007, Charlie wrote: >Hi, > >I am trying to use datadirect external java functions. > >The bottom are the files from other websites. I >compiled the java to the class file under the same >folder as .xq and .xml. When I have the classpath >setup but got the error msg from the following >command: > >java com.ddtek.xquery.Query -s IntDate.xml IntDate.xq > >XQQueryException: [DataDirect][XQuery]Error at line 9, >column 57. Static error during resolving of external >Java function. No matching Java external function >found for 'IntDate:getDate(xs:integer, xs:integer, >xs:integer, xs:string)'. [Call stack: ext:http://x-query.com/mailman/listinfo/talk] > Line: 9 > Column: 57 > VendorCode: EJF0002 > > >============== >IntDate.xml: > ><?xml version="1.0"?> ><doc> > <date year="1997" month="5" day="7" >format="EEEE, MMMM dd (D), yyyy z"/> > <date year="1998" month="1" day="10" >format="MMM d, yy"/> > <date year="1999" month="2" day="5" >format="EE, MMM dd, yyyy"/> ></doc> > >============== >IntDate.xq: > >declare namespace ext = "ddtekjava:IntDate"; >declare function ext:getDate($year as xs:integer, > $month as xs:integer, > $day as xs:integer, > $format as xs:string) > as xs:string external; > >for $date in /doc/date >return >ext:getDate($date/@year,$date/@month,$date/@day,$date/@format) > >============== >IntDate.java > >import java.util.Date; >import java.util.Calendar; >import java.text.SimpleDateFormat; > >public class IntDate >{ > public static void main (String[] args) { > System.out.println(getDate(1939, 12, 5, "EEEE, >MMMM dd (D), yyyy z") ); > } > > public static String getDate(int year, int month, >int day, String format) > { > Calendar c = Calendar.getInstance(); > c.set((int)year,(int)month,(int)day); > SimpleDateFormat dateFormat = new >SimpleDateFormat(format); > return dateFormat.format(c.getTime()); > } >} > > > > > >____________________________________________________________________________________ >It's here! Your new message! >Get new email alerts with the free Yahoo! Toolbar. >http://tools.search.yahoo.com/toolbar/features/mail/ >_______________________________________________ >http://x-query.com/mailman/listinfo/talk >http://x-query.com/mailman/listinfo/talk
|
Purchase Stylus Studio Online Today!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






