perl - XSLT 1 纯文本间距

标签 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 不一定非常适合这种类型的格式化,但数据也可能会以其他方式格式化。

最佳答案

总是有一种“廉价”的方法来填充文本,方法是使用常量字符串并复制需要填充的计数,如下所示:

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

关于perl - XSLT 1 纯文本间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850531/

相关文章:

php - 通过 PHP 渲染纯文本

perl - 从 1000 增加限制?

linux - 我如何在我的 Linux 服务中为 Asterisk 设置环境变量,即使它没有真正的用户?

raku - 如何在 Perl 6 中返回上下文敏感的返回值?

.net - 在数据库中保存格式化文本的有意义的格式是什么?

python - 如何格式化日期并用空格填充它?

r - 使用 format.Posix* 在 R 中使用时区格式化 Sys.time() 的输出

.net - Visual Studio 上的 ezdb 文件?

angularjs - $sce.trustAsHtml 不起作用

perl - 无法在 "$year;"附近的。\metro.pl第31行修改列表分配中的键/值哈希切片