XSLT'de dosya yolu manipülasyonlar yapıyor

0 Cevap php

Ben biçembente bir izde işaret dosya yollarını içeren benim oluşturulan çıkış dosyası istiyorum. Şablonlarının yer değiştirebilir ve stil sayfası için bir parametre kullanmak istemiyorum. Bunun için benim çözüm tam stil URI almak için:

<xsl:variable name="stylesheetURI" select="document-uri(document(''))" />

Şimdi sadece $stylesheetURI adlı dosya kesmek gerekir. Bu XSLT'de PHP fonksiyonları basename ve dirname 2.0 klonlar yazmak için bana ilham kaynağı olmuştur:

<xsl:function name="de:basename">
    <xsl:param name="file"></xsl:param>
    <xsl:sequence select="tokenize($file, '/')[last()]" />
</xsl:function>

<xsl:function name="de:dirname">
    <xsl:param name="file"></xsl:param>
    <xsl:sequence 
        select="string-join(tokenize($file, '/')[position() != last()], '/')" />
</xsl:function>

Şimdi benim şablonda böyle bir şey yapabilirsiniz:

<img src="{concat(de:dirname($stylesheetURI),'/img/myimage,png')}" />

Benim soru: yerli XSLT 2.0 ile bunu gerçekleştirmek için daha iyi / daha hızlı yolları var mı?

0 Cevap