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

Jan Tosovsky j.tosovsky na tiscali.cz
Čtvrtek Duben 29 17:16:40 CEST 2010


> 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

Mozna by bylo lepsi vynechat for-each cyklus, diky nemu se meni kontext a
tim se to trochu komplikuje. Spise bych pouzil neco takoveho:

<xsl:template match="data">
  <xsl:apply-templates />
</xsl:template>

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




Další informace o konferenci Docbook