[xsl] Re: Re: Re: Fixed Line Length Output

Subject: [xsl] Re: Re: Re: Fixed Line Length Output
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Tue, 9 Dec 2003 21:07:05 +0100
Cynthia,

"Cynthia DeLaria" <cdelaria@xxxxxxxxx> wrote in message
news:CE54CE22EF3A65438885197A240E408BC576DE@xxxxxxxxxxxxxxxxxxx
> Thanks. Though this is already where I was, except that you simply cut
> off the lines and got rid of the rest of the content.

Not exactly... Do notice that the lines are now maximum 64 characters
long... You can change this to any number you like by setting the value of
the corresponding xsl:param.

And I think this was what you wanted -- in case you'd wanted something else
you didn't express it in your message...

> And whatever file
> you're importing here is not included anywhere.

I said clearly that this code was using templates from FXSL.

Here's the template you didn't find -- now you'll be able to perform the
transformation:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  xmlns:ext="http://exslt.org/common";
>
    <xsl:template name="dvc-str-foldl">
      <xsl:param name="pFunc" select="/.."/>
      <xsl:param name="pA0"/>
      <xsl:param name="pStr"/>

      <xsl:choose>
         <xsl:when test="not($pStr)">
            <xsl:copy-of select="$pA0"/>
         </xsl:when>
         <xsl:otherwise>
            <xsl:variable name="vcntList" select="string-length($pStr)"/>
            <xsl:choose>
              <xsl:when test="$vcntList = 1">
                  <xsl:apply-templates select="$pFunc[1]">
                    <xsl:with-param name="arg0"
                                        select="$pFunc[position() > 1]"/>
                    <xsl:with-param name="arg1" select="$pA0"/>
                    <xsl:with-param name="arg2"
                                          select="substring($pStr,1,1)"/>
                  </xsl:apply-templates>
              </xsl:when>
              <xsl:otherwise>
                <xsl:variable name="vHalfLen"
                              select="floor($vcntList div 2)"/>
                <xsl:variable name="vFunResult1">
                  <xsl:call-template name="dvc-str-foldl">
                    <xsl:with-param name="pFunc" select="$pFunc"/>
                    <xsl:with-param name="pA0" select="$pA0"/>
                    <xsl:with-param name="pStr"
                    select="substring($pStr,
                                      1,
                                      $vHalfLen
                                       )"/>
                  </xsl:call-template>
                </xsl:variable>

                <xsl:call-template name="dvc-str-foldl">
              <xsl:with-param name="pFunc" select="$pFunc"/>
              <xsl:with-param name="pStr"
                                    select="substring($pStr,$vHalfLen+1)"
                                    />
              <xsl:with-param name="pA0"
                                select="ext:node-set($vFunResult1)"/>

                </xsl:call-template>
              </xsl:otherwise>
            </xsl:choose>
         </xsl:otherwise>
      </xsl:choose>

    </xsl:template>

</xsl:stylesheet>



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread