Ответ нашел в начале темы:
К выводу нужно добавить приставку mode="sub",
<xsl:apply-templates select="structure" mode="sub"/>
И создать шаблон для "sub"
<xsl:template match="structure" mode="sub">
<li>
<!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
<xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
<xsl:variable name="mparent_id" select="structure[@id=$current_structure_id]/id_parent"/>
<xsl:variable name="mname" select="name"/>
<xsl:variable name="link" select="link"/>
<xsl:variable name="mlink" select="substring(link,1,string-length(link)-1)"/>
<xsl:if test="@id != $current_structure_id">
<a href="{$link}" title="{name}" style="font-size: 12.5px; text-decoration: none; padding-left: 10px; color: #2c2c2c;" >
<xsl:value-of disable-output-escaping="yes" select="name"/> </a>
</xsl:if>
<xsl:if test="@id = $current_structure_id">
<a href="{$link}" title="{name}" style="font-size: 12.5px; text-decoration: none; padding-left: 10px; color: red" >
<xsl:value-of disable-output-escaping="yes" select="name"/> </a>
</xsl:if>
</xsl:if>
</li>
</xsl:template>
Только единственное, что работает это почему-то только с переменными, которые заявленны автором кода, если убираю...
<xsl:variable name="mname" select="name"/>
<xsl:variable name="link" select="link"/>
<xsl:variable name="mlink" select="substring(link,1,string-length(link)-1)"/>
...код почему-то выдает ошибки!
Кто знает, может объяснит?