Próbuję utworzyć funkcję niestandardowych XSLT, ale za każdym razem otrzymuję ten błąd:Tworzenie własnych funkcji XSLT
„Pierwszym argumentem non-statycznej funkcji Java compareCI 'nie jest poprawnym odwołanie do obiektu. "
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:foo="http://whatever">
<xsl:function name="foo:compareCI">
<xsl:param name="string1"/>
<xsl:param name="string2"/>
<xsl:value-of select="compare(upper-case($string1),upper-case($string2))"/>
</xsl:function>
<xsl:template match="/">
<xsl:value-of select="foo:compareCI('red','blue')"/>
</xsl:template>
</xsl:stylesheet>
Mam nadzieję, że ktoś z was może mi pomóc. Dzięki za dużo z góry.
Działa dobrze na moim końcu w Oxygen. Daje wynik "1" porównując "czerwony" z "niebieskim" i "0" porównując "czerwony" z " –
Jak uruchomić XSLT iz jakim procesorem? (Używałem Saxona-HE 9.4.0.6 i działa) – FiveO
Nie wiem, która wersja korzystała z Javy. Mój kod Java to TransformerFactory factory = TransformerFactory.newInstance(); Źródło xslt = new StreamSource (nowy plik ("/ home/xxx/xxx/aliformater-1.xslt")); Transformator transformatorowy = factory.newTransformer (xslt); – javagc