Thomas Müller: if-Anweisung und Variablen

Beitrag lesen

Ich suche seit langem nach einer Lösung. Vielleicht kann mir hier ja jemand helfen.

Mit einer PHP-Funktion ersetzte ich in der XSLT-Datei "{@_GET_MTID@}" beispielsweise in "mt_0", damit ich eine Unternavigation auf meiner Seite erstellen kann. Diesen Wert speichere ich in der Variablen $_get_mtid.

Dieses funktioniert einwandfrei. Habe ich bereits getestet.
Wenn ich nun mit "xsl:if" überprüfen möchte, ob die Hauptnavigation (sprich: das Attribut @mtid vom Element <maintopic>) mit der Variablen $_get_mtid übereinstimmt, dann geht nichts mehr. Ersetzte ich aber in der if-Anweisung die Variable $_get_mtid per Hand durch 'mt_0' klappts.

Was mache ich falsch???

Gruß Thomas

XML-Datei:

<?xml version="1.0" encoding="ISO-8859-15"?>
<topics>
<maintopic mtid='mt_0' group='all'>
  <string>Home</string>
  <title>Zur Startseite</title>
  <target>_self</target>
  <url><![CDATA[./index.php?module=content&data=home]]></url>

<topic tid='t_0' group='all'>
   <string>Projekt "drago XCMS" [extern]</string>
   <title>Zur Homepage des "drago"-Projekts"</title>
   <target>_blank</target>
   <url><![CDATA[http://dragoxcms.dyns.net?]]></url>
  </topic>
</maintopic>
<maintopic mtid='mt_999' group='all'>
  <string>Logout</string>
  <title>*drago intraserv {@DRAGO_VERSION@}* abmelden</title>
  <target>_self</target>
  <url><![CDATA[./index.php?module=logout]]></url>

<topic tid='t_0' group='all'>
   <string>Test</string>
   <title>Zur Homepage des "drago"-Projekts"</title>
   <target>_blank</target>
   <url><![CDATA[http://www.test.de?]]></url>
  </topic>
</maintopic>
</topics>

XSLT-Datei:

<?xml version="1.0" encoding="ISO-8859-15"?>
<xsl:stylesheet xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>

<xsl:variable name="_get_mtid">{@_GET_MTID@}</xsl:variable>

<xsl:template match="maintopic">
  GET <xsl:value-of select="$_get_mtid"/> : M <xsl:value-of select="@mtid"/><br/>

<xsl:if test="@mtid=$_get_mtid">
   OK !
   <xsl:apply-templates select="topic"/>
  </xsl:if>
</xsl:template>

<xsl:template match="topic">
  xsl:text<![CDATA[!!! TOPIC !!!]]></xsl:text><br />
  <xsl:variable name="url"><xsl:value-of select="url"/>xsl:text<![CDATA[&mtid=]]></xsl:text><xsl:value-of select="$_get_mtid"/>xsl:text<![CDATA[&tid=]]></xsl:text><xsl:value-of select="@tid"/></xsl:variable>
  <xsl:variable name="target" select="target"/>
  <xsl:variable name="title" select="title"/>

<a href="{$url}" target="{$target}" title="{$title}"><xsl:value-of select="string"/></a>
  <br/>
</xsl:template>
</xsl:stylesheet>