Vertical alignment XSL-FO:如何使值垂直扩展
我的XML中有一个长度不同的名称字符串。如果是一个很长的名字,它会横向扩展,这是我无法承受的。我怎样才能使它垂直生长?下面是我所拥有的Vertical alignment XSL-FO:如何使值垂直扩展,vertical-alignment,xsl-fo,Vertical Alignment,Xsl Fo,我的XML中有一个长度不同的名称字符串。如果是一个很长的名字,它会横向扩展,这是我无法承受的。我怎样才能使它垂直生长?下面是我所拥有的 <fo:table-cell font-family="Courier" font-size="10px" display-align="before"height="0.01042in" border-style="solid" border-color="green"> <fo:block padding-top="1pt" pad
<fo:table-cell font-family="Courier" font-size="10px" display-align="before"height="0.01042in" border-style="solid" border-color="green">
<fo:block padding-top="1pt" padding-bottom="1pt" borderstyle="solid">
<fo:inline>
<xsl:text>USER INFORMATION</xsl:text>
</fo:inline>
<fo:block>
<xsl:text>
</xsl:text>
</fo:block>
<fo:inline font-family="Courier" font-size="12px" font-weight="bold">
<xsl:value-of select="USERNAME" />
</fo:inline>
</fo:block>
</fo:table-cell>
用户信息
;
我在评论中使用了Joel在上面发布的链接。当我精确地应用模板时,它显示奇数长度的字符串,但缺少偶数长度字符串的最后一个字符。然后,我将比较从小于
更改为小于或等于=
,结果成功了。
希望它能帮助别人。谢谢
<xsl:template name="zero_width_space_1">
<xsl:param name="data" />
<xsl:param name="counter" select="0" />
<xsl:choose>
<xsl:when test="$counter <= string-length($data)">
<xsl:value-of select='concat(substring($data,$counter,1),"​")' />
<xsl:call-template name="zero_width_space_2">
<xsl:with-param name="data" select="$data" />
<xsl:with-param name="counter" select="$counter+1" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="zero_width_space_2">
<xsl:param name="data" />
<xsl:param name="counter" />
<xsl:value-of select='concat(substring($data,$counter,1),"​")' />
<xsl:call-template name="zero_width_space_1">
<xsl:with-param name="data" select="$data" />
<xsl:with-param name="counter" select="$counter+1" />
</xsl:call-template>
</xsl:template>
<xsl:call-template name="zero_width_space_1">
<xsl:with-param name="data" select="mystring" />
</xsl:call-template>
尝试实现此链接()中的两个模板。该列是否会变得比应该的更宽?你指定了这个列的列宽了吗?@Hobbes,是的,我对列宽进行了硬编码,这对标签有效,但变量扩展了列宽。上面代码的问题是,它将一个单词分成两行。理想情况是在出现空格字符时添加新的换行符。如果没有,则遵循上述代码中描述的原则。