You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by di...@apache.org on 2005/10/08 04:54:09 UTC
svn commit: r307243 - in /forrest/trunk/main/webapp/skins/leather-dev/xslt:
fo/document-to-fo.xsl html/book-to-menu.xsl html/document-to-html.xsl
html/site-to-xhtml.xsl html/tab-to-menu.xsl xml/dir-to-contracts.xsl
xml/ft-to-xhtml.xsl xml/site-to-xml.xsl
Author: diwaker
Date: Fri Oct 7 19:54:05 2005
New Revision: 307243
URL: http://svn.apache.org/viewcvs?rev=307243&view=rev
Log:
renamed stylesheets for leather-dev
Added:
forrest/trunk/main/webapp/skins/leather-dev/xslt/fo/document-to-fo.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/html/book-to-menu.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/html/document-to-html.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/html/site-to-xhtml.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/html/tab-to-menu.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/dir-to-contracts.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/ft-to-xhtml.xsl (with props)
forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/site-to-xml.xsl (with props)
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/fo/document-to-fo.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/fo/document-to-fo.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/fo/document-to-fo.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/fo/document-to-fo.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ version="1.0">
+
+<xsl:import href="../../../common/xslt/fo/document2fo.xsl"/>
+
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/fo/document-to-fo.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/book-to-menu.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/html/book-to-menu.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/html/book-to-menu.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/html/book-to-menu.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+book2menu.xsl generates the HTML menu. See the imported book2menu.xsl for
+details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:import href="../../../common/xslt/html/book2menu.xsl"/>
+
+ <xsl:template match="book">
+ <div id="menu">
+ <ul>
+ <xsl:apply-templates select="menu"/>
+ </ul>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="menu">
+ <li>
+ <h1><xsl:value-of select="@label"/></h1>
+ <ul>
+ <xsl:apply-templates/>
+ </ul>
+ </li>
+ </xsl:template>
+
+ <xsl:template match="menu-item[@type='hidden']"/>
+
+ <xsl:template match="menu-item">
+ <li>
+ <xsl:apply-imports/>
+ </li>
+ </xsl:template>
+
+ <xsl:template name="selected">
+ <div class="current"><xsl:value-of select="@label"/></div>
+ </xsl:template>
+
+ <xsl:template name="print-external">
+ <font color="#ffcc00">
+ <xsl:apply-imports/>
+ </font>
+ </xsl:template>
+
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/book-to-menu.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/document-to-html.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/html/document-to-html.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/html/document-to-html.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/html/document-to-html.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+This stylesheet contains templates for converting documentv11 to HTML. See the
+imported document2html.xsl for details.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:import href="../../../common/xslt/html/document2html.xsl"/>
+
+ <xsl:template match="document">
+ <div id="content">
+
+ <xsl:if test="normalize-space(header/title)!=''">
+ <h1><xsl:value-of select="header/title"/></h1>
+ </xsl:if>
+
+ <xsl:if test="normalize-space(header/subtitle)!=''">
+ <h3><xsl:value-of select="header/subtitle"/></h3>
+ </xsl:if>
+<!--
+ <xsl:apply-templates select="header/type"/>
+ <xsl:apply-templates select="header/notice"/>
+ <xsl:apply-templates select="header/abstract"/>
+ <xsl:apply-templates select="body"/>
+
+ <div class="attribution">
+ <xsl:apply-templates select="header/authors"/>
+ <xsl:if test="header/authors and header/version">
+ <xsl:text>; </xsl:text>
+ </xsl:if>
+ <xsl:apply-templates select="header/version"/>
+ </div>
+ -->
+ <xsl:if test="header/abstract">
+ <div class="abstract">
+ <xsl:value-of select="header/abstract"/>
+ </div>
+ </xsl:if>
+<div id="content-main">
+ <xsl:apply-templates select="body"/>
+</div>
+ <xsl:if test="header/authors">
+ <p align="right">
+ <font size="-2">
+ <xsl:for-each select="header/authors/person">
+ <xsl:choose>
+ <xsl:when test="position()=1">by </xsl:when>
+ <xsl:otherwise>, </xsl:otherwise>
+ </xsl:choose>
+ <xsl:value-of select="@name"/>
+ </xsl:for-each>
+ </font>
+ </p>
+ </xsl:if>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="body">
+ <div id="skinconf-toc-page"/>
+ <xsl:apply-templates/>
+ </xsl:template>
+
+
+ <xsl:template match="@id">
+ <xsl:apply-imports/>
+ </xsl:template>
+ <!-- Generate a <a name="..."> tag for an @id -->
+ <xsl:template match="@id">
+ <xsl:if test="normalize-space(.)!=''">
+ <a name="{.}"><xsl:text> </xsl:text></a>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="section">
+ <a name="{generate-id()}"><xsl:text> </xsl:text></a>
+ <xsl:apply-templates select="@id"/>
+
+ <xsl:variable name = "level" select = "count(ancestor::section)+1" />
+
+ <xsl:choose>
+ <xsl:when test="$level=1">
+ <div class="skinconf-heading-{$level}">
+ <h1><xsl:value-of select="title"/></h1>
+ </div>
+ <div class="section">
+ <xsl:apply-templates select="*[not(self::title)]"/>
+ </div>
+ </xsl:when>
+ <xsl:when test="$level=2">
+ <div class="skinconf-heading-{$level}">
+ <h2><xsl:value-of select="title"/></h2>
+ </div>
+ <xsl:apply-templates select="*[not(self::title)]"/>
+ </xsl:when>
+ <!-- If a faq, answer sections will be level 3 (1=Q/A, 2=part) -->
+ <xsl:when test="$level=3 and $notoc='true'">
+ <h4 class="faq"><xsl:value-of select="title"/></h4>
+ <div align="right"><a href="#{@id}-menu">^</a></div>
+ <div style="margin-left: 15px">
+ <xsl:apply-templates select="*[not(self::title)]"/>
+ </div>
+ </xsl:when>
+ <xsl:when test="$level=3">
+ <h4><xsl:value-of select="title"/></h4>
+ <xsl:apply-templates select="*[not(self::title)]"/>
+
+ </xsl:when>
+
+ <xsl:otherwise>
+ <h5><xsl:value-of select="title"/></h5>
+ <xsl:apply-templates select="*[not(self::title)]"/>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:template>
+
+ <xsl:template match="figure">
+ <xsl:apply-templates select="@id"/>
+ <div style="text-align: center;">
+ <img src="{@src}" alt="{@alt}" class="figure">
+ <xsl:if test="@height">
+ <xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@width">
+ <xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
+ </xsl:if>
+ </img>
+ </div>
+ </xsl:template>
+ <xsl:template match="note | warning | fixme">
+ <xsl:apply-templates select="@id"/>
+ <div class="{local-name()}">
+ <div class="label">
+ <xsl:choose>
+ <!-- FIXME: i18n Transformer here -->
+ <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
+ <xsl:when test="local-name() = 'note'">Note</xsl:when>
+ <xsl:when test="local-name() = 'warning'">Warning</xsl:when>
+ <xsl:otherwise>Fixme (<xsl:value-of select="@author"/>)</xsl:otherwise>
+ </xsl:choose>
+ </div>
+ <div class="content">
+ <xsl:apply-templates/>
+ </div>
+ </div>
+ </xsl:template>
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/document-to-html.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/site-to-xhtml.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/html/site-to-xhtml.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/html/site-to-xhtml.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/html/site-to-xhtml.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,685 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+site2xhtml.xsl is the final stage in HTML page production. It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc. As input, it takes XML of the form:
+
+<site>
+ <div class="menu">
+ ...
+ </div>
+ <div class="tab">
+ ...
+ </div>
+ <div class="content">
+ ...
+ </div>
+</site>
+
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:dyn="http://exslt.org/dynamic"
+ extension-element-prefixes="dyn">
+
+
+
+ <xsl:import href="../../../common/xslt/html/site2xhtml.xsl"/>
+ <xsl:variable name="request" select="substring-before($filename,'.html')"/>
+
+ <xsl:include href="cocoon:/prepare.include.dyn:evaluate($request)"/>
+ <xsl:include href="cocoon:/prepare.xhtml.dyn:evaluate($request)"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+<!--+
+ |Overall site template
+ +-->
+ <xsl:template match="site">
+ <xhtml>
+ <head>
+ <xsl:call-template name="getHead"/>
+<!--+
+ |stylesheets ->
+ |1. default css of the contracts
+ |2. default css to overide the above created
+ +-->
+ <style type="text/css">
+<xsl:call-template name="getCss"/>
+</style>
+ <link rel="stylesheet" href="{$root}skin/basic.css" type="text/css"
+ />
+<!--+
+ |title
+ +-->
+ <title>
+ <xsl:value-of select="div[@id='content']/h1"/>
+ </title>
+ </head>
+ <body onload="init()">
+ <!--<p><xsl:value-of select="substring-before($filename,'.html')"/></p>-->
+ <xsl:call-template name="getBody"/>
+ </body>
+ </xhtml><!--
+ <site>
+ <name><xsl:value-of select="$filename"/></name>
+ <call><xsl:call-template name="getHead"/></call>
+ <!-#-html lang="en" xml:lang="en"-#->
+ <xsl:apply-templates/>
+ </site>-->
+ </xsl:template>
+ <xsl:template name="menu">
+<xsl:comment>+
+ |start Menu
+ +</xsl:comment>
+ <div id="nav">
+<ul>
+<!--menu - inner-->
+ <xsl:for-each select = "div[@id='menu']/ul/li">
+ <xsl:call-template name = "innermenuli" >
+ <xsl:with-param name="id" select="concat('1.', position())"/>
+ </xsl:call-template>
+ </xsl:for-each>
+</ul>
+</div>
+ <!--
+ <xsl:apply-templates select="div[@id='menu']/*" />
+ -->
+</xsl:template>
+ <xsl:template name="innermenuli">
+ <xsl:param name="id"/>
+ <xsl:variable name="tagid">
+ <xsl:choose>
+ <xsl:when test="descendant-or-self::node()/li/div/@class='current'"><xsl:value-of select="concat('menu_selected_',$id)"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="concat('menu_',concat(font,$id))"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="whichGroup">
+ <xsl:choose>
+ <xsl:when test="descendant-or-self::node()/li/div/@class='current'">currentmenuitemgroup</xsl:when>
+ <xsl:otherwise>menuitemgroup</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <li class="pagegroup"><strong><xsl:value-of select="h1"/></strong>
+ <ul>
+ <xsl:for-each select= "ul/li">
+
+ <xsl:choose>
+ <xsl:when test="a">
+ <li><a href="{a/@href}"><xsl:value-of select="a" /></a></li>
+ </xsl:when>
+ <xsl:when test="div/@class='current'">
+ <li class="menupage">
+ <div class="menupagetitle"><xsl:value-of select="div" /></div>
+ <xsl:if test="$config/toc/@max-depth>0
+ and contains($minitoc-location,'menu')
+ and count(//tocitems/tocitem) >= $config/toc/@min-sections">
+ <li class="menupageitemgroup">
+ <xsl:for-each select = "//tocitems/tocitem">
+ <div class="menupageitem">
+ <xsl:choose>
+ <xsl:when test="string-length(@title)>15">
+ <a href="{@href}" title="{@title}"><xsl:value-of select="substring(@title,0,20)" />...</a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{@href}"><xsl:value-of select="@title" /></a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </div>
+ </xsl:for-each>
+ </li>
+ </xsl:if>
+ </li>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name = "innermenuli">
+ <xsl:with-param name="id" select="concat($id, '.', position())"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:for-each>
+ </ul></li>
+ </xsl:template>
+<!-- <html>
+<!-#-+
+ |HTML-head
+ +-#->
+ <head>
+<!-#-+
+ |generator meta
+ +-#->
+ <xsl:call-template name="html-meta"/>
+<!-#-+
+ |title
+ +-#->
+ <title>
+ <xsl:value-of select="div[@id='content']/h1"/>
+ </title>
+<!-#-+
+ |stylesheets
+ +-#->
+ <link rel="stylesheet" href="{$root}skin/basic.css" type="text/css"
+ />
+ <link rel="stylesheet" href="{$root}skin/navigation.css"
+ type="text/css" />
+ <link rel="stylesheet" href="{$root}skin/branding.css"
+ type="text/css" />
+ <link rel="stylesheet" href="{$root}skin/base-contracts.css"
+ type="text/css" />
+ <link rel="stylesheet" href="{$root}skin/profiling.css"
+ type="text/css" />
+<!-#-+
+ |Javascripts
+ +-#->
+ <script type="text/javascript" language="javascript"
+ src="{$root}skin/getBlank.js"></script>
+ <script type="text/javascript" language="javascript"
+ src="{$root}skin/getMenu.js"></script>
+ <script type="text/javascript" language="javascript"
+ src="{$root}skin/fontsize.js"></script>
+<!-#-+
+ |favicon
+ +-#->
+ <xsl:if test="//skinconfig/favicon-url">
+ <link rel="shortcut icon">
+ <xsl:attribute name="href">
+ <xsl:value-of
+ select="concat($root,//skinconfig/favicon-url)"/>
+ </xsl:attribute>
+ </link>
+ </xsl:if>
+ </head>
+<!-#-+
+ |HTML-body
+ +-#->
+ <body onload="init()">
+ <script type="text/javascript">ndeSetTextSize();</script>
+
+<!-#-+
+ |container - surrounding div
+ +-#->
+ <div id="container">
+<!-#-+Default site structure
+ +++++++++++++++++++++++++++
+ +=========================+
+ | branding
+ +=========================+
+ +=========================+
+ | menu
+ +=========================+
+ +=========================+
+ | search
+ +=========================+
+ +=========================+
+ | content
+ +=========================+
+ +=========================+
+ | siteinfo
+ +=========================+
+ +++++++++++++++++++++++++++
+ +-#->
+<!-#-+
+ |branding with logos
+ +-#->
+ <div id="branding">
+<xsl:comment>+
+ |header
+ +</xsl:comment>
+<!-#-breadcrumbs org location-#->
+<xsl:if test="not ($config/trail/@location)">
+<xsl:comment>+
+ |breadtrail
+ +</xsl:comment>
+ <div id="b-trail">
+ <xsl:call-template name="breadcrumbs"/>
+ </div>
+</xsl:if>
+
+<xsl:comment>+
+ |start group logo
+ +</xsl:comment>
+ <xsl:if test="$config/group-url">
+ <div class="bl-group">
+ <xsl:call-template name="renderlogo">
+ <xsl:with-param name="name" select="$config/group-name"/>
+ <xsl:with-param name="url" select="$config/group-url"/>
+ <xsl:with-param name="logo" select="$config/group-logo"/>
+ <xsl:with-param name="root" select="$root"/>
+ <xsl:with-param name="description" select="$config/group-description"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+<xsl:comment>+
+ |end group logo
+ +</xsl:comment>
+<xsl:comment>+
+ |start Project Logo
+ +</xsl:comment>
+ <xsl:variable name="xtest">
+ <xsl:choose>
+ <xsl:when
+ test="$config/group-url and $config/search and not($config/search/@box-location = 'alt')">
+ <xsl:text>true</xsl:text></xsl:when>
+ <xsl:otherwise><xsl:text>false</xsl:text></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <div class="projectlogo">
+ <xsl:if test="$xtest='false'" >
+ <xsl:attribute name="class">
+ <xsl:text>projectlogoA1</xsl:text>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="renderlogo">
+ <xsl:with-param name="name" select="$config/project-name"/>
+ <xsl:with-param name="url" select="$config/project-url"/>
+ <xsl:with-param name="logo" select="$config/project-logo"/>
+ <xsl:with-param name="root" select="$root"/>
+ <xsl:with-param name="description" select="$config/project-description"/>
+ </xsl:call-template>
+ </div>
+<xsl:comment>+
+ |end Project Logo
+ +</xsl:comment>
+ <!-#-+
+ |centerstrip with menu and mainarea
+ +-#->
+ <div id="branding-tagline">
+ <script language="JavaScript" type="text/javascript"><![CDATA[<!-#-
+ document.write("Published: " + document.lastModified);
+ // -#->]]></script>
+ </div>
+
+
+<xsl:comment>+
+ |breadtrail
+ +</xsl:comment>
+ <div id="branding-trail-a1">
+ <xsl:choose>
+ <xsl:when test="$config/trail/@location='alt'">
+ <!-#-breadtrail location='alt'-#->
+ <xsl:call-template name="breadcrumbs"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-#-*NO* breadtrail-#->
+  
+ </xsl:otherwise>
+</xsl:choose>
+</div>
+
+ </div>
+<div id="search">
+ <xsl:if
+ test="$config/search and not($config/search/@box-location = 'alt')">
+<xsl:comment>+
+ |start Search
+ +</xsl:comment>
+ <div class="search-input">
+ <xsl:choose>
+ <xsl:when test="$config/search/@provider = 'lucene'">
+ <!-#- Lucene search -#->
+ <form method="get" action="{$root}{$lucene-search}">
+ <input type="text" id="query" name="queryString" size="25" value="Search the site with {$config/search/@provider}:" onFocus="getBlank (this, 'Search the site with {$config/search/@provider}:');"/>
+  
+ <input type="submit" value="Search" name="Search"/>
+ </form>
+ </xsl:when>
+ <xsl:otherwise>
+ <form class="roundtopsmall" method="get" action="http://www.google.com/search">
+ <input type="hidden"
+ name="sitesearch" value="{$config/search/@domain}"/>
+ <input type="text" id="query" name="q" size="25" value="Search the site with {$config/search/@provider}:" onFocus="getBlank (this, 'Search the site with {$config/search/@provider}:');"/> 
+ <input type="submit" value="Search" name="Search"/> </form>
+ </xsl:otherwise>
+</xsl:choose>
+ </div>
+<xsl:comment>+
+ |end search
+ +</xsl:comment>
+ </xsl:if>
+</div>
+<div id="nav">
+<xsl:comment>+
+ |start Tabs
+ +</xsl:comment>
+ <xsl:apply-templates select="ul[@id='nav-main']"/>
+<xsl:comment>+
+ |end Tabs
+ +</xsl:comment>
+<xsl:apply-templates select="div[@id='nav-main-sub']"/>
+<xsl:comment>+
+ |start menu
+ +</xsl:comment>
+ <xsl:if test="div[@id='menu']/ul/li">
+ <xsl:call-template name="menu"/>
+ </xsl:if>
+</div>
+
+
+
+<xsl:comment>+
+ |start content
+ +</xsl:comment>
+ <xsl:apply-templates select="div[@id='content-main']"/>
+<xsl:comment>+
+ |end content
+ +</xsl:comment>
+
+<!-#-+
+ |siteinfo
+ +-#->
+ <div id="siteinfo">
+<xsl:comment>+
+ |start bottomstrip
+ +</xsl:comment>
+ <div class="lastmodified"><script type="text/javascript"><![CDATA[<!-#-
+document.write("Last Published: " + document.lastModified);
+// -#->]]></script></div>
+
+ <div class="siteinfo-legal">
+ Copyright ©<xsl:text> </xsl:text><xsl:value-of select="$config/year"/><xsl:text> </xsl:text><xsl:value-of select="$config/vendor"/>
+ </div>
+
+ <xsl:if test="$filename = 'index.html'">
+ <div id="logos" >
+ <xsl:if test="$config/disable-compliance-links/@align">
+ <xsl:attribute name="style">text-align: <xsl:value-of select="$config/disable-compliance-links/@align"/></xsl:attribute>
+ </xsl:if>
+ <!-#- W3C logos style="text-align: center;"-#->
+ <xsl:call-template name="compliancy-logos"/>
+ <xsl:if test="$filename = 'index.html' and $config/credits and not ($config/credits/credit/@box-location = 'alt')">
+ <xsl:for-each select="$config/credits/credit[not(@role='pdf')]">
+ <xsl:variable name="name" select="name"/>
+ <xsl:variable name="url" select="url"/>
+ <xsl:variable name="image" select="image"/>
+ <xsl:variable name="width" select="width"/>
+ <xsl:variable name="height" select="height"/>
+ <a href="{$url}">
+ <img alt="{$name} - logo" title="{$name}" border="0">
+ <xsl:attribute name="src">
+ <xsl:if test="not(starts-with($image, 'http://'))"><xsl:value-of select="$root"/></xsl:if>
+ <xsl:value-of select="$image"/>
+ </xsl:attribute>
+ <xsl:attribute name="style">
+ <xsl:if test="$width">width: <xsl:value-of select="$width"/>px;</xsl:if>
+ <xsl:if test="$height">height: <xsl:value-of select="$height"/>px;</xsl:if>
+ </xsl:attribute>
+ </img>
+ </a>
+ </xsl:for-each>
+ </xsl:if>
+
+ </div>
+ </xsl:if>
+ <xsl:if test="$config/host-logo and not($config/host-logo = '')">
+ <div class="host">
+ <xsl:call-template name="renderlogo">
+ <xsl:with-param name="name" select="$config/host-name"/>
+ <xsl:with-param name="url" select="$config/host-url"/>
+ <xsl:with-param name="logo" select="$config/host-logo"/>
+ <xsl:with-param name="root" select="$root"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+ <xsl:if test="$config/feedback">
+ <xsl:call-template name="feedback"/>
+ </xsl:if>
+<xsl:comment>+
+ |end bottomstrip
+ +</xsl:comment>
+ </div>
+<!-#-+
+ |end container
+ +-#->
+</div>
+ </body>
+ </html>
+ </xsl:template>
+<!-#-headings-#->
+<xsl:template match="div[@class = 'skinconf-heading-1']">
+ <xsl:choose>
+ <xsl:when test="//skinconfig/headings/@type='underlined'">
+ <h2 class="underlined_10"><xsl:value-of select="h1"/></h2>
+ </xsl:when>
+ <xsl:when test="//skinconfig/headings/@type='boxed'">
+ <h2 class="boxed"><xsl:value-of select="h1"/></h2>
+ </xsl:when>
+ <xsl:otherwise>
+ <h2 class="h3"><xsl:value-of select="h1"/></h2>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="div[@class = 'skinconf-heading-2']">
+ <xsl:choose>
+ <xsl:when test="//skinconfig/headings/@type='underlined'">
+ <h3 class="underlined_5"><xsl:value-of select="h2"/></h3>
+ </xsl:when>
+ <xsl:when test="//skinconfig/headings/@type='boxed'">
+ <h3 class="boxed"><xsl:value-of select="h2"/></h3>
+ </xsl:when>
+ <xsl:otherwise>
+ <h3 class="h4"><xsl:value-of select="h2"/></h3>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <!-#- Add links to any standards-compliance logos -#->
+ <xsl:template name="compliancy-logos">
+ <xsl:if test="$filename = 'index.html' and $config/disable-compliance-links = 'false'">
+ <a href="http://validator.w3.org/check/referer"><img class="logoImage"
+ src="{$skin-img-dir}/valid-html401.png"
+ alt="Valid HTML 4.01!" style="height: 31px; width: 88px;" /></a>
+
+ <a href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logoImage"
+ src="{$skin-img-dir}/vcss.png"
+ alt="Valid CSS!" style="height: 31px; width: 88px;"/></a>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="menu">
+<xsl:comment>+
+ |start Menu
+ +</xsl:comment>
+ <div id="nav-section" class="roundbottom">
+<!-#-menu - inner-#->
+ <xsl:for-each select = "div[@id='menu']/ul/li">
+ <xsl:call-template name = "innermenuli" >
+ <xsl:with-param name="id" select="concat('1.', position())"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ <!-#-
+ <xsl:apply-templates select="div[@id='menu']/*" />
+ -#->
+<!-#-credits-#->
+
+ <xsl:if test="$filename = 'index.html' and $config/credits and ($config/credits/credit/@box-location = 'alt')">
+ <div id="siteinfo-credits">
+ <xsl:for-each select="$config/credits/credit[not(@role='pdf')]">
+ <xsl:variable name="name" select="name"/>
+ <xsl:variable name="url" select="url"/>
+ <xsl:variable name="image" select="image"/>
+ <xsl:variable name="width" select="width"/>
+ <xsl:variable name="height" select="height"/>
+ <a href="{$url}">
+ <img alt="{$name} - logo" title="{$name}" border="0">
+ <xsl:attribute name="src">
+ <xsl:if test="not(starts-with($image, 'http://'))"><xsl:value-of select="$root"/></xsl:if>
+ <xsl:value-of select="$image"/>
+ </xsl:attribute>
+ <xsl:attribute name="style">
+ <xsl:if test="$width">width: <xsl:value-of select="$width"/>px;</xsl:if>
+ <xsl:if test="$height">height: <xsl:value-of select="$height"/>px;</xsl:if>
+ </xsl:attribute>
+ </img>
+ </a>
+ </xsl:for-each>
+ </div>
+ </xsl:if>
+
+ <div class="roundbottom-left"> 
+ </div>
+ <xsl:comment>+
+ |alternative credits
+ +</xsl:comment>
+ </div>
+<xsl:comment>+
+ |end Menu
+ +</xsl:comment>
+ </xsl:template>
+
+ <xsl:template name="innermenuli">
+ <xsl:param name="id"/>
+ <xsl:variable name="tagid">
+ <xsl:choose>
+ <xsl:when test="descendant-or-self::node()/li/div/@class='current'"><xsl:value-of select="concat('menu_selected_',$id)"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="concat('menu_',concat(font,$id))"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="whichGroup">
+ <xsl:choose>
+ <xsl:when test="descendant-or-self::node()/li/div/@class='current'">currentmenuitemgroup</xsl:when>
+ <xsl:otherwise>menuitemgroup</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <div class="nav-section-title" id="{$tagid}Title" onclick="SwitchMenu('{$tagid}')"><xsl:value-of select="h1"/></div>
+ <div class="{$whichGroup}" id="{$tagid}">
+ <xsl:for-each select= "ul/li">
+
+ <xsl:choose>
+ <xsl:when test="a">
+ <div class="menuitem"><a href="{a/@href}"><xsl:value-of select="a" /></a></div>
+ </xsl:when>
+ <xsl:when test="div/@class='current'">
+ <div class="menupage">
+ <div class="menupagetitle"><xsl:value-of select="div" /></div>
+ <xsl:if test="$config/toc/@max-depth>0 and contains($minitoc-location,'menu')">
+ <div class="menupageitemgroup">
+ <xsl:for-each select = "//tocitems/tocitem">
+ <div class="menupageitem">
+ <xsl:choose>
+ <xsl:when test="string-length(@title)>15">
+ <a href="{@href}" title="{@title}"><xsl:value-of select="substring(@title,0,20)" />...</a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{@href}"><xsl:value-of select="@title" /></a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </div>
+ </xsl:for-each>
+ </div>
+ </xsl:if>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name = "innermenuli">
+ <xsl:with-param name="id" select="concat($id, '.', position())"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:for-each>
+ </div>
+ </xsl:template>
+
+<!-#-+
+ |Generates the PDF link
+ +-#->
+ <xsl:template match="div[@id='skinconf-pdflink']">
+ <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 'false'">
+ <div id="content-pdf" title="Portable Document Format"><a href="{$filename-noext}.pdf" class="dida">
+ <img class="skin" src="{$skin-img-dir}/pdfdoc.gif" alt="PDF - icon"/><br/>
+ PDF</a>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+
+ <xsl:template match="div[@id='skinconf-xmllink']">
+ <xsl:if test="not($config/disable-xml-link) or $disable-xml-link = 'false'">
+ <div class="xmllink" title="raw XML"><a href="{$filename-noext}.xml" class="dida">
+ <img class="skin" src="{$skin-img-dir}/xmldoc.gif" alt="XML - icon" /><br/>
+ XML</a>
+ </div>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="div[@id='skinconf-podlink']">
+ <xsl:if test="not($config/disable-pod-link) or $disable-pod-link = 'false'">
+ <div class="podlink" title="Plain Old Documentation"><a href="{$filename-noext}.pod" class="dida">
+ <img class="skin" src="{$skin-img-dir}/poddoc.png" alt="POD - icon" /><br/>
+ POD</a>
+ </div>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="div[@id='skinconf-printlink']">
+ <xsl:if test="not($config/disable-print-link) or $disable-print-link = 'false'">
+ <script type="text/javascript" language="Javascript">
+function printit() {
+ if (window.print) {
+ window.focus();
+ window.print();
+ }
+}
+ </script>
+
+ <script type="text/javascript" language="Javascript">
+var NS = (navigator.appName == "Netscape");
+var VERSION = parseInt(navigator.appVersion);
+if (VERSION > 3) {
+ document.write('<div class="printlink" title="Print this Page">');
+ document.write(' <a href="javascript:printit()" class="dida">');
+ document.write(' <img class="skin" src="{$skin-img-dir}/printer.gif" alt="print - icon" />');
+ document.write(' <br />');
+ document.write(' PRINT</a>');
+ document.write('</div>');
+}
+ </script>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="div[@id='disable-font-script']">
+ <xsl:if test="$disable-font-script = 'false'">
+ <div class="trail">
+ Font size:
+  <input type="button" onclick="ndeSetTextSize('reset'); return false;" title="Reset text" class="resetfont" value="Reset"/>
+  <input type="button" onclick="ndeSetTextSize('decr'); return false;" title="Shrink text" class="smallerfont" value="-a"/>
+  <input type="button" onclick="ndeSetTextSize('incr'); return false;" title="Enlarge text" class="biggerfont" value="+a"/>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+<xsl:template match="div[@id='skinconf-toc-page']">
+ <xsl:if test="$config/toc">
+ <xsl:if test="contains($minitoc-location,'page')">
+ <xsl:if test="count(//tocitems/tocitem) >= $config/toc/@min-sections">
+ <div id="minitoc-area">
+ <xsl:call-template name="minitoc">
+ <xsl:with-param name="tocroot" select="//tocitems"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>-->
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/site-to-xhtml.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/tab-to-menu.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/html/tab-to-menu.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/html/tab-to-menu.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/html/tab-to-menu.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+This stylesheet generates 'tabs' at the top left of the screen. Tabs are
+visual indicators that a certain subsection of the URI space is being browsed.
+For example, if we had tabs with paths:
+
+Tab1: ''
+Tab2: 'community'
+Tab3: 'community/howto'
+Tab4: 'community/howto/form/index.html'
+
+Then if the current path was 'community/howto/foo', Tab3 would be highlighted.
+The rule is: the tab with the longest path that forms a prefix of the current
+path is enabled.
+
+The output of this stylesheet is HTML of the form:
+ <div class="tab">
+ ...
+ </div>
+
+which is then merged by site2xhtml.xsl
+
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <xsl:import href="../../../common/xslt/html/tab2menu.xsl"/>
+
+ <xsl:template match="tabs">
+ <ul id="nav-main">
+ <xsl:call-template name="base-tabs"/>
+ </ul>
+ <xsl:if test="tab[@dir=$longest-dir]/tab">
+ <div id="nav-main-sub">
+ <xsl:call-template name="level2tabs"/>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="pre-separator">
+ </xsl:template>
+
+ <xsl:template name="post-separator">
+ </xsl:template>
+
+ <xsl:template name="separator">
+ </xsl:template>
+
+ <xsl:template name="selected">
+ <li class="current"><xsl:call-template name="base-selected"/></li>
+ </xsl:template>
+
+ <xsl:template name="not-selected">
+ <li><xsl:call-template name="base-not-selected"/></li>
+ </xsl:template>
+
+ <xsl:template name="level2-not-selected">
+ <xsl:call-template name="base-not-selected"/>
+ </xsl:template>
+
+ <xsl:template name="level2-selected">
+ <xsl:call-template name="base-selected"/>
+ </xsl:template>
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/html/tab-to-menu.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/dir-to-contracts.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/dir-to-contracts.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/dir-to-contracts.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/dir-to-contracts.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:dir="http://apache.org/cocoon/directory/2.0"
+ xmlns:session="http://apache.org/cocoon/session/1.0"
+ >
+
+<xsl:param name="contentDir" select="'default/path'"/>
+
+ <!--
+ Create row for each document. Information about the document is
+ extracted from the document itself using the document()
+ function.
+ -->
+ <xsl:template match="/">
+ <contracts xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <xsl:apply-templates select="//dir:file"/>
+ </contracts>
+ </xsl:template>
+
+<xsl:template match="dir:file[starts-with(@name,'c-')]">
+ <xsl:variable name="fct-bit-file">
+ <xsl:value-of select="$contentDir"/>
+ <xsl:text>/</xsl:text>
+ <xsl:value-of select="@name"/>
+ </xsl:variable>
+ <xsl:variable name="fct-bit-title">
+ <xsl:value-of select="document($fct-bit-file)/contract/@name"/>
+ </xsl:variable>
+ <xsl:variable name="fct-bit-nc">
+ <xsl:value-of select="document($fct-bit-file)/contract/@nc"/>
+ </xsl:variable>
+ <xsl:variable name="fct-bit-tlc">
+ <xsl:value-of select="document($fct-bit-file)/contract/@tlc"/>
+ </xsl:variable>
+ <xsl:variable name="fct-bit-description">
+ <xsl:value-of select="document($fct-bit-file)/contract/description"/>
+ </xsl:variable>
+ <xsl:if test="$fct-bit-tlc='content'">
+ <content>
+ <contract name="{$fct-bit-title}" css="{$fct-bit-nc}" file-name="{@name}">
+ <description>
+ <xsl:value-of select="$fct-bit-description"/>
+ </description>
+ <realpath>
+ <xsl:value-of select="$fct-bit-file"/>
+ </realpath>
+ </contract>
+ </content>
+ </xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
+
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/dir-to-contracts.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/ft-to-xhtml.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/ft-to-xhtml.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/ft-to-xhtml.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/ft-to-xhtml.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+site2xml.xsl is the final stage in XML page production. It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc. As input, it takes XML of the form:
+
+<elements>
+ <branding/>
+ <search/>
+ <menu/>
+ <content/>
+ <siteinfo/>
+</elements>
+
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:import href="fct-bits/fct-bits.xsl"/>
+ <xsl:param name="contextPath"/>
+
+ <!--+
+ |Overall site template
+ +-->
+ <xsl:template match="/">
+ <ft>
+ <xsl:apply-templates />
+ </ft>
+ </xsl:template>
+ <xsl:template match="hook">
+ <div id="{@name}">
+ <xsl:apply-templates />
+ </div>
+ </xsl:template>
+ <xsl:template match="contract">
+ <div id="{@name}">
+ <xsl:apply-templates />
+ </div>
+ </xsl:template>
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/ft-to-xhtml.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/site-to-xml.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/site-to-xml.xsl?rev=307243&view=auto
==============================================================================
--- forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/site-to-xml.xsl (added)
+++ forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/site-to-xml.xsl Fri Oct 7 19:54:05 2005
@@ -0,0 +1,574 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2005 The Apache Software Foundation or its licensors,
+ as applicable.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+site2xml.xsl is the final stage in XML page production. It merges HTML from
+document2html.xsl, tab2menu.xsl and book2menu.xsl, and adds the site header,
+footer, searchbar, css etc. As input, it takes XML of the form:
+
+<elements>
+ <branding/>
+ <search/>
+ <menu/>
+ <content/>
+ <siteinfo/>
+</elements>
+
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+ <!--xsl:import href="../../../common/xslt/html/site2xhtml.xsl"/-->
+<!--+
+ |Overall site template
+ +-->
+ <xsl:template match="site">
+ <elements>
+<!--+
+ |HTML-head
+ +-->
+ <head>
+<!--+
+ |generator meta
+ +-->
+ <xsl:call-template name="html-meta"/>
+<!--+
+ |title
+ +-->
+ <title>
+ <xsl:value-of select="div[@id='content']/h1"/>
+ </title>
+<!--+
+ |stylesheets test for overrides (implement overrides of css-stylesheet)
+ +-->
+ <link rel="stylesheet" href="{$root}skin/basic.css" type="text/css"
+ />
+ <link rel="stylesheet" href="{$root}skin/navigation.css"
+ type="text/css" />
+ <link rel="stylesheet" href="{$root}skin/branding.css"
+ type="text/css" />
+ <link rel="stylesheet" href="{$root}skin/base-contracts.css"
+ type="text/css" />
+ <link rel="stylesheet" href="{$root}skin/profiling.css"
+ type="text/css" />
+<!--+
+ |Javascripts (check in skinconf whether needed)
+ +-->
+ <!-- getBlank - needed for blank out a default value of a form field -->
+ <script type="text/javascript" language="javascript"
+ src="{$root}skin/getBlank.js"></script>
+ <!-- getMenu - needed for the default menu script -->
+ <script type="text/javascript" language="javascript"
+ src="{$root}skin/getMenu.js"></script>
+
+ <!-- fontsize - needed if fontsize script should be in -->
+ <!-- here:
+ <xsl:if test="//skinconf/functions/fontsize/@select='true'">
+ <xsl:apply-templates select="c-fontsize-fct/head"/>
+ </xsl:if>
+ -->
+ <script type="text/javascript" language="javascript"
+ src="{$root}skin/fontsize.js"></script>
+<!--+
+ |favicon
+ +-->
+ <xsl:if test="//skinconfig/favicon-url">
+ <link rel="shortcut icon">
+ <xsl:attribute name="href">
+ <xsl:value-of
+ select="concat($root,//skinconfig/favicon-url)"/>
+ </xsl:attribute>
+ </link>
+ </xsl:if>
+ </head>
+<!--+
+ |HTML-body
+ +-->
+ <body onload="init()">
+ <!-- fontsize - needed if fontsize script should be in -->
+ <!-- here:
+ <xsl:if test="//skinconf/functions/fontsize/@select='true'">
+ <xsl:apply-templates select="c-*-fct/body/@onload"/>
+ </xsl:if>
+ -->
+ <!-- here:
+ <xsl:if test="//skinconf/functions/fontsize/@select='true'">
+ <xsl:apply-templates select="c-fontsize-fct/body/script"/>
+ </xsl:if>
+ -->
+ <script type="text/javascript">ndeSetTextSize();</script>
+
+<!--+Default site structure
+ +++++++++++++++++++++++++++
+ +=========================+
+ | branding
+ +=========================+
+ +=========================+
+ | menu
+ +=========================+
+ +=========================+
+ | search
+ +=========================+
+ +=========================+
+ | content
+ +=========================+
+ +=========================+
+ | siteinfo
+ +=========================+
+ +++++++++++++++++++++++++++
+ +-->
+<!--+
+ |branding with logos
+ +-->
+ <div id="branding">
+<xsl:comment>+
+ |header
+ +</xsl:comment>
+<!--breadcrumbs org location-->
+<xsl:if test="not ($config/trail/@location)">
+<xsl:comment>+
+ |breadtrail
+ +</xsl:comment>
+ <div id="branding-trail">
+ <xsl:call-template name="breadcrumbs"/>
+ </div>
+</xsl:if>
+
+<xsl:comment>+
+ |start group logo
+ +</xsl:comment>
+ <xsl:if test="$config/group-url">
+ <div class="grouplogo">
+ <xsl:call-template name="renderlogo">
+ <xsl:with-param name="name" select="$config/group-name"/>
+ <xsl:with-param name="url" select="$config/group-url"/>
+ <xsl:with-param name="logo" select="$config/group-logo"/>
+ <xsl:with-param name="root" select="$root"/>
+ <xsl:with-param name="description" select="$config/group-description"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+<xsl:comment>+
+ |end group logo
+ +</xsl:comment>
+<xsl:comment>+
+ |start Project Logo
+ +</xsl:comment>
+ <xsl:variable name="xtest">
+ <xsl:choose>
+ <xsl:when
+ test="$config/group-url and $config/search and not($config/search/@box-location = 'alt')">
+ <xsl:text>true</xsl:text></xsl:when>
+ <xsl:otherwise><xsl:text>false</xsl:text></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <div class="projectlogo">
+ <xsl:if test="$xtest='false'" >
+ <xsl:attribute name="class">
+ <xsl:text>projectlogoA1</xsl:text>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="renderlogo">
+ <xsl:with-param name="name" select="$config/project-name"/>
+ <xsl:with-param name="url" select="$config/project-url"/>
+ <xsl:with-param name="logo" select="$config/project-logo"/>
+ <xsl:with-param name="root" select="$root"/>
+ <xsl:with-param name="description" select="$config/project-description"/>
+ </xsl:call-template>
+ </div>
+<xsl:comment>+
+ |end Project Logo
+ +</xsl:comment>
+ <!--+
+ |centerstrip with menu and mainarea
+ +-->
+ <div id="branding-tagline">
+ <script language="JavaScript" type="text/javascript"><![CDATA[<!--
+ document.write("Published: " + document.lastModified);
+ // -->]]></script>
+ </div>
+
+
+<xsl:comment>+
+ |breadtrail
+ +</xsl:comment>
+ <div id="branding-trail-a1">
+ <xsl:choose>
+ <xsl:when test="$config/trail/@location='alt'">
+ <!--breadtrail location='alt'-->
+ <xsl:call-template name="breadcrumbs"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <!--*NO* breadtrail-->
+  
+ </xsl:otherwise>
+</xsl:choose>
+</div>
+
+ </div>
+<div id="search">
+ <xsl:if
+ test="$config/search and not($config/search/@box-location = 'alt')">
+<xsl:comment>+
+ |start Search
+ +</xsl:comment>
+ <div class="search-input">
+ <xsl:choose>
+ <xsl:when test="$config/search/@provider = 'lucene'">
+ <!-- Lucene search -->
+ <form method="get" action="{$root}{$lucene-search}">
+ <input type="text" id="query" name="queryString" size="25" value="Search the site with {$config/search/@provider}:" onFocus="getBlank (this, 'Search the site with {$config/search/@provider}:');"/>
+  
+ <input type="submit" value="Search" name="Search"/>
+ </form>
+ </xsl:when>
+ <xsl:otherwise>
+ <form class="roundtopsmall" method="get" action="http://www.google.com/search">
+ <input type="hidden"
+ name="sitesearch" value="{$config/search/@domain}"/>
+ <input type="text" id="query" name="q" size="25" value="Search the site with {$config/search/@provider}:" onFocus="getBlank (this, 'Search the site with {$config/search/@provider}:');"/> 
+ <input type="submit" value="Search" name="Search"/> </form>
+ </xsl:otherwise>
+</xsl:choose>
+ </div>
+<xsl:comment>+
+ |end search
+ +</xsl:comment>
+ </xsl:if>
+</div>
+<div id="nav">
+<xsl:comment>+
+ |start Tabs
+ +</xsl:comment>
+ <xsl:apply-templates select="ul[@id='nav-main']"/>
+<xsl:comment>+
+ |end Tabs
+ +</xsl:comment>
+<xsl:apply-templates select="div[@id='nav-main-sub']"/>
+<xsl:comment>+
+ |start menu
+ +</xsl:comment>
+ <xsl:if test="div[@id='menu']/ul/li">
+ <xsl:call-template name="menu"/>
+ </xsl:if>
+</div>
+
+
+
+<xsl:comment>+
+ |start content
+ +</xsl:comment>
+ <xsl:apply-templates select="div[@id='content-main']"/>
+<xsl:comment>+
+ |end content
+ +</xsl:comment>
+
+<!--+
+ |siteinfo
+ +-->
+ <div id="siteinfo">
+<xsl:comment>+
+ |start bottomstrip
+ +</xsl:comment>
+ <div class="lastmodified"><script type="text/javascript"><![CDATA[<!--
+document.write("Last Published: " + document.lastModified);
+// -->]]></script></div>
+
+ <div class="siteinfo-legal">
+ Copyright ©<xsl:text> </xsl:text><xsl:value-of select="$config/year"/><xsl:text> </xsl:text><xsl:value-of select="$config/vendor"/>
+ </div>
+
+ <xsl:if test="$filename = 'index.html'">
+ <div id="logos" >
+ <xsl:if test="$config/disable-compliance-links/@align">
+ <xsl:attribute name="style">text-align: <xsl:value-of select="$config/disable-compliance-links/@align"/></xsl:attribute>
+ </xsl:if>
+ <!-- W3C logos style="text-align: center;"-->
+ <xsl:call-template name="compliancy-logos"/>
+ <xsl:if test="$filename = 'index.html' and $config/credits and not ($config/credits/credit/@box-location = 'alt')">
+ <xsl:for-each select="$config/credits/credit[not(@role='pdf')]">
+ <xsl:variable name="name" select="name"/>
+ <xsl:variable name="url" select="url"/>
+ <xsl:variable name="image" select="image"/>
+ <xsl:variable name="width" select="width"/>
+ <xsl:variable name="height" select="height"/>
+ <a href="{$url}">
+ <img alt="{$name} - logo" title="{$name}" border="0">
+ <xsl:attribute name="src">
+ <xsl:if test="not(starts-with($image, 'http://'))"><xsl:value-of select="$root"/></xsl:if>
+ <xsl:value-of select="$image"/>
+ </xsl:attribute>
+ <xsl:attribute name="style">
+ <xsl:if test="$width">width: <xsl:value-of select="$width"/>px;</xsl:if>
+ <xsl:if test="$height">height: <xsl:value-of select="$height"/>px;</xsl:if>
+ </xsl:attribute>
+ </img>
+ </a>
+ </xsl:for-each>
+ </xsl:if>
+
+ </div>
+ </xsl:if>
+ <xsl:if test="$config/host-logo and not($config/host-logo = '')">
+ <div class="host">
+ <xsl:call-template name="renderlogo">
+ <xsl:with-param name="name" select="$config/host-name"/>
+ <xsl:with-param name="url" select="$config/host-url"/>
+ <xsl:with-param name="logo" select="$config/host-logo"/>
+ <xsl:with-param name="root" select="$root"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+ <xsl:if test="$config/feedback">
+ <xsl:call-template name="feedback"/>
+ </xsl:if>
+<xsl:comment>+
+ |end bottomstrip
+ +</xsl:comment>
+ </div>
+
+ </body>
+ </elements>
+ </xsl:template>
+<!--headings-->
+<xsl:template match="div[@class = 'skinconf-heading-1']">
+ <xsl:choose>
+ <xsl:when test="//skinconfig/headings/@type='underlined'">
+ <h2 class="underlined_10"><xsl:value-of select="h1"/></h2>
+ </xsl:when>
+ <xsl:when test="//skinconfig/headings/@type='boxed'">
+ <h2 class="boxed"><xsl:value-of select="h1"/></h2>
+ </xsl:when>
+ <xsl:otherwise>
+ <h2 class="h3"><xsl:value-of select="h1"/></h2>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template match="div[@class = 'skinconf-heading-2']">
+ <xsl:choose>
+ <xsl:when test="//skinconfig/headings/@type='underlined'">
+ <h3 class="underlined_5"><xsl:value-of select="h2"/></h3>
+ </xsl:when>
+ <xsl:when test="//skinconfig/headings/@type='boxed'">
+ <h3 class="boxed"><xsl:value-of select="h2"/></h3>
+ </xsl:when>
+ <xsl:otherwise>
+ <h3 class="h4"><xsl:value-of select="h2"/></h3>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <!-- Add links to any standards-compliance logos -->
+ <xsl:template name="compliancy-logos">
+ <xsl:if test="$filename = 'index.html' and $config/disable-compliance-links = 'false'">
+ <a href="http://validator.w3.org/check/referer"><img class="logoImage"
+ src="{$skin-img-dir}/valid-html401.png"
+ alt="Valid HTML 4.01!" style="height: 31px; width: 88px;" /></a>
+
+ <a href="http://jigsaw.w3.org/css-validator/check/referer"><img class="logoImage"
+ src="{$skin-img-dir}/vcss.png"
+ alt="Valid CSS!" style="height: 31px; width: 88px;"/></a>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="menu">
+<xsl:comment>+
+ |start Menu
+ +</xsl:comment>
+ <div id="nav-section" class="roundbottom">
+<!--menu - inner-->
+ <xsl:for-each select = "div[@id='menu']/ul/li">
+ <xsl:call-template name = "innermenuli" >
+ <xsl:with-param name="id" select="concat('1.', position())"/>
+ </xsl:call-template>
+ </xsl:for-each>
+ <!--
+ <xsl:apply-templates select="div[@id='menu']/*" />
+ -->
+<!--credits-->
+
+ <xsl:if test="$filename = 'index.html' and $config/credits and ($config/credits/credit/@box-location = 'alt')">
+ <div id="siteinfo-credits">
+ <xsl:for-each select="$config/credits/credit[not(@role='pdf')]">
+ <xsl:variable name="name" select="name"/>
+ <xsl:variable name="url" select="url"/>
+ <xsl:variable name="image" select="image"/>
+ <xsl:variable name="width" select="width"/>
+ <xsl:variable name="height" select="height"/>
+ <a href="{$url}">
+ <img alt="{$name} - logo" title="{$name}" border="0">
+ <xsl:attribute name="src">
+ <xsl:if test="not(starts-with($image, 'http://'))"><xsl:value-of select="$root"/></xsl:if>
+ <xsl:value-of select="$image"/>
+ </xsl:attribute>
+ <xsl:attribute name="style">
+ <xsl:if test="$width">width: <xsl:value-of select="$width"/>px;</xsl:if>
+ <xsl:if test="$height">height: <xsl:value-of select="$height"/>px;</xsl:if>
+ </xsl:attribute>
+ </img>
+ </a>
+ </xsl:for-each>
+ </div>
+ </xsl:if>
+
+ <div class="roundbottom-left"> 
+ </div>
+ <xsl:comment>+
+ |alternative credits
+ +</xsl:comment>
+ </div>
+<xsl:comment>+
+ |end Menu
+ +</xsl:comment>
+ </xsl:template>
+
+ <xsl:template name="innermenuli">
+ <xsl:param name="id"/>
+ <xsl:variable name="tagid">
+ <xsl:choose>
+ <xsl:when test="descendant-or-self::node()/li/div/@class='current'"><xsl:value-of select="concat('menu_selected_',$id)"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="concat('menu_',concat(font,$id))"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="whichGroup">
+ <xsl:choose>
+ <xsl:when test="descendant-or-self::node()/li/div/@class='current'">currentmenuitemgroup</xsl:when>
+ <xsl:otherwise>menuitemgroup</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+
+ <div class="nav-section-title" id="{$tagid}Title" onclick="SwitchMenu('{$tagid}')"><xsl:value-of select="h1"/></div>
+ <div class="{$whichGroup}" id="{$tagid}">
+ <xsl:for-each select= "ul/li">
+
+ <xsl:choose>
+ <xsl:when test="a">
+ <div class="menuitem"><a href="{a/@href}"><xsl:value-of select="a" /></a></div>
+ </xsl:when>
+ <xsl:when test="div/@class='current'">
+ <div class="menupage">
+ <div class="menupagetitle"><xsl:value-of select="div" /></div>
+ <xsl:if test="$config/toc/@max-depth>0 and contains($minitoc-location,'menu')">
+ <div class="menupageitemgroup">
+ <xsl:for-each select = "//tocitems/tocitem">
+ <div class="menupageitem">
+ <xsl:choose>
+ <xsl:when test="string-length(@title)>15">
+ <a href="{@href}" title="{@title}"><xsl:value-of select="substring(@title,0,20)" />...</a>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{@href}"><xsl:value-of select="@title" /></a>
+ </xsl:otherwise>
+ </xsl:choose>
+ </div>
+ </xsl:for-each>
+ </div>
+ </xsl:if>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name = "innermenuli">
+ <xsl:with-param name="id" select="concat($id, '.', position())"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+
+ </xsl:for-each>
+ </div>
+ </xsl:template>
+
+<!--+
+ |Generates the PDF link
+ +-->
+ <xsl:template match="div[@id='skinconf-pdflink']">
+ <xsl:if test="not($config/disable-pdf-link) or $disable-pdf-link = 'false'">
+ <div id="content-pdf" title="Portable Document Format"><a href="{$filename-noext}.pdf" class="dida">
+ <img class="skin" src="{$skin-img-dir}/pdfdoc.gif" alt="PDF - icon"/><br/>
+ PDF</a>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+
+ <xsl:template match="div[@id='skinconf-xmllink']">
+ <xsl:if test="not($config/disable-xml-link) or $disable-xml-link = 'false'">
+ <div class="xmllink" title="raw XML"><a href="{$filename-noext}.xml" class="dida">
+ <img class="skin" src="{$skin-img-dir}/xmldoc.gif" alt="XML - icon" /><br/>
+ XML</a>
+ </div>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="div[@id='skinconf-podlink']">
+ <xsl:if test="not($config/disable-pod-link) or $disable-pod-link = 'false'">
+ <div class="podlink" title="Plain Old Documentation"><a href="{$filename-noext}.pod" class="dida">
+ <img class="skin" src="{$skin-img-dir}/poddoc.png" alt="POD - icon" /><br/>
+ POD</a>
+ </div>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="div[@id='skinconf-printlink']">
+ <xsl:if test="not($config/disable-print-link) or $disable-print-link = 'false'">
+ <script type="text/javascript" language="Javascript">
+function printit() {
+ if (window.print) {
+ window.focus();
+ window.print();
+ }
+}
+ </script>
+
+ <script type="text/javascript" language="Javascript">
+var NS = (navigator.appName == "Netscape");
+var VERSION = parseInt(navigator.appVersion);
+if (VERSION > 3) {
+ document.write('<div class="printlink" title="Print this Page">');
+ document.write(' <a href="javascript:printit()" class="dida">');
+ document.write(' <img class="skin" src="{$skin-img-dir}/printer.gif" alt="print - icon" />');
+ document.write(' <br />');
+ document.write(' PRINT</a>');
+ document.write('</div>');
+}
+ </script>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="div[@id='disable-font-script']">
+ <xsl:if test="$disable-font-script = 'false'">
+ <div class="trail">
+ Font size:
+  <input type="button" onclick="ndeSetTextSize('reset'); return false;" title="Reset text" class="resetfont" value="Reset"/>
+  <input type="button" onclick="ndeSetTextSize('decr'); return false;" title="Shrink text" class="smallerfont" value="-a"/>
+  <input type="button" onclick="ndeSetTextSize('incr'); return false;" title="Enlarge text" class="biggerfont" value="+a"/>
+ </div>
+ </xsl:if>
+ </xsl:template>
+
+<xsl:template match="div[@id='skinconf-toc-page']">
+ <xsl:if test="$config/toc">
+ <xsl:if test="contains($minitoc-location,'page')">
+ <xsl:if test="count(//tocitems/tocitem) >= $config/toc/@min-sections">
+ <div id="minitoc-area">
+ <xsl:call-template name="minitoc">
+ <xsl:with-param name="tocroot" select="//tocitems"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+ </xsl:if>
+ </xsl:if>
+ </xsl:template>
+</xsl:stylesheet>
Propchange: forrest/trunk/main/webapp/skins/leather-dev/xslt/xml/site-to-xml.xsl
------------------------------------------------------------------------------
svn:eol-style = native