XSLT 1 Простой текстовый интервал - PullRequest
3 голосов
/ 17 мая 2010

Использование 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 Ответ

2 голосов
/ 17 мая 2010

Всегда существует «дешевый» способ заполнения текста с использованием константной строки и копирования числа, необходимого для заполнения, например:

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