Tôi đang cố gắng tạo hàm XSLT tùy chỉnh, nhưng mỗi khi tôi nhận được lỗi này:Tạo hàm XSLT tùy chỉnh
'Đối số đầu tiên cho hàm Java không tĩnh' compareCI 'không phải là tham chiếu đối tượng hợp lệ. '
<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>
Tôi hy vọng một người nào đó có thể giúp tôi. Cảm ơn rất nhiều trước.
Nó hoạt động tốt khi tôi kết thúc bằng Oxy. Nó cho kết quả '1' khi so sánh 'màu đỏ' với 'màu xanh', và '0' khi so sánh 'màu đỏ' với 'không' –
Làm thế nào để bạn chạy XSLT của bạn và với bộ xử lý nào? (Tôi đã sử dụng Saxon-HE 9.4.0.6 và nó hoạt động) – FiveO
Tôi không biết phiên bản nào sử dụng Java. Mã Java của tôi là Nhà máy TransformerFactory = TransformerFactory.newInstance(); Nguồn xslt = new StreamSource (tệp mới ("/ home/xxx/xxx/aliformater-1.xslt")); Biến áp biến áp = factory.newTransformer (xslt); – javagc