目前是自动换行,但是我想自己决定换行位置,怎么定义xsl文件?

解决方案 »

  1.   

    http://www.atit.co.jp/bbs/phpBB/viewtopic.php?topic=3077&forum=9&6
    看到个貌似有用的,不过是日文。<!--文字列に改行コード付加する処理--> 
    <xsl:template name="InsertLineBreak"> 
    <!--変換対象文字列--> 
    <xsl:param name="value" select="''"/> 
    <!--1行の文字数--> 
    <xsl:param name="width" select="8"/> 
    <xsl:choose> 
    <xsl:when test="string-length($value) &lt; $width"> 
    <xsl:value-of select="$value"/> 
    </xsl:when> 
    <xsl:otherwise> 
    <xsl:value-of select="substring($value,1,$width)"/> 
    <fo:block white-space-collapse="false">&#10;</fo:block> 
    <!--再起呼び出し--> 
    <xsl:call-template name="InsertLineBreak"> 
    <xsl:with-param name="width" select="$width"/> 
    <xsl:with-param 
    name="value" 
    select="substring($value,1 + $width,string-length($value))"/> 
    </xsl:call-template> 
    </xsl:otherwise> 
    </xsl:choose> 
    </xsl:template> 
      

  2.   

       
       <xsl:when test="contains($value,'&#10;')"> 
        <xsl:value-of select="substring-before($value,'&#10;')"/>     <fo:block white-space-collapse="false">&#10;</fo:block>     <xsl:call-template name="InsertLineBreak"> 
         <xsl:with-param name="width" select="$width"/> 
         <xsl:with-param 
          name="value" 
          select="substring-after($value,'&#10;')"/> 
        </xsl:call-template> 
       </xsl:when>    <xsl:when test="string-length($value) &lt; $width"> 
        <xsl:value-of select="$value"/> 
       </xsl:when>