swing/xdocs site.jsl,NONE,1.1 navigation.xml,1.1,1.2

Kurt Riede <[email protected]> Thu, 04 Nov 2004 13:30:08 +0000
Newsgroups gmane.text.xml.xframe.xsddoc.devel
Message-ID <[email protected]>
Update of /cvsroot/xframe/swing/xdocs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28329/xdocs

Modified Files:
	navigation.xml 
Added Files:
	site.jsl 
Log Message:
google ads added

--- NEW FILE: site.jsl ---
<?xml version="1.0"?>

<!--
 * ========================================================================
 * 
 * Copyright 2004 The Apache Software Foundation.
 *
 * 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.
 * 
 * ========================================================================
-->
<!-- stylesheet to be used -->
<jsl:stylesheet select="$doc"
  xmlns:define="jelly:define"
  xmlns:j="jelly:core"
  xmlns:jsl="jelly:jsl"
  xmlns:log="jelly:log"
  xmlns:util="jelly:util"
  xmlns:x="jelly:xml"
  xmlns:doc="doc"
  xmlns:maven="jelly:maven"
  xmlns="dummy"
  trim="true">
  <jsl:template match="document" trim="true">
    <j:useBean var="navbean" class="org.apache.maven.NavBean"/>
    <j:set var="location" value="${outFile.substring(destdir.length())}"/>
    <util:replace var="location" oldChar="\" newChar="/" value="${location}"/>
    <!-- Stores location for publish date / version -->
    <j:set var="date">${maven.xdoc.date}</j:set>
    <j:setProperties object="${navbean}" document="${doc}" location="${location}"/>

    <x:doctype name="html" publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" systemId="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    <html>
      <head>
        <j:set var="docTitle"><x:expr select="./properties/title"/></j:set>
        <x:if select="$nav/title">
          <title><x:expr select="$nav/title"/> - ${docTitle}</title>
        </x:if>
        <x:if select="not($nav/title)">
          <title>${pom.name} - ${docTitle}</title>
        </x:if>
        
        <j:set var="themeUrl" value="${maven.xdoc.theme.url}"/>
        <util:file var="projectCssFile" name="${maven.docs.src}/style/project.css"/>
        
        <style type="text/css" media="all"><![CDATA[
          @import url("${relativePath}/style/maven-base.css");
          ]]>
          <j:if test="${!empty(themeUrl)}"><![CDATA[
            @import url("${maven.xdoc.theme.url}");
          ]]></j:if>
          <j:if test="${empty(themeUrl)}"><![CDATA[
            @import url("${relativePath}/style/maven-${maven.xdoc.theme}.css");
          ]]></j:if>
          <j:if test="${projectCssFile.exists()}"><![CDATA[
            @import url("${relativePath}/style/project.css");
          ]]></j:if>
        </style>
        
        <link rel="stylesheet" type="text/css" href="${relativePath}/style/print.css" media="print"/>
        <meta http-equiv="Content-Type" content="text/html; charset=${outputencoding}"/>
        <x:forEach var="author" select="./properties/author">
          <meta name="author" content="${author.text}"/>
          <meta name="email" content="${author.attribute('email').value}"/>
        </x:forEach>
        
        <jsl:applyTemplates select="$doc/document/head/*"/>
        
      </head>

      <x:element name="body"><j:whitespace trim="true">
        <x:attribute name="class">composite</x:attribute>
        <x:forEach var="attr" select="$doc/document/body/@*">
          <x:attribute name="${attr.name}">${attr.value}</x:attribute>
        </x:forEach>
        </j:whitespace>

        <div id="banner">
          <!-- organization logo -->
          <j:set var="logo" value="${pom.organization.logo}"/>
          <j:if test="${!empty(logo)}">
            <!-- set url to org or project url -->
            <j:set var="url" value="${pom.organization.url}"/>
            <j:if test="${!empty(url)}">
              <j:set var="home" value="${pom.organization.url}"/>
            </j:if>
            <j:if test="${empty(url)}">
              <j:set var="home" value="${pom.url}"/>
            </j:if>
            <!-- set image to relative or complete -->
            <j:set var="image" value="${pom.organization.logo}"/>
            <j:if test="${!image.startsWith('http://') and !image.startsWith('https://')}">
              <j:set var="image" value="${relativePath}${image}"/>
            </j:if>
            <a href="${home}" id="organizationLogo">
              <img src="${image}" alt="${pom.organization.name}" />
            </a>
          </j:if>

          <!-- project logo and link -->
          <j:set var="logo" value="${pom.logo}"/>
          <j:if test="${logo != null and logo != ''}">
            <!-- set image to relative or complete -->
            <j:set var="image" value="${pom.logo}"/>
            <j:if test="${!image.startsWith('http://') and !image.startsWith('https://')}">
              <j:set var="image" value="${relativePath}${image}"/>
            </j:if>

            <a href="${pom.url}" id="projectLogo">
              <img src="${image}" alt="${pom.name}"/>
            </a>
          </j:if>
          <j:if test="${logo == null or logo == ''}">
            <a href="${pom.url}" id="projectLogo">
              <span>${pom.name}</span>
            </a>
          </j:if>
          <div class="clear"><hr /></div>
        </div>

        <div id="breadcrumbs">
          <maven:property var="version" name="maven.xdoc.version" defaultValue="${pom.currentVersion}"/>
          <j:if test="${date == 'left'}">
            <div class="xleft">
              Last published: ${build.date}
              <j:if test="${!empty(version)}">
                <j:if test="${!(maven.xdoc.crumb.separator == '')}">
                  <span class="separator">${maven.xdoc.crumb.separator}</span>
                </j:if>
                Doc for ${version}
              </j:if>
            </div>
          </j:if>
          <div class="xright">
            <j:if test="${date == 'right'}">
              Last published: ${build.date}
              <j:if test="${!empty(version)}">
                <j:if test="${!(maven.xdoc.crumb.separator == '')}">
                  <span class="separator">${maven.xdoc.crumb.separator}</span>
                </j:if>
                Doc for ${version}
              </j:if>
              <x:if select="$nav/body/links">
                <j:if test="${!(maven.xdoc.crumb.separator == '')}">
                  <span class="separator">${maven.xdoc.crumb.separator}</span>
                </j:if>
              </x:if>
            </j:if>
            <!-- render links -->
            <x:if select="$nav/body/links">
              <jsl:applyTemplates select="$nav/body/links"/>
            </x:if>
          </div>
          <div class="clear"><hr /></div>
        </div>
        
        <!-- left column start -->
        <div id="leftColumn">
          <div id="navcolumn">
            <j:if test="${date == 'navigation-top'}">
              <div id="lastPublished">Last published: ${build.date}</div>
            </j:if>
            <x:if select="$nav">
              <jsl:applyTemplates select="$nav/body/menu[not(@type) | @type='header']"/>
            </x:if>
            <jsl:applyTemplates select="$projectNav/body/menu"/>
            <!-- allows user to put menu items after standard reports -->
            <x:if select="$nav">
              <jsl:applyTemplates select="$nav/body/menu[@type='footer']"/>
            </x:if>
            <j:if test="${context.getVariable('maven.xdoc.legend') == 'true'}">
              <div id="legend">
                <h5>Legend</h5>
                <ul>
                  <li class="externalLink">External Link</li>
                  <li class="newWindow">Opens in a new window</li>
                </ul>
              </div>
            </j:if>
            <!-- Standard Maven Navigation -->
            <j:set var="fileName">${file}</j:set>
            <j:set var="poweredbyimage">${maven.xdoc.poweredby.image}</j:set>
            <j:set var="poweredbytitle">${maven.xdoc.poweredby.title}</j:set>
            <j:set var="poweredbyurl" value="${maven.xdoc.poweredby.url}" />
            <j:if test="${!empty(poweredbyimage)}">
              <a id="poweredBy" href="${poweredbyurl}" title="${poweredbytitle}">
                <img alt="${maven.xdoc.poweredby.title}" src="${relativePath}/images/logos/${poweredbyimage}" />
              </a>
            </j:if>
            <x:if select="$nav">
              <jsl:applyTemplates select="$nav/body/search"/>
              <jsl:applyTemplates select="$nav/body/googleAdsenseLeft"/>
            </x:if>
            <j:if test="${date == 'navigation-bottom'}">
              <div id="lastPublished">Last published: ${build.date}</div>
            </j:if>
          </div>
        </div>
        <!-- left column end -->
              
        <!-- body start -->
        <div id="bodyColumn">
          <div class="contentBox">
            <jsl:applyTemplates select="$nav/body/googleAdsenseTop"/>
            <!-- FIXME really shouldn't use $doc, but jelly loses it's context again -->
            <jsl:applyTemplates select="$doc/document/body/section"/>
            <jsl:applyTemplates select="$doc/document/body/release" />
            <jsl:applyTemplates select="$doc/document/body/goals" />
          </div>
        </div>
        <div class="clear"><hr /></div>
        <!-- body end -->
              
        <!-- footer start -->    
        <div id="footer">  
          <jsl:applyTemplates select="$nav/body/footer"/>
          <div class="xright">
            <j:if test="${!empty(pom.organization.name)}">
              <j:if test="${!empty(pom.inceptionYear)}">
                <j:if test="${pom.inceptionYear == mavenCurrentYear}">
                  &#169; ${mavenCurrentYear}, ${pom.organization.name}
                </j:if>
                <j:if test="${pom.inceptionYear != mavenCurrentYear}">
                  &#169; ${pom.inceptionYear}-${mavenCurrentYear}, ${pom.organization.name}
                </j:if>
              </j:if>
              <j:if test="${empty(pom.inceptionYear)}">
                &#169; ${mavenCurrentYear}, ${pom.organization.name}
              </j:if>
            </j:if>
            <j:if test="${date == 'bottom'}">
              &#169; - Last published: ${build.date}
            </j:if>
          </div>
          <div class="clear"><hr /></div>
        </div>
        <!-- footer end --> 
      </x:element>
    </html>
  </jsl:template>

  <!-- process the properties of the doc -->
  <jsl:template match="properties" trim="true">
    <!-- stick head block here later -->
  </jsl:template>

  <!-- Process a menu for the navigation bar -->
  <jsl:template match="menu" trim="true">
    <j:set var="_menuName"><x:expr select="@name"/></j:set>
    <j:set var="_menuName"><doc:escapeNameToken value="${_menuName}"/></j:set>
    <j:choose>
      <j:when test="${!empty(_menuName)}">
        <div id="menu${_menuName}">
          <h5><x:expr select="@name"/></h5>
          <ul><jsl:applyTemplates select="item"/></ul>
        </div>
      </j:when>
      <j:otherwise>
        <div>
          <ul><jsl:applyTemplates select="item"/></ul>
        </div>
      </j:otherwise>
    </j:choose>
  </jsl:template>

  <jsl:template match="item" trim="true">
    <x:set var="item" select="."/>
    <x:set var="_name" select="string(@name)"/>
    <x:set var="_link" select="string(@href)"/>
    <x:set var="_img" select="string(@img)"/>
    <x:set var="_target" select="string(@target)"/>
    <x:set var="_childCount" select="count(./item)"/>
    <j:set var="_isCollapsed" value="${navbean.isCollapsed(item.get(0))}"/>
    <j:set var="_state" value="none"/>
    <j:if test="${_childCount.intValue() gt 0}">
      <j:if test="${!_isCollapsed}"><j:set var="_state" value="expanded"/></j:if>
      <j:if test="${_isCollapsed}"><j:set var="_state" value="collapsed"/></j:if>
    </j:if>
    <li class="${_state}">
      <j:if test="${navbean.isSelected(item.get(0))}">
        <strong><doc:itemLink name="${_name}" link="${_link}" img="${_img}" state="${_state}" target="${_target}"/></strong>
      </j:if>
      <j:if test="${!navbean.isSelected(item.get(0))}">
        <doc:itemLink name="${_name}" link="${_link}" img="${_img}" state="${_state}" target="${_target}"/>
      </j:if>
      <j:if test="${_state == 'expanded'}">
        <ul>
          <jsl:applyTemplates select="item"/>
        </ul>
      </j:if>
    </li>
  </jsl:template>

  <!-- Process the breadcrumb navbar -->
  <jsl:template match="links" trim="true">
    <j:set var="linkCount" value="1"/>
    <x:forEach var="link" select="item">
      <j:set var="_img"><x:expr select="@img"/></j:set>
      <j:set var="_name"><x:expr select="@name"/></j:set>
      <j:set var="_link"><x:expr select="@href"/></j:set>
      <j:set var="_target"><x:expr select="@target"/></j:set>
      <j:whitespace trim="false">
        <j:if test="${linkCount != 1}">
          <j:if test="${!(maven.xdoc.crumb.separator == '')}">
            <span class="separator">${maven.xdoc.crumb.separator}</span>
          </j:if>
        </j:if>
        <doc:itemLink name="${_name}" link="${_link}" img="${_img}" target="${_target}"/>
      </j:whitespace>
      <j:set var="linkCount" value="${1+linkCount}"/>
    </x:forEach>
  </jsl:template>

  <!-- Google site search -->
  <jsl:template match="search" trim="true">
    <div id="search">
      <h5>Search xframe</h5>
      <form method="get" action="http://www.google.de/custom" target="_top">
        <a class="navlink" href="http://www.google.de">
          <img src="http://www.google.com/logos/Logo_25wht.gif" width="75" height="32" alt="Google" />
        </a>
        <input type="text"   name="q" id="q" size="15" maxlength="255" value=""/>
        <input type="submit" name="sa" id="btnG" value="Go"/>
        <input type="hidden" name="client" id="client" value="${google.ad.client}"/>
        <input type="hidden" name="domains" value="xframe.sourceforge.net"/>
        <input type="hidden" name="sitesearch" id="sitesearch" value="xframe.sourceforge.net"/>
        <input type="hidden" name="forid" value="1"/>
        <input type="hidden" name="ie" value="ISO-8859-1"/>
        <input type="hidden" name="oe" value="ISO-8859-1"/>
        <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"/>
        <input type="hidden" name="hl" value="en"/>
      </form>
    </div>
  </jsl:template>

  <!-- Google adsense left -->
  <jsl:template match="googleAdsenseLeft" trim="true">
    <div id="googleAdsenseLeft">
