MarkLogic:试图理解错误"Node has complex type with non-mixed complex content"



我在xml文档的管道处理期间得到这个错误,处理进行xslt转换。它似乎在告诉我该文档在某种程度上是无效的,但是该文档通过了针对Oxygen中的xsd的验证。

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

第二:这个错误在语法上对我来说是没有意义的:它似乎说文档中的节点被定义为复杂类型,但文档中的内容是非混合的……这有什么关系呢?大多数内容都是非混合的,对吧?在我看来,非混合内容是我见过的大多数xml的标准。谢谢。

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

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

如果你提供完整的错误信息,我们也许可以帮助你…

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

相关内容

最新更新