Похоже, что переменные xsl: не определены в предикатах в libxml2. Возможно ли это или я что-то пропустил? Если я использую переменную из предиката, то ее штраф.xsl: переменная не определена в предикате
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:template match="*[translate(name(), $uppercase, $smallcase) = 'receipt']">
<xsl:apply-templates select="Process"/>
<xsl:apply-templates select="Encode"/>
</xsl:template>
Правильный ответ, но он может Стоит отметить, что, хотя спецификация XSLT 1.0 не позволяет ссылаться на переменные в шаблонах совпадений, некоторые процессоры XSLT 1.0 не применяют это ограничение - это означает, что вы можете столкнуться с XSLT-кодом, который по этой причине не будет переходить между процессорами. –