<script type="text/javascript">
<x:comment trim="false">
google_ad_client = "${google.ad.client}";
google_ad_width = 160;
google_ad_height = 600;
google_ad_format = "160x600_as";
google_ad_channel ="";
google_color_border = "294563";
google_color_bg = "CFDCED";
google_color_link = "ffcc00";
google_color_url = "000099";
google_color_text = "294563";
//</x:comment></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
    </div>
  </jsl:template>

  <!-- Google adsense top -->
  <jsl:template match="googleAdsenseTop" trim="true">
    <div id="googleAdsenseTop">
<script type="text/javascript">
<x:comment trim="false">
google_ad_client = "${google.ad.client}";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_channel ="";
google_ad_type = "text";
google_color_border = "294563";
google_color_bg = "CFDCED";
google_color_link = "ffcc00";
google_color_url = "000099";
google_color_text = "294563";
//</x:comment>
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
    </div>
  </jsl:template>

  <!-- process a documentation section -->
  <jsl:template match="section" trim="true">
    <div class="section">
      <j:set var="_sectionName"><x:expr select="@name"/></j:set>
      <!-- named anchors can't contain whitespaces -->
      <j:set var="_anchorName"><doc:escapeNameToken value="${_sectionName}"/></j:set>
      <j:if test="${!empty(_sectionName)}">
          <a name="${_anchorName}"/><h2>${_sectionName}</h2>
      </j:if>
      <jsl:applyTemplates select="*"/>
    </div>
  </jsl:template>

  <jsl:template match="subsection" trim="true">
    <div class="subsection">
      <j:set var="_sectionName"><x:expr select="@name"/></j:set>
      <!-- named anchors can't contain whitespaces -->
      <j:set var="_anchorName"><doc:escapeNameToken value="${_sectionName}"/></j:set>
      <j:if test="${!empty(_sectionName)}">
          <a name="${_anchorName}"/><h3>${_sectionName}</h3>
      </j:if>
      <jsl:applyTemplates select="*"/>
    </div>
  </jsl:template>

  <jsl:template match="source" trim="false">
    <div class="source"><pre><jsl:applyTemplates /></pre></div>
  </jsl:template>
  
  <!-- preserve whitespace in the following elements -->
  <jsl:template match="pre | script | style" trim="true">
    <x:set var="nodename" select="name()"/>
    <x:element name="${nodename}">
      <x:forEach var="attr" select="@*">
        <x:attribute name="${attr.name}">${attr.value}</x:attribute>
      </x:forEach>
      <j:whitespace trim="false"><jsl:applyTemplates /></j:whitespace>
    </x:element>
  </jsl:template>
  
  <!-- xhtml fixup: add missing alt attribute for images -->
  <jsl:template match="img" trim="true">
    <x:element name="img">
      <x:forEach var="attr" select="@*">
        <x:attribute name="${attr.name}">${attr.value}</x:attribute>
      </x:forEach>
      <x:set var="noalt" select="count(./@alt) = 0" />
      <j:if test="${noalt}" >
        <x:attribute name="alt"></x:attribute>
      </j:if>
    </x:element>
  </jsl:template>

  <jsl:template match="footer" trim="true">
    <div class="xleft">
      <jsl:applyTemplates select="*"/>
    </div>
  </jsl:template>

  <jsl:template match="table" trim="true">
    <j:set var="rowcount" value="0"/>
    <table class="bodyTable">
      <jsl:applyTemplates select="*"/>
    </table>
  </jsl:template>

  <jsl:template match="tr" trim="true">
    <j:choose>
      <j:when test="${rowMode == 'a'}">
        <j:set var="rowMode" value="b"/>
      </j:when>
      <j:otherwise>
        <j:set var="rowMode" value="a"/>
      </j:otherwise>
    </j:choose>
    <x:element name="tr"><j:whitespace trim="true">
      <x:attribute name="class">${rowMode}</x:attribute>
      <x:forEach var="attr" select="@*">
        <x:attribute name="${attr.name}">${attr.value}</x:attribute>
      </x:forEach>
      <jsl:applyTemplates select="*"/>
