xslt - BaseX 9.1.2:xslt:transform 上的实体问题
问题描述
我在使用 xslt:transform() 和 BaseX 转换包含实体的 xml 节点时遇到了一些麻烦:
let $xsl := doc('xsl/commun.xsl')
return
xslt:transform(<node>ééé</node>, $xsl)
给
[FODC0002] "" (Line 1): L'entité "eacute" était référencée, mais pas déclarée.
我创建了我的数据库,有/没有 intparse 和/或 DTD 选项,没有任何更改(选项 basex)。
xslt:processor() 和 xslt:version 告诉我正在使用 java 1.0 作为处理器。
这是我的 xslt 的声明:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:tei="http://www.tei-c.org/ns/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" encoding="UTF-8" omit-xml-declaration="no" exclude-result-prefixes="#all"/>xslt:transform
<xsl:template match="/"/>
我不知道我做错了什么......我应该在 XSL 文件中声明我想使用的任何实体吗?
解决方案
xslt:processor() 和 xslt:version 告诉我正在使用 JAVA 1.0 作为处理器。
如此处所述, “如果在类路径中找到 Saxon XSLT 处理器(saxon9he.jar、saxon9pe.jar、saxon9ee.jar)的 9.x 版,则将启用 XSLT 3.0”
只需在 {Basex 文件夹}/lib/custom 中添加saxon9he.jar就可以了
希望有所帮助
推荐阅读
- javascript - 如何在 javascript 中使用 CryptoJS
- php - PHP - 强制 eval() 在全局范围内运行
- javascript - 节点js需要执行功能
- android - 如何忽略触摸事件,让安卓系统处理?
- android - BottomAppBar 忽略“layout_gravity”,始终显示在顶部
- python - 允许来自我的 zappa 应用程序的“ObjectCreated”事件通知
- javascript - 如何重写此 JavaScript 行以便于阅读?(三元运算符)
- ios - 当尝试从统一构建一个 Xcode 项目到我的 iPhone 时,它给了我这个错误 Apple Mach-O Linker (Id) Error
- oracle - 是否可以创建触发器以将表的数据插入到 Oracle 中的另一个表中?
- php - PHP/HTML 中的语法错误 - 解析错误