XSLT 1纯文本间距

时间:2010-05-17 15:46:28

标签: perl formatting plaintext xslt-1.0 libxslt

使用Perl的XML :: LibXSLT需要我使用XSLT 1.0,这意味着我没有XSLT 2.0功能。有没有办法我仍然可以在处理的纯文本输出中干净地填充文本?我想要的是:

<values>
    <headers>
        <header>Header 1</header>
        <header>Header 2</header>
    </headers>
    <value>
        <one>First value 1</one>
        <two>First value 2</two>
    </value>
    <value>
        <one>Second value 1</one>
        <two>Second value 2</two>
    </value>
    ....
    <value>
        <one>Nth value 1</one>
        <two>Nth value 2</two>
    </value>
</values>

成为

Header 1          Header 2
First value 1     First value 2
Second value 1    Second value 2
....
Nth value 1       Nth value 2

我意识到XSLT不一定非常适合这种类型的格式化,但数据也可能以其他方式格式化。

1 个答案:

答案 0 :(得分:2)

通过使用常量字符串并执行填充所需的计数副本,总是存在填充文本的“廉价”方式,如下所示:

<xsl:variable name="space" select="'                     '" />
<xsl:variable name="text" select="'Header 1'" />
<xsl:value-of select="concat($text,substring($space,string-length($text)))" />