Avatar billede gzus_dk Nybegynder
09. november 2001 - 13:14 Der er 2 kommentarer og
1 løsning

Kald af funktion i java

Hvordan sætter jeg op at mit xslt dokument skal kalde en speciel funktion i en klasse jeg har lavet. Her mener jeg både i opsætningen af classpath, namespace og hvordan og hvor jeg skal ligge min java klasse i forhold til dens package name, og om den overhovedet skal have et package name. jeg har Classpath op til at pege på roden af dk/bording/exslt.

Jeg har prøvet med følgende :

?xml version=\"1.0\"?>
<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"
xmlns:Ext=\"dk.bording.exslt.Translate\">
    <xsl:template match=\"/\">
        <xsl:value-of select=\"Ext.Replace(\'nytest\',\'y\',\'Y\')\"/>
    </xsl:template>
</xsl:stylesheet>

Men det giver følgende fejl i Stylus Studio :

Function \"Ext.Replace\" does not exist (or invalid XSL), in value-of
...
..

Min Java klasse ser ud som følger :

package dk.bording.exslt;

public class Translate
{
    StringBuffer sb;
    int i;
    public Object Replace(String s1, String s2, String s3) {
        boolean notfound = false;
        while (!notfound) {
            i = -1;
            i = s1.indexOf(s2);
            if (i == -1) {
                notfound = true;
            } else {
                sb = new StringBuffer(s1);
                sb.delete(i,i+s2.length());
                sb.insert(i, s3);
                s1 = sb.toString();
            }
        }
        return s1;
    }
}

Er der nogen der kan hjælpe mig ???
Avatar billede Slettet bruger
09. november 2001 - 15:25 #1
Du skal i hvertfald bruge \"Ext:Replace(...)\" (kolon i stedet for punktum) for at anvende namespace\'et...

Hvordan du mapper namespace\'et til din java-class, kan jeg desværre ikke hjælpe med. (Med MSXML ville jeg gøre det vha. et XSLProcessor Object og addObject()...

/CS
Avatar billede gzus_dk Nybegynder
09. november 2001 - 15:33 #2
Det var bare det.. Tak for det, giv mig et svar og du skal få point!
Avatar billede Slettet bruger
11. november 2001 - 22:21 #3
Well, here it is :-)

/CS
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester