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) &gt; 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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.