Autor Zpráva
ladis
Profil *
Dobrý den,
potřebuji nutně pomoct s vysvětlením podmínky v elementu xsl:choose. Nejde mi do hlavy hlavně tento řádek:
<xsl:when test="contains(string($value-of-template),'
')"> a celkově co podmínka říká. Najde se někdo, kdo mi to laicky vysvětlí?
Děkuji mnohokrát

Zdrojový kód:
<fo:table-row border-bottom="solid">
  <fo:table-cell background-color="white" text-align="left" number-columns-spanned="2" padding="2pt">
    <fo:block keep-together="always" font-size="14px" font-weight="bold" margin="0pt">
      <fo:block>
        <xsl:for-each select="cena">
          <fo:inline>
            <xsl:text>Cena v Kč včetně DPH: </xsl:text>
          </fo:inline>
          <xsl:variable name="value-of-template">
            <xsl:apply-templates/>
          </xsl:variable>
          
          <xsl:choose>
           <xsl:when test="contains(string($value-of-template),'
')">
             <fo:block keep-together="always">
               <xsl:copy-of select="$value-of-template"/>
             </fo:block>
           </xsl:when>
           <xsl:otherwise>
             <fo:inline keep-together="always">
                <xsl:copy-of select="$value-of-template"/>
             </fo:inline>
           </xsl:otherwise>
         </xsl:choose>
         

</xsl:for-each>
</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
ladis
Profil *
Teď jsem si všiml, že mi v tom hlavním řádku <xsl:when test="contains(string($value-of-template),'
')">
chybí v uvozovkách PARAGRAPH SEPARATOR: & # x 2 0 2 9 ;
Pokud někdo víte co ta podmínka říká, budu moc rád, když se se mnou o to tajemství podělíte. :)
tiso
Profil
ladis:
<xsl:when test="contains(string($value-of-template),' ')">
xsl:when - jedna vetva v xsl:choose
contains($haystack, $needle) - funkcia či sa v reťazci $haystack nachádza reťazec $needle
string($var) - pretypovanie premennej $var na string
$value-of-template - premenná definovaná pomocou <xsl:variable name="value-of-template">

takže výsledok: ak premenná $value-of-template obsahuje reťazec " ", tak...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0