我想在.xslt文件中创建一个带有行号的新行。我知道如何创建一个新行:
<xsl:text>
</xsl:text>
但是,此输出只会创建一个新行,但不会创建行号。我想要的输出将有行号(例如,27:),然后写下文本,而不仅仅是文本。
编辑:输出格式为XML。与我合作的具体代码块如下所示:
<xsl:otherwise>
<xsl:text>FINE ACC100 TB (SEC PARA HERE),P-SPS;</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text> 1: TC_ONLINE (ON) ;</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text> 2: DO[23] = OFF ;</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text> 3: CALL VW_USER(Basic10,Perceptron_IMT,Start_Messpunkt,,,Nr=(ROBO ID),,,EIN/AUS=ON) ;</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text> 4: WAIT (DI[23]) ;</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text> 5: DO[23] = ON ;</xsl:text>
<xsl:text>
</xsl:text>
<xsl:text> 6: TC_ONLINE (DI[14] AND DI[24] AND DI[80]) ;</xsl:text>
<xsl:text>
</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]) ;
------ ;
但是我想在1,2,3,...之前想要第24,25,26等等。
答案 0 :(得分:0)
我认为这里最干净的方法是两次转换。首先以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>
然后序列化为文本并在第二遍中添加行号,这可以使用position()或xsl:number来轻松完成。