Avatar billede themepark Nybegynder
14. marts 2005 - 20:06 Der er 3 kommentarer

Gentagelse af streng

Er der nogle, der kan fortælle mig, hvordan man i XSLT kan gentage en streng et vist antal gange, f.eks. udskrive "----" ved at have "-" og et 4 tal...der findes repeat-string funktioner i andre sprog, men jeg har ikke kunnet finde noget lignende i xpath-functions :(

Venlig hilsen
Michael K. P.
Avatar billede softspot Forsker
14. marts 2005 - 20:19 #1
Du kunne f.eks. lave en løkke der løser problemet. Noget i stil med denne:

<xsl:template name="repeat-string">
  <xsl:param name="str2rep" select="' '" />
  <xsl:param name="index" select="number(0)" />
  <xsl:param name="maxindex" select="number(1)" />

  <xsl:value-of select="$str2rep" />
  <xsl:if test="$index &lt; $maxindex">
    <xsl:call-template name="repeat-string">
      <xsl:with-param name="str2rep" select="$str2rep" />
      <xsl:with-param name="index" select="$index + 1" />
      <xsl:with-param name="maxindex" select="$maxindex" />
    </xsl:call-template>
  </xsl:if>
</xsl:template>


den kaldes i første omgang således:

<xsl:call-template name="repeat-string">
  <xsl:with-param name="str2rep" select="'-'" />
  <xsl:with-param name="maxindex" select="number(4)" />
</xsl:call-template>
Avatar billede themepark Nybegynder
14. marts 2005 - 20:22 #2
Pyha...det ser lidt indviklet ud...men jeg prøver den engang. Men jeg tænkte mere på om der ikke allerede fandtes en funktion til det i XSLT?
Avatar billede softspot Forsker
14. marts 2005 - 20:55 #3
Jeg vil gætte på at du kan finde noget i den nye version af XSLT (2.0), men antager at det ikke er det du kører...

Alternativt skal du lave en extension som implementerer de funktionaliteter du mangler. Hvis du benytter MSXML, er der en mulighed for at lave scripts i XSLT-filen. .NET giver desuden rimelig let adgang til at implementere extension-objekter, men jeg har ikke nogen idé om dette er en acceptabel løsning for dig...?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester