🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

7 total messages Started by Tomasheq Wed, 04 Apr 2007 21:19
XSLT - filtrowanie xmla
#9227
Author: Tomasheq
Date: Wed, 04 Apr 2007 21:19
8 lines
1029 bytes
Witam,

czy jest jakis prosty sposob, zeby przy pomocy XSLT wybrac z XMLa 
konkretne tagi a reszte pozostawic niezmieniona?


Pozdrawiam,
Tomek
Re: XSLT - filtrowanie xmla
#9228
Author: szomiz
Date: Thu, 05 Apr 2007 07:06
51 lines
2788 bytes
Użytkownik "Tomasheq" <tomashq@REMOVE-THIS.gmail.com> napisał w wiadomości 
news:ev14p6$c9d$1@news.task.gda.pl...
> Witam,
>
> czy jest jakis prosty sposob, zeby przy pomocy XSLT wybrac z XMLa 
> konkretne tagi a reszte pozostawic niezmieniona?

Oczywiswcie, ze jest. To jedno z najbardziej oczywistych zastosowan 
trnasformacji. I jedno z najprostszych (ale for-each'e for ever skutecznie 
uniemozliwiaja zauwazenie tego).

Najpierw szablon, ktory "przepisze" xml'a bez zmian:

<xsl:template match="*">
    <xsl:copy>
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
    </xsl:copy>
</xsl:template>

Se sprawdz - na wyjsciu bedziesz mial to samo co na wejsciu (chociaz dobre 
parsery, przy okazji oczyszcza dokument z niepotrzebnych bialych znakow).

Skoro mamy transformacje przepisujaca dokument "jak leci" trzeba dopisac 
szablony dla wezlow, w ktore chcesz ingerowac.

<xsl:template match="jakisWezel">
    ....
</xsl:template>

W match oczywiscie dowolne cuda, zeby przetwarzanie wpadlo do /specjalnych/ 
szablonow dla tych wezlow, ktore Cie interesuja.

Z wnetrza /specjalnych/ szablonow mozesz oczywiscie kazac dopasowac i 
wykonac wezly podrzedne. Jezeli wszystkie:
    <xsl:apply-templates/>
Jezeli niektore:
    <xsl:apply-templates select="..."/>

Sugerowalbym jednak pierwszy zapis: <xsl:apply-templates/>. Jezeli jakis pod 
wezel ma zostac ominiety dodajesz "pusty" szablon, ktory zablokuje jego 
przetwarzanie:

<xsl:template match="jakisWezel/podWezel"/>
.
Kodu bedzie nieco wiecej, ale bedzie czytelny - wszystko co sie dzieje z 
dokumentem bedzie siedzialo w xsl:template match="..." ! Przy poprawkach i 
przerobkach nie bedzie trzeba wylapywac szwendajacych sie po dokumencie 
xsl:apply-template select="..." ...

sz. 
Re: XSLT - filtrowanie xmla
#9229
Author: Tomasheq
Date: Thu, 05 Apr 2007 08:21
29 lines
1681 bytes
szomiz napisał(a):
> Użytkownik "Tomasheq" <tomashq@REMOVE-THIS.gmail.com> napisał w wiadomości 
> news:ev14p6$c9d$1@news.task.gda.pl...
> 
>>Witam,
>>
>>czy jest jakis prosty sposob, zeby przy pomocy XSLT wybrac z XMLa 
>>konkretne tagi a reszte pozostawic niezmieniona?
> 
> 
> Oczywiswcie, ze jest. To jedno z najbardziej oczywistych zastosowan 
> trnasformacji. I jedno z najprostszych (ale for-each'e for ever skutecznie 
> uniemozliwiaja zauwazenie tego).
> 
[ciach]
> sz. 
> 
> 
Dzieki wielkie.

Troche sie naszukalem jak to zrobic a tutaj Twoim rozwiazaniem za pomoca 
kilku linijek wywalilem to co chcialem z XMLa.

ps
Mozesz/mozecie polecic jakies dobry tutorial/ksiazke/ebooka do XSLT?


Pozdrawiam,
Tomek
Re: XSLT - filtrowanie xmla
#9230
Author: toudidel
Date: Thu, 05 Apr 2007 08:40
6 lines
1030 bytes
http://szomiz.republika.pl/

http://www.w3schools.com/xsl/default.asp

-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: XSLT - filtrowanie xmla
#9231
Author: szomiz
Date: Thu, 05 Apr 2007 20:24
9 lines
1313 bytes
Użytkownik "Tomasheq" <tomashq@REMOVE-THIS.gmail.com> napisał w wiadomości 
news:ev2bqs$oe5$1@nemesis.news.tpi.pl...

> Mozesz/mozecie polecic jakies dobry tutorial/ksiazke/ebooka do XSLT?

Dobrej ksiazki _jeszcze_ nie ma. Jak dobrze pojdzie do pazdziernika bedzie 
napisana ;-)

sz. 
Re: XSLT - filtrowanie xmla
#9232
Author: szomiz
Date: Fri, 06 Apr 2007 19:56
13 lines
1431 bytes
Użytkownik "Tomasheq" <tomashq@REMOVE-THIS.gmail.com> napisał w wiadomości 
news:ev2bqs$oe5$1@nemesis.news.tpi.pl...

> Troche sie naszukalem jak to zrobic a tutaj Twoim rozwiazaniem za pomoca 
> kilku linijek wywalilem to co chcialem z XMLa.

Ale czy jestes pewnien, w _ktorych_ momentach wykonalo sie (wyprodukowalo 
wyjsciowego xml'a)
    <xsl:template match="*">
        ...
?

sz. 
Re: XSLT - filtrowanie xmla
#9233
Author: szomiz
Date: Fri, 06 Apr 2007 19:57
13 lines
1424 bytes
Użytkownik "Tomasheq" <tomashq@REMOVE-THIS.gmail.com> napisał w wiadomości
news:ev2bqs$oe5$1@nemesis.news.tpi.pl...

> Troche sie naszukalem jak to zrobic a tutaj Twoim rozwiazaniem za pomoca 
> kilku linijek wywalilem to co chcialem z XMLa.

Ale czy wiesz, w _ktorych_ momentach wykonalo sie (wyprodukowalo wyjsciowego 
xml'a)
    <xsl:template match="*">
        ...
?

sz. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads