XSLT问题:'/'的第一个操作数所需的项目类型是node();提供的值 xs:base64Binary 是一个原子值
XSLT problem: The required item type of the first operand of '/' is node(); the supplied value xs:base64Binary is an atomic value
所以我在 XSL 转换方面遇到了奇怪的问题。
我正在尝试从文件夹中的文件中获取不同的值。
- 文件夹中对象的路径:
<xsl:variable name="objects" select="collection('../../../../data/objects')"/>
- 不同值的变量:
<xsl:variable name="something" select="$objects//tei:rs[@type='something' and @subtype='something']/@ref" as="xs:string"/>
然后我将每个不同值的各种元素添加到 $objects:<xsl:for-each select="distinct-values($something)"/>
我之前测试过转换,结果很好。现在我收到错误消息“'/' 的第一个操作数的必需项类型是 node();提供的值 xs:base64Binary("AAAAAUJ1ZDEAB ...=") 是一个原子值。”。 =14=]
我该如何解决这个问题?我已经阅读了很多关于这个问题的文章,但我的样式表无法正常工作。
我在 Oxygen XML 编辑器中使用 Saxon-PE 9.9.1.7。样式表是用 XSLT 2.0 编写的。
提前致谢!
我的猜测是 ../../../../data/objects
是一个目录,其中包含无法识别 XML 的文件,因此被视为二进制值。 Saxon 用于检测集合中文件内容类型的规则非常复杂且有点随意,但是您可以通过多种方式将选择限制为仅包含 XML 个文件。
所以我在 XSL 转换方面遇到了奇怪的问题。
我正在尝试从文件夹中的文件中获取不同的值。
- 文件夹中对象的路径:
<xsl:variable name="objects" select="collection('../../../../data/objects')"/>
- 不同值的变量:
<xsl:variable name="something" select="$objects//tei:rs[@type='something' and @subtype='something']/@ref" as="xs:string"/>
然后我将每个不同值的各种元素添加到 $objects:<xsl:for-each select="distinct-values($something)"/>
我之前测试过转换,结果很好。现在我收到错误消息“'/' 的第一个操作数的必需项类型是 node();提供的值 xs:base64Binary("AAAAAUJ1ZDEAB ...=") 是一个原子值。”。 =14=]
我该如何解决这个问题?我已经阅读了很多关于这个问题的文章,但我的样式表无法正常工作。
我在 Oxygen XML 编辑器中使用 Saxon-PE 9.9.1.7。样式表是用 XSLT 2.0 编写的。
提前致谢!
我的猜测是 ../../../../data/objects
是一个目录,其中包含无法识别 XML 的文件,因此被视为二进制值。 Saxon 用于检测集合中文件内容类型的规则非常复杂且有点随意,但是您可以通过多种方式将选择限制为仅包含 XML 个文件。