xslt - 收到“尚未声明命名空间前缀 'bin'”错误 - Saxon 的 XSL3
问题描述
我尝试在 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”库吗?
谢谢!
解决方案
您需要添加命名空间声明
xmlns:bin="http://expath.org/ns/binary"
您可能还想将“bin”添加到 exclude-result-prefixes 中的前缀列表中(或将其更改为exclude-result-prefixes="#all"
)。
推荐阅读
- java - 如何使 onClick 方法的 if else 语句中的持有者在 onBindViewHolder 方法的参数中没有最终的参数 Viewholder 的情况下工作
- sql - 如何在 Snowflake 中保留 SQL DateTimeOffset 而不转换为 UTC
- python - Python TypeError:只能将str(不是“字节”)连接到str
- c - 强大的优雅关闭应用程序
- php - 如何在php循环中获取动态添加的输入值的值
- javascript - WebRTC iOS Safari:仅接收音频流时,即使音量达到最大值,您也几乎听不到任何声音
- bash - sed:尝试替换字符串时替换表达式中的错误选项
- google-sheets - How to sum up arrays to then find the minimum
- r - case_when 或 ifelse 用于构建新变量
- html - 在 HTML 页面中将数据从 JSON 文件显示到引导模式