MarkLogic:尝试理解错误" Node具有复杂类型,具有非混合复杂内容"

时间:2011-12-02 16:29:28

标签: xslt marklogic

我在xml文档的管道处理期间遇到此错误,处理执行xslt转换。它似乎告诉我文档在某种程度上是无效的,但文档通过Oxygen中的xsd验证。

首先,错误并没有告诉我违规数据文件中的行号,只是管道xqy文件中的行号,我可以告诉他。

第二:错误在语法上对我不敏感:似乎说文档中的节点被定义为复杂类型,但文档中的内容是非混合的...为什么会这么重要?大多数内容都是非混合的,对吧?所以非混合内容就像我看到的那样,在我看到的大多数xml中都是常态。感谢。

2 个答案:

答案 0 :(得分:4)

当某些函数期望更简单的值作为参数但接收复杂的元素类型时,也会发生错误。

实际上,在http://marklogic.markmail.org/的档案中搜索错误似乎来自fn:data(),如果它传递的'太'复杂的值,则简单地说。我认为该消息意味着传入的节点没有类型化的值。另见:http://www.w3.org/TR/xpath-functions/#func-data

如果您提供完整的错误消息,我们可能会帮助您..

答案 1 :(得分:0)

该文档可能有效,但它不符合XSLT代码中的期望。在没有看到代码和文档的情况下,muy预感是XSLT期望匹配的文档节点是一个元素(或类似的),但它是一个属性或文本节点。