В WSO2 ESB 4.9.0 я определил следующий: посредник XSLTПроблемы остроумие XSLT процессор WSO2
<localEntry key="TestXslt">
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="param1">
<FileList>
<File Name="b" automated="false" valid="true"/>
<File Name="c" automated="false" valid="true"/>
<File Name="d" automated="false" valid="true"/>
<File Name="e" automated="false" valid="true"/>
<File Name="f" automated="false" valid="true"/>
</FileList>
</xsl:param>
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:for-each select="$param1/FileList/File">
<qq>TEST</qq>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
<description/>
</localEntry>
Это просто Шоул XSLT создать 5 тегов XML. Ожидаемый результат:
<qq>TEST</qq>
<qq>TEST</qq>
<qq>TEST</qq>
<qq>TEST</qq>
<qq>TEST</qq>
Но когда я называю это посредником xslt, мое сообщение пуст. Что я могу сделать неправильно. Может быть, я должен активировать XSLT 2.0. Как мне это сделать?
Есть ли возможно любое объявление пространства имен по умолчанию (например, 'XMLNS =«http://example.com»') в объеме от предков 'localEntry' элемента? В этом случае добавьте '' или по крайней мере ' '. –
@MartinHonnen Спасибо, что помогает, но что мне делать, если мой параметр требует xmlns, например. В этом случае select = "$ param1/FileList/File" не работает снова –
Затем вам нужно используйте ''. –