Project

General

Profile

1
<?xml version="1.0"?>
2
<!--
3
  *  '$RCSfile: eml-text-2.0.0.xsl,v $'
4
  *      Authors: Matthew Brooke
5
  *    Copyright: 2000 Regents of the University of California and the
6
  *               National Center for Ecological Analysis and Synthesis
7
  *  For Details: http://www.nceas.ucsb.edu/
8
  *
9
  *   '$Author: cjones $'
10
  *     '$Date: 2004/10/05 23:50:34 $'
11
  * '$Revision: 1.1 $'
12
  *
13
  * This program is free software; you can redistribute it and/or modify
14
  * it under the terms of the GNU General Public License as published by
15
  * the Free Software Foundation; either version 2 of the License, or
16
  * (at your option) any later version.
17
  *
18
  * This program is distributed in the hope that it will be useful,
19
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
  * GNU General Public License for more details.
22
  *
23
  * You should have received a copy of the GNU General Public License
24
  * along with this program; if not, write to the Free Software
25
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26
  *
27
  * This is an XSLT (http://www.w3.org/TR/xslt) stylesheet designed to
28
  * convert an XML file that is valid with respect to the eml-variable.dtd
29
  * module of the Ecological Metadata Language (EML) into an HTML format
30
  * suitable for rendering with modern web browsers.
31
-->
32
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
33

    
34
  <xsl:output method="html" encoding="iso-8859-1"
35
    doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
36
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
37
    indent="yes" />  
38

    
39
<!-- This module is for text module in eml2 document. It is a table and self contained-->
40

    
41
  <xsl:template name="text">
42
        <xsl:param name="textfirstColStyle" />
43
        <xsl:param name="textsecondColStyle" />
44
        <xsl:if test="(section and normalize-space(section)!='') or (para and normalize-space(para)!='')">
45
          <xsl:apply-templates mode="text">
46
            <xsl:with-param name="textfirstColStyle" select="$textfirstColStyle"/>
47
            <xsl:with-param name="textsecondColStyle" select="$textsecondColStyle" />
48
          </xsl:apply-templates>
49
      </xsl:if>
50
  </xsl:template>
51

    
52

    
53
  <!-- *********************************************************************** -->
54
  <!-- Template for section-->
55
   <xsl:template match="section" mode="text">
56
      <xsl:if test="normalize-space(.)!=''">
57
        <xsl:if test="title and normalize-space(title)!=''">
58
          <!-- <h4 class="bold"><xsl:value-of select="title"/></h4> -->
59
	  <h5><xsl:value-of select="title"/></h5>
60
        </xsl:if>
61
        <xsl:if test="para and normalize-space(para)!=''">
62
              <xsl:apply-templates select="para" mode="lowlevel"/>
63
         </xsl:if>
64
         <xsl:if test="section and normalize-space(section)!=''">
65
              <xsl:apply-templates select="section" mode="lowlevel"/>
66
        </xsl:if>
67
      </xsl:if>
68
  </xsl:template>
69

    
70
  <!-- Section template for low level. Cteate a nested table and second column -->
71
  <xsl:template match="section" mode="lowlevel">
72
     <div>
73
      <xsl:if test="title and normalize-space(title)!=''">
74
        <!-- <h4 class="bold"><xsl:value-of select="title"/></h4>  -->
75
        <h5><xsl:value-of select="title"/></h5>
76
      </xsl:if>
77
      <xsl:if test="para and normalize-space(para)!=''">
78
        <xsl:apply-templates select="para" mode="lowlevel"/>
79
      </xsl:if>
80
      <xsl:if test="section and normalize-space(section)!=''">
81
        <xsl:apply-templates select="section" mode="lowlevel"/>
82
      </xsl:if>
83
     </div>
84
  </xsl:template>
85

    
86
  <!-- para template for text mode-->
87
   <xsl:template match="para" mode="text">
88
    <xsl:param name="textfirstColStyle"/>
89
         <xsl:apply-templates mode="lowlevel"/>
90
  </xsl:template>
91

    
92
  <!-- para template without table structure. It does actually transfer.
93
       Currently, only get the text and it need more revision-->
94
  <xsl:template match="para" mode="lowlevel">
95
      <p><xsl:value-of select="."/></p>
96
  </xsl:template>
97

    
98
</xsl:stylesheet>
(53-53/58)