Ищет решение, на следующем: Это мой Java-функция, которая устанавливает параметр в мой файл XSL и этот параметр содержит строку запрос, который имеет XPATH syntxпередачи пары, как XPATH expressin в XSLT- Javascript
queryFilter = "*/person[name='John']";
function getXSLDoc(xslDocument,xmlDocument,queryFilter) {
..
var processor = new XSLTProcessor();
processor.setParameter(null,"name",queryFilter);
....
}
Теперь на моем файл XSLT Я хочу взять QueryFilter строку и использовать его в петле или создать переменный:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes"/>
<xsl:param name="queryFilter"/>
<!-- Lets say I want to create a local variable and use it to loop on a node -->
<xsl:variable name="varFilter" select="$queryFilter"/>
<xsl:for-each select="$**varFilter**">
<tr>
<xsl:apply-templates select="name"/>
..
</tr>
</xsl:for-each>
</xsl:stylesheet>
Теперь, как я использовать Пары я на моем яваскрипте функции, выражение xpath?
Это XSLT-файл не является действительным. Шаблонов нет. Я бы предложил переписать XSLT. –
Вы пробовали просто использовать параметр * as is *, т. Е. ''? –
Я считаю, что вы пытаетесь сделать динамическую оценку xpath, которая, как мне кажется, не поддерживается в XSLT 1.0 (или 2.0). Однако вы можете использовать функцию расширения. Например, посмотрите http://www.exslt.org/dyn/index.html. –