2016-07-14 6 views
0

Я хочу создать новую строку в файле .xslt с номером строки. Я знаю, как создать новую строку:Как создать новую строку в .xslt с номером строки?

<xsl:text>&#xa;</xsl:text> 

Однако этот вывод просто создает новую строку, но не номер строки. Мой желаемый результат имел бы номер строки (например, 27:), а затем текст, написанный после, а не только текст.

Редактировать: формат вывода - XML. Конкретный блок кода я работаю выглядит примерно так:
<xsl:otherwise> <xsl:text>FINE ACC100 TB (SEC PARA HERE),P-SPS;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> 1: TC_ONLINE (ON) ;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> 2: DO[23] = OFF ;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> 3: CALL VW_USER(Basic10,Perceptron_IMT,Start_Messpunkt,,,Nr=(ROBO ID),,,EIN/AUS=ON) ;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> 4: WAIT (DI[23]) ;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> 5: DO[23] = ON ;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> 6: TC_ONLINE (DI[14] AND DI[24] AND DI[80]) ;</xsl:text> <xsl:text>&#xa;</xsl:text> <xsl:text> ------ </xsl:text> </xsl:otherwise>
Это производит следующий вывод:

21:J P[3] 100% FINE ACC100 TB (SEC PARA HERE),P-SPS; 
    1: TC_ONLINE (ON) ; 
    2: DO[23] = OFF ; 
    3: CALL VW_USER(Basic10,Perceptron_IMT,Start_Messpunkt,,,Nr=(ROBO ID),,,EIN/AUS=ON) ; 
    4: WAIT (DI[23]) ; 
    5: DO[23] = ON ; 
    6: TC_ONLINE (DI[14] AND DI[24] AND DI[80]) ; 
    ------ ; 

Но я хочу, линии 24, 25, 26 и т.д. до 1, 2,3, ...

+0

Это зависит от того, где вы пытаетесь вставить строку. Например, если is для элементов в некоторой коллекции, вы можете использовать 'position()' для печати в строке. У вас должна быть какая-то переменная, чтобы отслеживать номер строки. –

+0

Итак, какой выходной формат соответствует формату, это обычный текст или HTML или какой-либо формат XML? –

+0

Если формат XML, то укажите некоторый контекст как минимальный образец ввода, соответствующий вывод, который вы хотите создать, и текущий XSLT. –

ответ

0

Ничего себе, это выглядит как старый добрый BASIC!

Я думаю, что самый чистый подход здесь был бы 2-проходной трансформацией. Сначала приготовьте вывод как XML:

<basic> 
    <line>TC_ONLINE (ON)</line> 
    <line>DO[23] = OFF<line> 
    <line>CALL VW_USER(Basic10,Perceptron_IMT,Start_Messpunkt,,,Nr=(ROBO ID),,,EIN/AUS=ON)</line> 
    <line>WAIT (DI[23])</line> 
</basic> 

Затем упорядочивания текст и добавить номера строк, во втором проходе, который может быть сделано тривиально, используя положение() или XSL: номер.

 Смежные вопросы

  • Нет связанных вопросов^_^