Это мой XML-документ.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p> <!-- index 0 -->
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>
Paragraph1
</w:t>
</w:r>
</w:p>
<w:p> <!-- index 1 -->
<w:pPr>
<w:pStyle w:val="TOC1"/>
</w:pPr>
<w:r>
<w:t>
TOC1
</w:t>
</w:r>
</w:p>
<w:p> <!-- index 2 -->
<w:pPr>
<w:pStyle w:val="TOC2"/>
</w:pPr>
<w:r>
<w:t>
TOC2
</w:t>
</w:r>
</w:p>
<w:p> <!-- index 3 -->
<w:pPr>
<w:pStyle w:val="TOC3"/>
</w:pPr>
<w:r>
<w:t>
TOC3
</w:t>
</w:r>
</w:p>
<w:p> <!-- index 4 -->
<w:pPr>
</w:pPr>
<w:r>
<w:t>
Paragraph2
</w:t>
</w:r>
</w:p>
<w:p> <!-- index 5 -->
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>
Paragraph3
</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
Итак, теперь я хочу вычислить следующие две вещи
1.Считать начальную позицию индекса элемента, значение которого <w:pStyle>
начинается с"TOC". Здесь он начинается с первого <w:p>
элемента (Предположим, индекс начинается с '0'). Итак, я хочу получить следующий вывод
2. Общее число того, у которого значение <w:pStyle>
начинается с "TOC". Я посчитал это следующим выражением. Так что, пожалуйста, подскажите мне, чтобы получить первый ...
<xsl:attribute name="totalTOC">
<xsl:value-of select="count(//w:body/w:p[w:pPr[w:pStyle[starts-with(@w:val,'TOC')]]])"/>
<xsl:attribute>
Мой необходимый вывод:
<Document>
<TOC startIndex="1" totalTOC="3"/>
</Document>