🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.xml
Article #9650

Re: Poczatkujacy w XSLT

#9650
From: NotBear
Date: Sat, 26 Jan 2008 10:05
51 lines
2635 bytes
Adam wrote:
> Probuje utworzyc XSLT ktory z tego XML wygeneruje nastepujacy kod
> HTML (XSLT otrzymuje na wejsciu parameter path okreslajacy sciezke do
> wybranego elementu). Czyli jesli input path jest rowne 1.2.1
> (okreslone przez parametry @name kolejnych elementow <item>) to HTML
> bedzie nastepujacy
> 
> <div id="item"> <div>Item 0</div>

[OT] Dygresja 1. Tworzysz pozagniezdzane listy, wiec uzyj elementow listy

<ul>
   <li>...

> <div id="on_path">Item 1</div> <div id="indentedlevel"> <div>Subitem
> 1</div> <div id="on_path">Subitem 2</div> </div>

[OT] Dygresja 2. Grubszy blad. Id sluzy do oznaczenia jednego, 
konkretnego elementu. "Jest w sciezce" to pewna wlasciwosc jednego lub 
wielu elementow. Innymi slowy - okresla przynaleznosc do _klasy_ 
elementow sciezki. Podobnie z "intendedlevel". Co wiecej - jesli zamiast 
tworzyc plaska strukture, pozagniezdzasz poziomy w sobie, to glebokosc 
bedzie wynikac z kontekstu i dodatkowe klasy numerujace poziomy nie beda 
potrzebne. Np:
<ul>
   <li class="in_path">
     <ul>
       <li class="in_path selected">...


> Problem z tym jest taki, ze przy wejsciu w trzeci poziom <div
> id="secondindentedlevel"> trzeba najpierw zamknac poziom drugi
> (indentedlevel) tagiem </div>, a po wyjsciu z niego ponownie go
> otworzyc. 

Nie pokazales najwazniejszego, czyli kodu transformacji. Ale trudno, 
podrzuce (zaznaczam, ze uproszczona) sugestie:

<xsl:template math="item">
   <li> <!-- otwieramy -->
     <xsl:value-of select="label"/>
     <ul>
       <xsl:apply-templates select="item"/> <!-- glebiej -->
     </ul>
   <li> <!-- zamykamy -->
<xsl:template>



-- 
NotBear
Technical Details
Message-ID: <fnf0kb$oj5$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-mail
References: <1246.00000092.4799eaa0@newsgate.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: Poczatkujacy w XSLT
Date: Sat, 26 Jan 2008 11:05:00 +0100
Organization: Telewizja Kablowa Wroclaw -- http://www.tvk.wroc.pl/
Lines: 51
Message-ID: <fnf0kb$oj5$1@pyro.tvk.wroc.pl>
References: <1246.00000092.4799eaa0@newsgate.onet.pl>
NNTP-Posting-Host: ip-195-140-236-23.unreg.tvk.wroc.pl
Mime-Version: 1.0
X-Trace: pyro.tvk.wroc.pl 1201341899 25189 195.140.236.23 (26 Jan 2008 10:04:59 GMT)
X-Complaints-To: admin@tvk.wroc.pl
NNTP-Posting-Date: Sat, 26 Jan 2008 10:04:59 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
In-Reply-To: <1246.00000092.4799eaa0@newsgate.onet.pl>
X-Antivirus: avast! (VPS 080125-3, 2008-01-25), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit