You can not use variables in match expressions in XSLT 1.
However you appear to be confused:
However xsl:variable is a node set and not a string
Variables may contain either node sets or strings (or other things) but
your variable
<xsl:variable name="SystemSelected" select='"sys:one"' />
contains a string.
Without seeing your source file it's rather hard to guess what your
intended processing is, but possibly something like
<xsl:template match="xs:documentation">
<xsl:choose>
<xsl:when test="lang('de') and *[name()="$SystemSelected]">
....
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list