Person-Objekt 4. Schritt: XSLT
"Roger Fischer" <[email protected]>
| Newsgroups | gmane.comp.cms.bitflux.general.german |
|---|---|
| Message-ID | <[email protected]> |
Person-Objekt, 4. Schritt
=========================
Abstract
Nachdem mit dem Structure XML die Daten nun im XML-Format hat, will man das
XML ja noch in HTML transformieren. Dafür benötigt man nun die XSLT-Files.
XSLT-Files
----------
Die XSLT-Files befinden sich im Ordner $PROJECT_DIR/xsl.
Mehr zum Aufbau der XSLT-Files findet man hier:
http://lists.bitflux.ch/pipermail/bitflux-cms-de/2002-October/000039.html
Vorgehen
--------
Da man ja die Hauptnavigation, linke Navigation Kolonne, rechte Syndication
Kolonne beibehalten will, muss man eigentlich nur die mittlere Kolonne
abändern, d.h. das "default.xsl". Zuerst sollte man eine Vorstellung haben,
wie dann die Kontakte aufeinanderfolgen bzw. wie das HTML aussehen sollen.
(Den HTML-Vorschlag könnte man ja auch kurz auf die Liste posten.)
Auf die "navigation_service_row" kann man sicher mal verzichten. Dann würde
ich einfach nacheinander alle Person's ausgeben, mit den im Mail* genannten
Elementen* (die hier auch gleich den Tabellenfeldern entsprechen), dann
sollte das nicht zu schwer umsetzbar sein.
*
http://lists.bitflux.ch/pipermail/bitflux-cms-de/2002-November/000142.html
Ausgabevorschlag
$firstname $surname
$project_jobtitle
Büro: $affiliation_address_email
Privat: $address_email
$remark
NOTE:
<xsl:if/> verwenden und testen, ob jedes Element vorhanden ist => sonst
gibt's unter Umständen viele <br/> oder <td/>, die leer sind.
default.xsl
-----------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="../xsl/master.xsl"/>
<xsl:output method="html" encoding="iso-8859-1" indent="no"
doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN"/>
<!--
<xsl:param name="DocumentID" select="'none'"/>
<xsl:param name="SectionID" select="'none'"/>
<xsl:param name="lang" select="'de'"/>
<xsl:param name="caching" select="'0'"/>
-->
<xsl:include href="../xsl/docbook/html/docbook.xsl" />
<xsl:include href="../xsl/docbook/common/common.xsl" />
<xsl:include href="../xsl/top_row_main_navigation.xsl" />
<xsl:include href="../xsl/left_column_navigation.xsl" />
<xsl:include href="../xsl/right_column_syndication.xsl" />
<xsl:include href="../xsl/footer.xsl" />
<xsl:template name="middle_column_main_content">
<td align="left" valign="top">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<xsl:choose>
<xsl:when test="$thisTreeSection/level = 3">
<tr>
<td><!--<img
src="/images/pic_{$thisTreeSection/fulluri}.jpg"/>--></td>
</tr>
</xsl:when>
<xsl:when test="$thisTreeSection/level = 2">
<tr>
<td></td>
</tr>
</xsl:when>
</xsl:choose>
<tr>
<td></td>
</tr>
</table>
<xsl:for-each
select="$thisDocument/Article[lang=$lang][string-length(main) > 0]">
<!-- Content -->
<table width="500" cellpadding="1" cellspacing="0" border="0">
<tr>
<td>
<!-- obere -->
<table border="0" cellspacing="0"
cellpadding="0">
<tr>
<td valign="top">
<xsl:call-template name="navigation_service_row"/>
</td>
</tr>
<tr>
<td valign="top">
<img src="/images/line_punkt_quer500.gif" width="500" height="1"
border="0"/>
</td>
</tr>
</table>
<!-- obere-->
</td>
</tr>
<tr>
<td valign="top" align="left" colspan="2">
<br/>
<xsl:call-template name="printCacheId"/>
<h1><xsl:apply-templates
select="title"/></h1>
<xsl:apply-templates select="main"/>
<br/>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr><td>
<img src="/images/line_punkt_quer500.gif"
width="500" height="1"
border="0"/></td>
</tr>
<tr><td>
<xsl:call-template name="navigation_service_row"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:for-each>
</td>
</xsl:template>
<xsl:template name="navigation_service_row">
<table width="100%" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td>
<img src="/images/links.gif" width="20" height="20" border="0"/>
<img src="/images/toc.gif" width="20" height="20" border="0"/>
<img src="/images/rechts.gif" width="20" height="20" border="0"/>
<img src="/images/rand.gif" width="20" height="20" border="0"/>
</td>
<td align="right">
<img src="/images/rand.gif" width="20" height="20" border="0"/>
<img src="/images/font_big.gif" width="20" height="20" border="0"/>
<img src="/images/font_small.gif" width="20" height="20" border="0"/>
<img src="/images/rand.gif" width="20" height="20" border="0"/>
<img src="/images/printer.gif" width="20" height="20" border="0"/>
</td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>