source: subversion/applications/utils/map-feature-ref/mapfeatures-11-tab-sec-fo.xsl @ 34651

Last change on this file since 34651 was 15895, checked in by sward, 10 years ago

Some XSL stylesheets to generate references for Map Features.

File size: 2.7 KB
Line 
1<?xml version="1.0"?>
2<xsl:stylesheet version="1.0"
3  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4  xmlns:fo="http://www.w3.org/1999/XSL/Format">
5
6  <xsl:output method="xml" version="1.0" indent="yes"/>
7
8  <xsl:param name="title">Map Features</xsl:param>
9  <xsl:param name="page-width">210mm</xsl:param>
10  <xsl:param name="page-height">297mm</xsl:param>
11
12  <xsl:template match="mapfeatures">
13    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
14      <fo:layout-master-set>
15        <fo:simple-page-master master-name="main" margin="12mm"
16          page-width="{$page-width}" page-height="{$page-height}"
17          reference-orientation="90">
18          <fo:region-body column-count="4" column-gap="8mm"/>
19        </fo:simple-page-master>
20      </fo:layout-master-set>
21      <fo:page-sequence master-reference="main">
22        <fo:flow flow-name="xsl-region-body" font-size="8pt" line-height="10pt">
23          <fo:block font-size="12pt" font-weight="bold" line-height="15pt"
24            space-after="6pt" text-align="center">
25            <xsl:value-of select="$title"/>
26          </fo:block>
27          <xsl:apply-templates select="section"/>
28        </fo:flow>
29      </fo:page-sequence>
30    </fo:root>
31  </xsl:template>
32
33  <xsl:template match="section">
34    <fo:block font-size="10pt" font-weight="bold"
35      line-height="13pt" space-after="1pt">
36      <xsl:value-of select="substring-after(@name, 'Map_Features:')"/>
37    </fo:block>
38    <fo:table table-layout="fixed" width="62mm"
39      border-top-style="solid" border-bottom-style="solid"
40      space-after="6pt">
41      <fo:table-column column-width="22mm"/>
42      <fo:table-column column-width="40mm"/>
43      <fo:table-body>
44        <xsl:apply-templates select="feature"/>
45      </fo:table-body>
46    </fo:table>
47  </xsl:template>
48
49  <xsl:template match="feature">
50    <fo:table-row>
51      <fo:table-cell>
52        <fo:block font-weight="bold">
53          <xsl:value-of select="@key"/>
54        </fo:block>
55      </fo:table-cell>
56      <fo:table-cell>
57        <fo:block>
58          <xsl:call-template name="value">
59            <xsl:with-param name="name" select="value/@name"/>
60          </xsl:call-template>
61        </fo:block>
62      </fo:table-cell>
63    </fo:table-row>
64  </xsl:template>
65
66  <xsl:template name="value">
67    <xsl:param name="name"/>
68    <xsl:if test="($name = 'User defined')
69      or ($name = 'Other Values')
70      or ($name = 'Date')
71      or ($name = 'URI')
72      or ($name = 'Numeric value')
73      or starts-with($name, 'List:')
74      or starts-with($name, 'Range:')">
75      <xsl:attribute name="font-style">italic</xsl:attribute>
76    </xsl:if>
77    <xsl:choose>
78      <xsl:when test="starts-with($name, 'List:')">
79      </xsl:when>
80    </xsl:choose>
81    <xsl:value-of select="$name"/>
82  </xsl:template>
83
84</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.