Article View: pl.comp.xml
Article #9991Re: [XSLT] Dynamiczne szablony
From: NotBear
Date: Tue, 16 Sep 2008 19:09
Date: Tue, 16 Sep 2008 19:09
78 lines
3467 bytes
3467 bytes
Mariusz S. wrote:
> Tworzenie oddzielnych plików xsl dla każdej akcji w module moim zdaniem
> mija się z sensem.
IMO to wygodne. Latwo dodac kolejna akcje. Kazdy taki plik zawiera tylko
niezbedne dla akcji elementy.
Skoro mozesz tak:
> xslt::transformacja('szablony/'.$dane['modul'].'.xsl', $xml);
To pewnie mozesz i tak (pamietajac o koniecznosci sprawdzenia tego, co w
$_GET przylezie):
xslt::transformacja('szablony/kontakty'.$_GET['akcja'].'.xsl', $xml);
I teraz kwestia napisania XSLi. Moja koncepcja jest w zasadzie zbiezna z
tym, co proponowal Andrew Cohen, przy czym:
- szablony nazwane nie sa potrzebne w takich przypadkach (IMO)
- sprobowalem pokazac bardza fajna ceche importu - czyli nadpisywanie
szablonow.
========================================
modul.xsl (tu sa generowane elementy wspolne dla wszystkich widokow)
========================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
...
</head>
<body>
<xsl:apply-templates select="zakladka"/>
</body>
</html>
</xsl:template>
<xsl:template match="zakladka">
<!-- Szablon "abstrakcyjny", mogloby go wogole nie byc
- i tak zostanie nadpisany :-) -->
</xsl:template>
</xsl:stylesheet>
========================================
kontakty_lista.xsl (tu tylko to co dla listy)
========================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="modul.xsl"/>
<xsl:template match="zakladka">
<!-- Wyswietlamy liste -->
</xsl:template>
</xsl:stylesheet>
========================================
kontakty_dodaj.xsl (tu tylko formularz)
========================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="modul.xsl"/>
<xsl:template match="zakladka">
<!-- Wyswietlamy formularz -->
</xsl:template>
</xsl:stylesheet>
--
NotBear
Technical Details
Message-ID:
<gap09s$r39$1@pyro.tvk.wroc.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.tvk.wroc.pl!not-for-mailReferences:
<galask$skr$1@news.onet.pl> <galq2q$tpl$1@news.onet.pl> <galtep$9n0$1@news.onet.pl> <gam266$nar$1@news.onet.pl> <gam47c$tmc$1@news.onet.pl> <gam59a$60e$1@nemesis.news.neostrada.pl> <gam5ai$1n5$1@news.onet.pl> <gam6eo$4r0$1@news.onet.pl> <gam9jq$g3o$1@news.onet.pl> <gamaee$hpi$2@news.onet.pl> <gamm8f$q6m$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.tvk.wroc.pl!not-for-mail From: NotBear <paulcom@HATESPAM.interia.pl> Newsgroups: pl.comp.xml Subject: Re: [XSLT] Dynamiczne szablony Date: Tue, 16 Sep 2008 21:09:46 +0200 Organization: Telewizja Kablowa Wroclaw -- http://www.tvk.wroc.pl/ Lines: 78 Message-ID: <gap09s$r39$1@pyro.tvk.wroc.pl> References: <galask$skr$1@news.onet.pl> <galq2q$tpl$1@news.onet.pl> <galtep$9n0$1@news.onet.pl> <gam266$nar$1@news.onet.pl> <gam47c$tmc$1@news.onet.pl> <gam59a$60e$1@nemesis.news.neostrada.pl> <gam5ai$1n5$1@news.onet.pl> <gam6eo$4r0$1@news.onet.pl> <gam9jq$g3o$1@news.onet.pl> <gamaee$hpi$2@news.onet.pl> <gamm8f$q6m$1@news.onet.pl> NNTP-Posting-Host: ip-195-140-236-23.unreg.tvk.wroc.pl Mime-Version: 1.0 X-Trace: pyro.tvk.wroc.pl 1221592188 27753 195.140.236.23 (16 Sep 2008 19:09:48 GMT) X-Complaints-To: admin@tvk.wroc.pl NNTP-Posting-Date: Tue, 16 Sep 2008 19:09:48 +0000 (UTC) User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) In-Reply-To: <gamm8f$q6m$1@news.onet.pl> X-Antivirus: avast! (VPS 080915-0, 2008-09-15), Outbound message X-Antivirus-Status: Clean Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit