Pevne mezery za jednoslovne predlozky pomoci XSLT

Jirka Kosek jirka na kosek.cz
Úterý Březen 11 14:04:32 CET 2008


marek_rd wrote:

> potreboval bych XSLT sablonu, ktera by mi po transformaci pridala pevne mezery za
> jednoslovne predlozky v textu. Navzdory pekne prirucce "XSLT v
> prikladech" od pana Koska se mi nepodarilo funkcni sablonu sestavit. Pomuzete mi prosim
> (alespon navedenim na spravnou cestu - sablonu si pak dopisu sam)?

V XSLT 2.0 to jde snadno:

<xsl:function name="f:tildify">
   <xsl:param name="text"/>

   <xsl:value-of select="replace($text, 
'(\s|\p{Z}|\p{P})([AIKOSUVZikosuvz])([ \t]+|[ \t]*\n[ \t]*)(\w)', 
'$1$2 $4', 's')"/>
</xsl:function>

<xsl:template match="text()">
   <xsl:value-of select="f:tildify(.)"/>
</xsl:template>

Neřeší to ovšem případy, kde je předložka v jiném textovém uzlu, než 
následující slovo, ale to není moc časté (v <phrase>lese</phrase> je tma).


-- 
------------------------------------------------------------------
   Jirka Kosek     e-mail: jirka na kosek.cz     http://www.kosek.cz
------------------------------------------------------------------
   Profesionální školení a poradenství v oblasti technologií XML.
      Podívejte se na náš nově spuštěný web http://DocBook.cz
        Podrobný přehled školení http://xmlguru.cz/skoleni/
------------------------------------------------------------------
                    Nejbližší termíny školení:
                 ** Úvod do XML 28.-30.4.2008 **
     **  XML schémata 25.-27.3.2008 *** XSLT 10.-13.3.2008 **
------------------------------------------------------------------
   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: 250 bytes
Desc: OpenPGP digital signature
URL: <http://www.linux.cz/pipermail/docbook/attachments/20080311/01f69c8e/attachment.sig>


Další informace o konferenci Docbook