Kai: Variable aus externem Stylesheet auslesen

Hallo,

ich möchte eine XML-Datei über eine Transformation (über Java) in eine andere XML-Datei konvertieren (andere Struktur). Habe bisher folgendes programmiert:

TransformerFactory tFactory    = TransformerFactory.newInstance();
Transformer        transformer = tFactory.newTransformer(new StreamSource(args[1]));
transformer.transform(new StreamSource(args[0]), new StreamResult(new FileOutputStream(args[2]));

args[0] ist hierbei die Eingabe-XML-Datei
args[1] ist das Stylesheet
args[2] die Ausgabe-XML-Datei

Ich habe in dem Stylesheet (nenne es mal test.xsl damit man weiß von welchem Stylesheet ich spreche) ein externes Stylesheet (info.xsl), wo nur Variablen definiert sind.

das externe Stylesheet (info.xsl) ist folgendermaßen aufgebaut:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="v1">Title</xsl:variable>
<xsl:variable name="v2">List</xsl:variable>
<xsl:variable name="v3">Help</xsl:variable>
</xsl:stylesheet>

Ich möchte in test.xsl den Wert einer Variable zusammensetzen, der dann dem Attribut name im externen Stylesheet (info.xsl) entsprechen soll, um dann den Inhalt der Variablen auszulesen, d.h. also in test.xsl eine Variable zusammenzusetzen, d.h. Variable = v1 um dann aus der info.xsl "Title" zurückzubekommen.

Hier der bisher entsprechende Teil aus der test.xsl:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="iso-8859-1" version="1.0" indent="yes" omit-xml-declaration="no"/>

<xsl:import href="info.xsl"/>

<xsl:template match="/">
    <xsl:apply-templates select="*"/>
  </xsl:template>

<xsl:template match="TEST">
    <mod>
      <xsl:apply-templates select="*"/>
    </mod>
  </xsl:template>

<xsl:template match="HEAD">
    <xsl:variable name="vAkt" select="/TEST/DMN/@DN"/>
    <xsl:variable name="vInfo" select="concat('$v',substring($vAkt,2,1))"/>
    <status>
      <addres>
        <title>
          <info><xsl:copy-of select='$vInfo'/></info>
        </title>
      </addres>
    </status>
  </xsl:template>
</xsl:stylesheet>

Nur schreibt er mir in die transformierte XML-Datei immer den Wert der Variablen vInfo, aber ich möchte doch den Inhalt der Variablen aus der externen Datei. Wenn ich den zusammengesetzten String per Hand eintrage, also <xsl:variable name="vInfo" select="v1"/> dann macht ers richtig, aber so nicht.

Ich hoffe ihr versteht mein Problem und könnt mir helfen. Sonst muss ichs wohl über Java machen :(
Grüße
Kai