У меня есть шаблон XSLT, который передает фрагмент HTML в параметр. Мне нужно передать этот параметр другому шаблону, где он будет преобразован одним из двух способов, в зависимости от атрибута ID верхнего уровня HTML-элемента, содержащегося в параметре. Можно ли проверить содержимое параметра с помощью Xpath в XSLT 1.0? Вот мой HTML:XSLT 1.0 - Как проверить атрибут, содержащийся в параметре в инструкции xsl: when
<div id="someID">There could be many child nodes here</div>
Вот мой XSLT тест:
<xsl:when test="$content/@id = 'someID'">...</xsl:when>
Saxon 6.5.3 не будет работать на этом и говорит мне, чтобы переключиться использовать exsl или указать версию 1.1 (которая не имеет никакого влияния), но Мне бы очень хотелось узнать, есть ли умный способ достичь этого, используя инструменты, которые у меня есть.
** 1. ** Как именно вы передаете этот параметр? ** 2. ** Пожалуйста, напишите ** точное сообщение об ошибке **. –
Точная ошибка: «Чтобы использовать фрагмент дерева результатов в выражении пути, используйте exsl: node-set() или укажите version = '1.1'". Параметр объявляется в шаблоне следующим образом: . Затем этот шаблон имеет выбор/когда/иначе в основном, как показано. –
wolfmason
«* Мне очень хотелось бы знать, есть ли умный способ достичь этого, используя инструменты, которые у меня есть. *« Оба предложенных метода лечения ** - это инструменты, которые у вас есть в Saxon 6.5. Если вы ищете альтернативный подход, вам придется опубликовать [mcve]. –