BaseX 9.1.2:xslt:transform上的实体问题

问题描述 投票:0回答:1

我在使用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选项创建了我的数据库,没有任何更改(options 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 basex
1个回答
0
投票

xslt:processor()和xslt:version告诉我我正在使用JAVA 1.0作为处理器。

正如here所解释的那样“如果在类路径中找到Saxon XSLT处理器的版本9.x(saxon9he.jar,saxon9pe.jar,saxon9ee.jar),则将启用XSLT 3.0”

只需在{Basex Folder} / lib / custom中添加saxon9he.jar就可以了

希望有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.