← all checks
warning //xsl:apply-templates[some $var in ancestor::xsl:template[1]//xsl:variable satisfies (($var << .) and (starts-with(@select, concat($var/@name, '/')) or @select=$var/@name))]

Are you confusing a variable and a node?

When a variable and a node share the same name, using the bare name in select silently picks the node child rather than the variable.

Incorrect:

<xsl:template match="/">
  <xsl:variable name="title" select="'Hello'"/>
  <xsl:apply-templates select="title"/>
</xsl:template>

Correct:

<xsl:template match="/">
  <xsl:variable name="title" select="'Hello'"/>
  <xsl:apply-templates select="$title"/>
</xsl:template>