Hallo Leser!
Ich möchte den Titel einer Seite per XSL generieren da ich für einen gewissen Seitentyp ein sogenanntes "Webcontnet-Template" habe. Dieses EINE Template wird für mehrere Seiten angewandt. Deswegen kann ich den Seitentitel nicht fix reinschreiben sondern muss ihn durch entsprechende XSL Befehle "dynamisch" generieren lassen.
######## Webcontent Template Start ##############
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
.
.
.
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Treehouse café - <xsl:call-template name="main"/>: <xsl:call-template name="sub"/></title>
.
.
.
</head>
</xsl:template>
.
.
.
<xsl:template name="main">
<xsl:if test="string(/data/nav/mainnav/@pageId)">
<xsl:value-of select="/data/nav/mainnav"/>
</xsl:if>
</xsl:template>
<xsl:template name="sub">
<xsl:for-each select="/data/submenu">
<xsl:value-of select="item"/>
</xsl:for-each>
</xsl:template>
######## Webcontent Template Ende##############
Mein Problem ist, dass nur immer dass erste Element von "main" (also der erste Hauptnavigationspunkt: Tree House Cafe) und dass erste Element von "sub" angezeigt wird (z.b. About the cafe/About the Library etc.)
in einer anderen Variante werden alle menüitems hintereinander in den Seitentitel geschrieben.
<xsl:template name="main">
<xsl:for-each select="/data/nav">
xsl:choose
<xsl:when test="string(./mainnav/@pageId)">
<xsl:value-of select="./mainnav"/>
</xsl:when>
xsl:otherwise
<xsl:value-of select="./mainnav"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
Ich komme nicht auf die richtige Lösung. Bitte um Hilfe!
http://www.treehousecafe.org/index.php?pageId=9
#####################XML Datei########################
- <data>
.
.
. - <nav>
<mainnav pageId="9" adminPageId="">Tree House Cafe</mainnav> - <subnav>
<item pageId="9" adminPageId="10">About the Cafe</item>
<item pageId="11" adminPageId="">Staff profiles</item>
<item pageId="13" adminPageId="">Volunteer profiles</item>
<item pageId="15" adminPageId="16">Refurbishment info</item>
</subnav>
</nav> - <nav>
<mainnav pageId="17" adminPageId="">Children's Peace Libary</mainnav> - <subnav>
<item pageId="17" adminPageId="18">About the Libary</item>
<item pageId="19" adminPageId="20">Events</item>
<item pageId="21" adminPageId="">Book catalogue</item>
<item pageId="23" adminPageId="24">Resource for schools</item>
</subnav>
</nav> - <nav>
<mainnav pageId="25" adminPageId="">Bradford Centre for NV</mainnav> - <subnav>
<item pageId="25" adminPageId="26">About the Centre</item>
<item pageId="27" adminPageId="28">Relation to the cafe</item>
<item pageId="29" adminPageId="30">Organisational structure</item>
<item pageId="31" adminPageId="32">Resource for nonviolence</item>
</subnav>
</nav> - <nav>
<mainnav pageId="33" adminPageId="">Getting Involved</mainnav> - <subnav>
<item pageId="33" adminPageId="">Becoming a member</item>
<item pageId="35" adminPageId="36">Becoming a director</item>
<item pageId="37" adminPageId="38">Projects</item>
<item pageId="39" adminPageId="40">Visioning events</item>
</subnav>
</nav> - <nav>
<mainnav pageId="41" adminPageId="42">City of Bradford</mainnav>
<subnav />
</nav> - <nav>
<mainnav pageId="4" adminPageId="">What's on</mainnav>
<subnav />
</nav> - <nav>
<mainnav pageId="51" adminPageId="">Forum</mainnav> - <subnav>
<item pageId="56" adminPageId="">Login</item>
<item pageId="52" adminPageId="">Register</item>
<item pageId="51" adminPageId="">Overview</item>
</subnav>
</nav> - <submenu>
<item pageId="9">Tree House Cafe</item>
<item pageId="17">Children's Peace Libary</item>
<item pageId="25">Bradford Centre for NV</item>
<item pageId="33">Getting Involved</item>
<item pageId="41">City of Bradford</item>
<item pageId="4">What's on</item>
<item pageId="51">Forum</item>
</submenu>
.
.
.