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

Jirka Kosek jirka na kosek.cz
Pátek Duben 30 10:47:05 CEST 2010


marek_rd wrote:

Toto je skupina o DocBooku, nezasílejte do ní prosím obecné dotazy o XML
a XSLT, které nesouvisí s DocBookem.

> <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>

Pokud chcete vybírat údaje vztažené ke konkrétní položce, nesmí být váš
dotaz absolutní (začínat /) -- tím se vám ztratí kontext. Ve vašem
případě stačí:

<xsl:template match="data">
 <xsl:for-each select="polozka">
   <fo:external-graphic src="url('{foto/@href}')"/>
 </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).

To s tím nesouvisí.

-- 
------------------------------------------------------------------
  Jirka Kosek     e-mail: jirka na kosek.cz     http://www.kosek.cz
------------------------------------------------------------------
  Profesionální školení a poradenství v oblasti technologií XML.
       Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
                   Nejbližší termíny školení
            ** XSLT 19.-22.4. ** XSL-FO 18.-19.5. **
          ** XSLT 2.0 9.6. ** Office Open XML 10.6. **
------------------------------------------------------------------
  http://docbook.cz    Stránky o dokumentačním formátu DocBook
  http://xmlguru.cz    Blog mostly about XML for English readers
------------------------------------------------------------------

------------- další část ---------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
URL: <http://www.linux.cz/pipermail/docbook/attachments/20100430/e0472863/attachment.sig>


Další informace o konferenci Docbook