在Saxon XSLT解析器中验证XSL时,无效的属性名称xmlns:xsl1

阿迪亚

一段时间以来,我们一直在使用Xalan进行XSL转换,最近又移至Saxon进行XSL转换。目前,我正在使用Saxon PE(9.5版本)进行XSL转换1.0版本(向后兼容模式)。尽管我在验证XSL时遇到困难,但它包含一个名为如下所示的属性。

 <xsl:attribute name="xmlns:xsl1">
       <xsl:value-of select="check"/>
  </xsl:attribute>      

验证XSL时,出现错误“错误消息:无效的属性名称:{xmlns:xsl1}”,尽管在Xalan中也是如此。

现在我的问题是在这种情况下有效的属性名称。请解释 ??

迈克尔·凯(Michael Kay)

它违反了XSLT 2.0规范中的以下规则:

[ERR XTDE0860]对于不带名称空间属性的xsl:attribute指令,如果名称属性的有效值是词法QName,且其前缀未在范围内的名称空间声明中声明,则这是不可恢复的动态错误用于xsl:attribute指令。

(仔细阅读数据模型后发现,尽管“ xml”已声明,但未在范围内的命名空间声明中声明“ xmlns”。)

更相关的是,您不能使用xsl:attribute创建名称空间声明:为此,您需要使用xsl:namespace。

Xalan遵循XSLT 1.0中的规则。不太明显的是,这种情况是错误的,但是它确实说:“如果不存在命名空间属性,则使用对xsl:attribute元素有效的命名空间声明,将QName扩展为扩展名称。默认名称空间声明。” 在我看来,这意味着如果未声明前缀,则会导致错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析XSL时Saxon中的NullPointerException

来自分类Dev

XSLT 3.0流(Saxon)

来自分类Dev

Saxon XSL 转换的查找目录

来自分类Dev

xslt:Saxon中的消息-消息在哪里?

来自分类Dev

使用 Saxon/XQuery 设置 URI 或目录解析器

来自分类Dev

如何使用Saxon在XSL 2.0中显示堆栈跟踪?

来自分类Dev

如何在PowerShell中使用Saxon XSLT转换器捕获xsl:message输出

来自分类Dev

XSLT使用Saxon更改属性名称空间

来自分类Dev

使用Saxon通过XSLT生成URL

来自分类Dev

XSLT 3.0部分流(Saxon)

来自分类Dev

Eclipse中的SAXON类加载问题

来自分类Dev

Saxon-EE中地图的命名空间

来自分类Dev

使Saxon-c在Python中可用

来自分类Dev

Eclipse中的SAXON类加载问题

来自分类Dev

使用Java扩展将Xalan替换为Saxon for XSL

来自分类Dev

Saxon SQL 扩展不适用于 Saxon 9.8.0.8 PE 或 EE 上的 XSLT

来自分类Dev

XSLT转换,无需使用Saxon解析输入XML

来自分类Dev

Saxon XML验证:验证失败时无法删除XML文件

来自分类Dev

Saxon XSLT:序列化器产生奇怪的缩进

来自分类Dev

使用 Saxon XSLT 处理器避免换行

来自分类Dev

Saxon XSLT .Net转换:当xml和xsl都作为字符串传递时,在BaseURI中提供什么

来自分类Dev

使用Saxon,在XSLT中递增或递减全局变量

来自分类Dev

从Saxon中的XQueryEvaluator获取序列化属性

来自分类Dev

使用Camel XSLT组件时无法使用net.sf.saxon.jaxp.TransformerImpl.setMessageEmitter(net.sf.saxon.event.Receiver)

来自分类Dev

带有Saxon的Altova XML中xsl:result-document的奇怪行为

来自分类Dev

如何使用saxon将文档类型参数传递给xslt?

来自分类Dev

Saxon XSLT2.0从字符串中提取数字

来自分类Dev

带有Saxon和EXSLT.org的RegEx的XSLT

来自分类Dev

如何使用Saxon将文档类型参数传递给xslt?

Related 相关文章

热门标签

归档