» Poradna » Programy

XSLT razeni

 |   | 

Chel bych se zeptat kdyz mam xml
<produkty>
<produkt jmeno="meda" cena="500" />
<produkt jmeno="auto" cena="20000" />
<produkt jmeno="dum" cena="100000" />
<produkt jmeno="bazen" cena="1000" />
<produkt jmeno="zahrada" cena="1000" />
<produkt jmeno="fialka" cena="10" />
 </produkty>

Zajimalo by me jëstli jde pomoci XSLT vypsat prvnich 5 produktu na stranku a dalsi produkty psat po peti na dalsi stranky a pod tento seznam vygenerovat nejake odkazy (s parametry) na ty dalsi stranky... Nebo toto v XSLT neni mozne a musim pomoci programovaciho jazyka vzdy vracet do xml jen produkty ktere chci zrovna vypsat...
Doufam ze chapete o co mi jde... Diky za odpovedi

Odpovědi na otázku

 |   | 

Myslím, že pomocí XSLT kýženého výsledku nedosáhnete. Nejspíš by to šlo vyřešit vázáním dat (data binding)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Zkus .
Dlouho jsem s XSLT nedelal, takze presne nevim. Na http://www.zvon.org je plno tutorialu vcetne XSLT a forum http://forum.builder.cz/list.php .

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

kod nejak vypadl, takze jinak
[xsl:for-each select="(//row)[position() <= 3]"] , krajni zavorky je samozrejme nutne zamenit za < >

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Ak to chceš mať usporiadané napr. podľa ceny:
<xsl:for-each select="/produkty/produkt">
<xsl:sort select="@cena">
<xsl:if test="position() &gt;= $start and position() &le; $end">
...výstup...
</xsl:if>
</xsl:for-each>

Bez usporiadania stačí:
<xsl:for-each select="/produkty/produkt[position() &gt;= $start and position() &le; $end]">
...výstup...
</xsl:for-each>

Netestoval som to, takže tam môžu byť chyby (ak ten kód engine živě zasa zmrví, tak to sem znovu písať nebudem...).

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: XSLT, Zahrada




Určitě si přečtěte



Aktuální číslo časopisu Computer

Nejlepší programy pro úpravu fotek zdarma

Externí disky pro zálohu dat

Velký test: herní notebooky

Srovnání 12 batohů