У меня есть коллекция документов tei-xml на file:///Users/username/foopath
.Мне нужно получить доступ к этим документам из преобразования XSLT 2.0 для ключа.
У меня есть ключ, который должен искать совпадения в этих документах в //tei:seg[@type='dep_event']/@corresp
Итак, я объявляю переменную дляколлекция документов:
<xsl:variable name="coll"
select="collection('file:///Users/username/foopath')"/>
И ключ:
<xsl:key name="correspidkey"
match="tei:seg[@type='dep_event' and @corresp]"
use="@corresp"></xsl:key>
Затем я развертываю ключ для коллекции следующим образом (который отклоняет любые нежелательные возвраты из self::
):
<xsl:variable name="correspvar"
select="self::seg[@type='dep_event' and @corresp]/@corresp"/>
<xsl:value-of select="$coll/(key('correspidkey',$correspvar)
except $correspvar)/upper-case(@id)"
separator=", "/>
</xsl:element>
</xsl:when>
Saxon HE 9.6.07 возвращает Content is not allowed in prolog
, но я не могу определить, что именно указывает эта ошибка.Если я удаляю эту строку, ошибка проходит, и файл обрабатывается нормально.Возможно, мое использование collection()
с ключом?
Большое спасибо.