Входной XML:
<Data>
<BPP>
<CP>A</CP>
<Name>Joe</Name>
</BPP>
<BPP>
<CP>A</CP>
<Name>Show</Name>
</BPP>
<BPP>
<CP>B</CP>
<Name>Cunny</Name>
</BPP>
<BPP>
<CP>D</CP>
<Name>Johny</Name>
</BPP>
<BPP>
<CP>C</CP>
<Name>Bunny</Name>
</BPP>
<BPP>
<CP>B</CP>
<Name>Sunny</Name>
</BPP>
<BPP>
<CP>C</CP>
<Name>Neha</Name>
</BPP>
<BPP>
<CP>D</CP>
<Name>Josh</Name>
</BPP>
<BPP>
<CP>B</CP>
<Name>Ash</Name>
</BPP>
<BPP>
<CP>A</CP>
<Name>Isha</Name>
</BPP>
</Data>
Мой код в XSL-FO:
<fo:table table-layout="fixed" border-width="1mm" border-style="solid">
<fo:table-column column-width="25%"/>
<fo:table-column column-width="25%"/>
<fo:table-column column-width="25%"/>
<fo:table-column column-width="25%"/>
<fo:table-body>
<!-- Repeatable row-->
<fo:table-row>
<fo:table-cell padding="1mm" border-width="1mm" border-style="solid">
<fo:block font-weight="bold">Header</fo:block>
</fo:table-cell>
<fo:table-cell padding="1mm" border-width="1mm" border-style="solid">
**<fo:block font-weight="bold"><!--Serial Value of 'A' or 'B'--></fo:block>**
</fo:table-cell>
<fo:table-cell padding="1mm" border-width="1mm" border-style="solid">
<fo:block><xsl:value-of select='Data/BPP/Name'/></fo:block>
</fo:table-cell>
<fo:table-cell padding="1mm" border-width="1mm" border-style="solid">
<fo:block><xsl:value-of select='Data/BPP/CP'/></fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
Мое требование:
если Данные / BPP / CP ='A' или Data / BPP / CP = 'B' , затем в Каждая строка, 2-й столбец таблицы Серийный номер должен отображаться Результирующий вывод должен быть вследующий формат таблицы
Заголовок 1
Джо A
Заголовок 2
Показать A
Заголовок 3
Cunny B
Заголовок 4
Солнечный B
Заголовок 5
Ash B
Заголовок 6
Иша A
Как получить вышеуказанный серийный номер для «A» или «B» (не для «C», «D» и т. Д.))?Я пытался получить это с xslt , но мне не удалось.Любая помощь с xslt или xsl-fo в этом отношении действительно похвальна ..