Hallo Janine,
Wisst ihr warum?
Der Kontext im xsl:for-each, also unterhalb des $lang-Knotens, passt nicht. Probiere es so:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output media-type="text/plain" encoding="UTF-8" version="2.0" method="text"/>
<xsl:variable name="lang">
<lang>de</lang>
<lang>en</lang>
</xsl:variable>
<xsl:template match="list">
<xsl:apply-templates select="title"/>
</xsl:template>
<xsl:template match="title">
<xsl:for-each select="*[name() = $lang/lang]">
<xsl:value-of select="concat(., '
')"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Ergebnis:
Titel DE
Titel EN
Grüße,
Thomas