i need 2 versions of this function since there are 2 ways this function can
be invoked -

1. //book[txt:contains_words(./,"Trenton")]
2. txt:contains_words("This is a book","book") 

the first call results in searching an XML document . it searches for
"Trenton" in the text of all book elements and returns all those book
elements which have "Trenton" in their text.

whereas the second one should return the string "true" or "false" by just
searching the second string in the first string . It will search "book" in
"This is a book", and should return "true" in this case.

i was initially using just one function which was expecting an
ExpressionContext in its argument , but i was getting an exception in
callFunction() in ExtensionHandlerJavaClass.java in extensions folder.
how do i overcome this problem ?

-----Original Message-----
From: Gary L Peskin [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 23, 2001 12:09 PM
To: [EMAIL PROTECTED]
Subject: Re: Ext Func in XPath


The method selection mechanism in Xalan will always prefer the second
signature since signatures that begin with an ExpressionContext argument
are preferred over those that don't.  Why do you need these two
functions with the same name?  Do they do different things?

Gary

Shruti Ahuja wrote:
> 
> > Hello
> >
> > i have made an extension function in Xpath by the name contains_words
> > .This function has 2 overloaded versions
> > public static boolean contains_words(String searchstr,String tosearch)
> > {
> > //code
> > }
> > and
> > public static boolean contains_words(ExpressionContext mycontext, String
> > searchstr,String tosearch)
> > {
> > //code
> > }
> >
> >
> > i am calling this function in my xpath expression as
> > txt:conatins_words("this is a book","book")
> > where txt is a namespace which maps to this extension class.
> > The problem is that this call always results in the second
contains_words
> > being invoked .i want the first one to be invoked.
> > can someone suggest the reason for it to behave this way.
> >
> >
> > thanx
> > Shruti

Reply via email to