Professional Documents
Culture Documents
Customization..
Second Annual Workshop, Rome, 24-28 April 2006
Summary
This session will cover the following topics:
Vocabulary
HyperText Mark-Up Language (HTML)
[the authoring language used to create documents on the World Wide Web]
Cascading Style Sheets (CSS)
[feature added to HTML that gives Web site developers more control over how pages are
displayed]
Javascript (JS)
[scripting language enabling Web authors to design interactive sites]
Extensible Markup Language (XML)
[specification allowing designers to create their own customized tags. It enables the definition,
transmission, validation, and interpretation of data between applications and between
organizations]
Extensible Style Language (XSL)
[a specification for separating style from content when creating HTML or XML pages. The
specifications work much like templates, allowing designers to apply single style documents to
multiple pages]
Second Annual Workshop, Rome, 24-28 April 2006
http://localhost:8080/geonetwork/srv/en/main.home
Second Annual Workshop, Rome, 24-28 April 2006
header
banner
content
fields
interactive
categories
latestUpdates
featured
Second Annual Workshop, Rome, 24-28 April 2006
main-page.xsl main.xsl
<xsl:include href="main.xsl"/> header.xsl <xsl:include href="header.xsl"/>
<xsl:template name="header"/> <xsl:include href="banner.xsl"/>
<!-- search fields -->
<xsl:template match="/">
controls for setting search <!-- title -->
criteria; list changes <!-- stylesheet --> <html>
according to <!-- meta tags --> <head>
simple/advanced and <!-- javascript --> header
local/remote search
</head>
<!-- featured --> <body>
random map
banner.xsl banner
<xsl:template name="banner"/>
<!-- latestUpdates -->
list of latest updates in the <!-- title --> [logo] content
archive <!-- buttons --> [links]
<!-- login --> </body>
<!-- categories --> </html>
search the catalogue
according to category
types
Second Annual Workshop, Rome, 24-28 April 2006
MAIN.XSL
<xsl:template match="/">
<html>
<head>
<xsl:call-template name="header"/> template in header.xsl
<xsl:apply-templates mode="script" select="/"/>
</head> javascript code
<body onload="javascript:init();">
<table width="100%" height="100%">
<!-- banner -->
<tr><td>
<xsl:call-template name="banner"/>
</td></tr> template in banner.xsl
<xsl:template match="/">
<html>
<head>
<xsl:call-template name="header"/> template in header.xsl
<xsl:apply-templates mode="script" select="/"/>
</head> javascript code
<body onload="javascript:init();">
<table width="100%" height="100%" bgcolor="#FFE400">
<!-- banner -->
<tr><td>
<xsl:call-template name="banner"/>
</td></tr> template in banner.xsl
BANNER.XSL
<xsl:template name="banner">
<table width="100%">
<!-- title -->
<tr class="banner">
<td class="banner">
<img src="{/root/gui/url}/images/header-left.gif" />
</td>
<td align="right" class="banner">
<img src="{/root/gui/url}/images/header-right.gif" />
</td>
</tr>
</table>
</xsl:template>
Second Annual Workshop, Rome, 24-28 April 2006
BANNER.XSL
<xsl:template name="banner">
<table width="100%">
<!-- title -->
<tr class="banner">
<td class="banner">
<img src="{/root/gui/url}/images/header-left.gif" />
</td>
<td align="right" class="banner">
<img src="{/root/gui/url}/images/header-right.gif" />
</td>
</tr>
<xsl:template match="/">
<html>
<head>
<xsl:call-template name="header"/> template in header.xsl
<xsl:apply-templates mode="script" select="/"/>
</head> javascript code
<body onload="javascript:init();">
<table width="100%" height="100%" bgcolor="#FFE400">
<!-- banner -->
<tr><td>
<xsl:call-template name="banner"/>
</td></tr> template in banner.xsl
MAIN-PAGE.XSL
<xsl:template name="content">
</xsl:template>
Second Annual Workshop, Rome, 24-28 April 2006
MAIN-PAGE.XSL
<xsl:template name="content">
</xsl:template>
Second Annual Workshop, Rome, 24-28 April 2006
<h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>
Find Interactive Maps, GIS datasets, Satellite Imagery and Related Applications
Second Annual Workshop, Rome, 24-28 April 2006
MAIN-PAGE.XSL
<xsl:template name="content">
</xsl:template>
Second Annual Workshop, Rome, 24-28 April 2006
<td class="padded-content"
Second Annual Workshop, Rome, 24-28 April 2006
Exercises
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
Exercises
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
1. create your own logo (size of 40x40 px) or use an existing one
2. put it in the \web\images\logos folder
3. open the file \web\xml\sources.xml in a text editor
4. change the file name of your nodes logo to match your logo's name
<sources>
<source>
<code>node-identifier</code> ` <!-- your node's identifier -->
<logo>/images/logos/my-globe.gif</logo> <!-- your logo's filename -->
</source>
<source>
<code>fao</code>
<logo>/images/logos/fao.gif</logo>
</source>
Second Annual Workshop, Rome, 24-28 April 2006
Exercises
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
my-banner-left.gif
my-banner-back.gif
my-banner-right.gif
Second Annual Workshop, Rome, 24-28 April 2006
<tr class="banner">
<td class="banner">
<img src="{/root/gui/url}/images/banner/header-left.gif" alt="GeoNetwork opensource"
align="top" />
</td>
<td align="right" class="banner">
<img src="{/root/gui/url}/images/banner/header-right.gif" alt="World picture" align="top" />
</td>
</tr>
Second Annual Workshop, Rome, 24-28 April 2006
<tr class="banner">
<td class="banner">
<img src="{/root/gui/url}/images/banner/my-banner-left.gif" alt="My GeoNetwork Node"
align="top" />
</td>
<td align="right" class="banner">
<img src="{/root/gui/url}/images/banner/my-banner-right.gif" alt="My GeoNetwork Node"
align="top" />
</td>
</tr>
Second Annual Workshop, Rome, 24-28 April 2006
td.banner {
font-size: 8pt;
color: #ffffff;
/* background-image: url('images/blue-stripes.jpg'); old */
background-image: url('images/my-images/my-banner-back.gif');
border-bottom: 1px solid #ffffff;
}
Second Annual Workshop, Rome, 24-28 April 2006
Exercises
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
td.banner-menu { td.banner-login {
.. ..
background: #064377; background: #266397;
.. ..
} }
td.banner-menu { td.banner-login {
.. ..
background: #006969; background: #014F4F;
.. ..
} }
Second Annual Workshop, Rome, 24-28 April 2006
a.banner:hover a.banner
{ {
background: #266397; color: #ffffff; /*font color*/
} }
a.banner:hover a.banner
{ {
background: #68933a; /*(hex code)*/ color: yellow;
} }
Second Annual Workshop, Rome, 24-28 April 2006
Exercises
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
<xsl:template name="content">
<table width="100%" height="100%">
...
<!-- search -->
<td><h1><xsl:value-of select="/root/gui/strings/mainpageTitle"/></h1>
...
Second Annual Workshop, Rome, 24-28 April 2006
main-page.xsl
Second Annual Workshop, Rome, 24-28 April 2006
2. Open main-page.xsl
and find the
commented section
"Info" in the content
template (see red
box on the right).
Same
technique
to update
existing
text.
Second Annual Workshop, Rome, 24-28 April 2006
Exercises
c:\geonetwork\workshop2006\customization\exercises\
Second Annual Workshop, Rome, 24-28 April 2006
default layout
banner.xsl banner
content
main-page.xsl
Second Annual Workshop, Rome, 24-28 April 2006
default layout
</xsl:template>
Second Annual Workshop, Rome, 24-28 April 2006
<tr><td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
search
<!-- Featured data -->
</td>
<td>
<!-- Interactive maps -->
categories
</td></tr>
</table>
</td></tr>
featured interactive </table>
maps </td>
</tr>
</table>
Second Annual Workshop, Rome, 24-28 April 2006
13:45 part 1
15:30 Coffee Break
15:45 part 2