Změna cesty v fo:external-graphic v cyklu xsl:for-each

marek_rd marek_rd na yahoo.co.uk
Čtvrtek Duben 29 13:04:00 CEST 2010


Dobrý den,

mám obecný dotaz na XSLT a XSL-FO:

Pokud mám XML soubor např.:

<data>
 <polozka>
  <foto href="file.ext"/>
 </polozka>
 <polozka> ... </polozka>
</data>


A potřebuji pro každou položku generovat zobrazení fotky, snažím se to
udělat takto:

<xsl:template match="data">
 <xsl:for-each select="polozka">
  <xsl:variable name="cesta">
   <xsl:value-of select="//data/klient/foto/@href"></xsl:value-of>
  </xsl:variable>
   <fo:external-graphic src="url('{$cesta}')"/>
 </xsl:for-each>
</xsl:template>

Výstup je špatný, protože se mi pro všechny položky vygeneruje vždy
obrázek uvedený v prní položce. Je to očekávatelný výsledek, protože
jednou definované proměnné již nelze měnit
(http://www.kosek.cz/xml/xslt/parametry.html#promenne).

Šlo by to tedy vyřešit nějakým jiným způsobem?

Děkuji,

Marek Rada








Další informace o konferenci Docbook