为什么我需要 "create" 权限才能进行简单的转换?

Why do I need a "create" permission for simple transformations?

我正在尝试在 BaseX 中进行简单的 XSLT 转换:

xquery version "3.0";
declare namespace xslt="http://basex.org/modules/xslt";

xslt:transform-text(<root></root>,
  <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" />
    <xsl:template match="/">123</xsl:template>
  </xsl:stylesheet>
)

这有效,当运行以管理员身份运行脚本时。

但是当我 运行 这个脚本与一个只有 "read" 权限的用户一起使用时,我得到了错误

Stopped at ., 4/20:
[bxerr:BASX0001] create permission required.

这是为什么?我不想在数据库中存储任何内容。

XSLT 转换非常强大。你可以例如使用它通过 fn:doc 请求新资源,或者如果您使用专有扩展,则可以做更多的事情。这就是此功能仅限于具有创建权限的用户的原因。将其限制为 ADMIN 用户可能会更加一致。