MarkLogic: Попытка понять ошибку "Узел имеет сложный тип с несмешанным сложным содержимым" - PullRequest
2 голосов
/ 02 декабря 2011

Я получаю эту ошибку во время конвейерной обработки документа xml, обработка выполняет преобразование xslt. Похоже, он говорит мне, что документ каким-то образом недействителен, однако документ проходит проверку на соответствие xsd в Oxygen.

Во-первых, из-за того, что я могу сказать, из-за того, что я могу сказать, ошибка не говорит мне номер строки в файле данных, который нарушил работу, а только номер строки в файле xqy конвейера.

Второе: ошибка для меня грамматически бессмысленна: мне кажется, что узел в документе определен как сложный тип, но содержимое документа не смешано ... почему это имеет значение? Большая часть контента не смешана, верно? Таким образом, несмешанный контент, как я вижу, является нормой в большинстве XML, которые я вижу. Спасибо.

Ответы [ 2 ]

4 голосов
/ 03 декабря 2011

Ошибка также может возникать, когда некоторая функция ожидает более простое значение в качестве аргумента, но получает сложные типы элементов.

На самом деле, при поиске в архивах в http://marklogic.markmail.org/ ошибка, по-видимому, исходит от fn: data (), если ей передаются «слишком» сложные значения, чтобы кратко ее выразить. Я думаю, что в сообщении говорится, что передаваемый узел не имеет типизированного значения. Смотрите также здесь: http://www.w3.org/TR/xpath-functions/#func-data

Если вы предоставите полное сообщение об ошибке, мы можем вам помочь.

0 голосов
/ 02 декабря 2011

Документ, вероятно, действителен, но он не соответствует ожиданиям в вашем коде XSLT. Не видя код и документ, я понимаю, что XSLT ожидает, что соответствующий узел документа будет элементом (или похожим), но это атрибут или текстовый узел.

...