Mam dwa pliki XSL: "one.xsl" i "two.xsl"Jak korzystać z funkcji z jednego XSL w innym
one.xsl:
<xsl:function name="x:trans" as="xs:string">
<xsl:param name="str"></xsl:param>
<xsl:variable name="res1" select="x:translate_string($str)"/>
<xsl:sequence select="$res1"/>
</xsl:function>
</xsl:stylesheet>
chcę używać funkcja "x: trans" w "jeden.xsl"
Jak mogę odwołać się do funkcji do innego pliku?
Problemem jest to, że gdy próbuję zadzwonić do tej funkcji w ten sposób:
< xsl:value-of select="x:trans('Hello World')"/>
pojawia się następujący komunikat o błędzie z przeglądarki:
odniesieniem do nielegalnej namespace prefix: „x "
Jeśli zaimportowałeś lub włączyłeś plik "one.xsl", musisz też zadeklarować przestrzeń nazw "x" w pliku "two.xsl", jeśli chcesz jej użyć. –
Należy również wspomnieć, że wiadomość z funkcji * browser * ... custom ** jest funkcją XSLT 2.0 **. Żadne przeglądarki aktualnie nie obsługują XSLT 2.0. Jeśli chcesz, aby przeglądarki uruchamiały twój XSLT, będziesz potrzebował rozwiązania * XSLT 1.0 *. –
Dobre pytanie (+1). Zobacz moją odpowiedź, aby uzyskać pełne wyjaśnienie krok po kroku, jak wywołać '' xsl: function'. –