</j:whitespace></x:element>
  </jsl:template>

      <!--************************-->
      <!-- goals documentation    -->
      <!--************************-->
      <jsl:template match="goals" trim="true">
        <!-- reset row alternation -->
        <j:set var="rowMode" value="" />
        <div class="h3">
          <a name="Goals"/><h3>Goals</h3>
          <table class="bodyTable">
            <thead>
              <tr><th>Goal</th><th>Description</th></tr>
            </thead>
            <tbody>
              <jsl:applyTemplates select="goal"/>
            </tbody>
          </table>
        </div>
      </jsl:template>
      
      <!-- a goal -->
      <jsl:template match="goal" trim="true">
        <j:choose>
          <j:when test="${rowMode == 'a'}">
            <j:set var="rowMode" value="b"/>
          </j:when>
          <j:otherwise>
            <j:set var="rowMode" value="a"/>
          </j:otherwise>
        </j:choose>
        
        <x:element name="tr"><j:whitespace trim="true">
          <x:attribute name="class">${rowMode}</x:attribute>
          <j:set var="_goalName"><x:expr select="./name" /></j:set>
          <td style="width:20%"><a name="${_goalName}"/>${_goalName}</td>
          <td ><jsl:applyTemplates select="description" /></td>
</j:whitespace></x:element>
      </jsl:template>   
      
      <jsl:template match="description">
        <jsl:applyTemplates trim="false"/>
      </jsl:template>

  <!-- remove the space at the end of parsed "a" anchors and fix local hrefs -->
  <jsl:template match="a" trim="true">
    <x:element name="a" trim="true">
      <x:forEach var="attr" select="@*">
        <j:choose>
          <j:when test="${attr.name == 'href'}">
            <j:set var="href" value="${attr.value}" />
            <j:choose>                 
              <j:when test="${href.startsWith('#')}">
                <x:attribute name="href">
                  <doc:escapeNameToken value="${href}"/>
                </x:attribute>
              </j:when>
              <j:when test="${href.startsWith('http://')}">
                <x:attribute name="href">${href}</x:attribute>
                <x:attribute name="class">externalLink</x:attribute>
                <x:attribute name="title">External Link</x:attribute>
              </j:when>                  
              <j:otherwise>
                <x:attribute name="href">${href}</x:attribute>
              </j:otherwise>
            </j:choose>
          </j:when>
          <j:when test="${attr.name == 'target'}">
            <j:set var="target">${attr.value}</j:set>
            <j:if test="${!empty(target) and target.equals('_blank')}">
              <x:attribute name="class">newWindow</x:attribute>
              <x:attribute name="title">New Window</x:attribute>
            </j:if>              
            <x:attribute name="target">${target}</x:attribute>
          </j:when>
          <j:when test="${attr.name == 'name'}">
            <x:attribute name="name">
              <doc:escapeNameToken value="${attr.value}"/>
            </x:attribute>
          </j:when>
          <j:otherwise>
            <x:attribute name="${attr.name}">${attr.value}</x:attribute>
          </j:otherwise>
        </j:choose>
      </x:forEach>
      <jsl:applyTemplates/>
    </x:element>
  </jsl:template>
   
  <!-- copy any other elements through -->
  <jsl:template match="*" trim="false"><jsl:copy trim="false"><jsl:applyTemplates trim="false"/></jsl:copy></jsl:template>
   
  <!-- element values don't pass through as text -->
  <jsl:template match="@*"/>

  <!-- CDATA and text nodes pass-thru -->
  <jsl:template match="text()"><x:expr select="."/></jsl:template>

</jsl:stylesheet>

Index: navigation.xml
===================================================================
RCS file: /cvsroot/xframe/swing/xdocs/navigation.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** navigation.xml	21 Oct 2004 08:31:46 -0000	1.1
--- navigation.xml	4 Nov 2004 13:30:06 -0000	1.2
***************
*** 30,33 ****
--- 30,36 ----
        <item name="JXTable" href="jxtable.html"/>
      </menu>
+     <search/>
+     <googleAdsenseLeft/>
+     <googleAdsenseTop/>
    </body>
  </project>



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click