BaseX 9.1.2:xslt:transform

时间:2019-02-26 15:08:09

标签: xslt basex

使用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.

我创建的数据库具有/没有inparsse和/或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文件中声明要使用的任何实体吗?

1 个答案:

答案 0 :(得分: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,就可以了

希望有帮助