Patrick: <title> per XSL generieren

Beitrag lesen

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>
    .
    .
    .