Я пытаюсь сделать вызов Java из xslt, который вернет карту.Теперь я хочу использовать эту карту в xslt для поиска.Я использую xslt1.0 и саксонский процессор.Используется саксонская версия 9.1.0.8
Мне удалось выполнить вызов Java, и значение было сохранено на карте, но я не знаю, как это найти в xslt.Значение, которое я получаю после печати карты переменных: {key1 = value1, key2 = value2 ......}
Пример кода Java:
public static Map<String,String> createMap(){
Map<String,String> map = new HashMap<String,String>();
for(int i=0;i<10;i++){
map.put("key"+I,"value"+i);
}
return map;
}
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:variable name="map">
<!--Make Java Call Here-->
</xsl:variable>
<xsl:template match="/">
<xsl:variable name="test">
<!--Retrieve the value from variable map for key2-->
</xsl:variable>
<Output><xsl:value-of select="$test"/></Output>
<!--Rest of xslt-->
</xsl:template>
</xsl:stylesheet>
Ожидаемый результат:
значение2