【发布时间】:2020-07-21 06:40:40
【问题描述】:
我尝试在 Saxon 的 XSL3 (-PE) 上使用按位库,但一直收到以下错误消息:
XPST0081: Namespace prefix 'bin' has not been declared
包含 bin 代码的行如下所示:
<xsl:variable name="firstCharPos" select="bin:shift(bin:hex('000001'), 17)"/>
我的样式表部分如下所示:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:saxon="http://saxon.sf.net/"
xmlns:mf="http://example.com/mf"
extension-element-prefixes="saxon"
exclude-result-prefixes="xs saxon mf"
version="3.0">
我错过了什么吗?我应该以某种方式包含“bin”库吗?
谢谢!
【问题讨论】:
-
您想使用 EXPath bin 模块吗?我认为PE和EE支持它。但是当然你需要声明它的命名空间。
-
是的,这就是我要使用的模块。我应该如何在命名空间上声明它?找不到它的正确文档,只是将 'bin' 添加到 'exclude-result-prefixes' 不起作用......
-
命名空间声明看起来像
xmlns:bin="http://expath.org/ns/binary",就像您在样式表元素上声明的其他命名空间一样。
标签: xslt bit-manipulation saxon xslt-3.0