Не совсем ответ, но слишком длинный, чтобы уместиться в комментарии.У вас есть многочисленные проблемы с синтаксисом, начиная с:
<xsl:for-each select="secondsegmentarray/item">
, что означает:
- отсутствует символ
$
для идентификации переменной и: - пытаетсяобработать фрагмент дерева результатов , не преобразовывая его сначала в набор узлов .
Правильный синтаксис:
<xsl:for-each select="exsl:node-set($secondsegmentarray)/item">
после объявления:
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl"
в заголовке.
Далее, внутри инструкции xsl:for-each
вы находитесь в контексте item
.Это означает, что любые тесты, связанные с текущим item
, должны ссылаться на текущий узел, например:
<xsl:when test=". = ''">
Ваша попытка использования $secondsegmentarray.item
не имеет смысла в XPath / XSLT.
Кроме того, вы ссылаетесь на переменную secondsegment
(опять же, без обязательного префикса $
) в определении самой переменной.Это, конечно, не может работать.
Может быть и больше, но они выделяются.