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>