Я пытаюсь создать порядковый номер для моего ввода xml с некоторой комбинацией статических и динамических строк.Номер последовательности для статических и динамических строк в XSLT 2.0
ввод XML: (Edited)
<data>
<oldLine>dat1</oldLine>
<modLine>dat2</modLine>
<line>para1</line>
<line>para2</line>
<line>para3</line>
</data>
<data>
<oldLine>dat3</oldLine>
<modLine>dat4</modLine>
<line>para4</line>
<line>para5</line>
</data>
мне нужно добавить три фиксированных записей после каждого «данных» метки в петле, но порядковым номером должен быть непрерывным и рассматривать только «линейные» метки для последовательности.
Обязательный выходной текстовый файл:
00001 para1
00002 para2
00003 para3
00004 static1
00005 static2
00006 static3
00007 para4
00008 para5
00009 static1
00010 static2
00011 static3
Я пытался в моем XSL как:
<xsl:for-each select="data">
<xsl:for-each select="line">
<xsl:value-of select="format-number(position(),"00000")"/>
<xsl:value-of select="."/>
<xsl:text>%#x0A</xsl:text>
</xsl:for-each>
<xsl:value-of select="format-number(position(),"00000")"/>
<xsl:text>static1</xsl:text>
<xsl:text>%#x0A</xsl:text>
<xsl:value-of select="format-number(position(),"00000")"/>
<xsl:text>static2</xsl:text>
<xsl:text>%#x0A</xsl:text>
<xsl:value-of select="format-number(position(),"00000")"/>
<xsl:text>static3</xsl:text>
<xsl:text>%#x0A</xsl:text>
</xsl:for-each>
Но по моему XSL я не был в состоянии генерировать порядковый номер непрерывно для всех строк , пожалуйста, помогите мне найти логику.
Привет, спасибо за решение, я точно редактировать входной XML, так как ур решение зацикливается все другие теги также и генерируя порядковый номер для них. но мне нужно учитывать только теги «line». – subbu
@subbu Проверьте измененный ответ. –
Теперь его работы прекрасны. Большое спасибо – subbu