Как использовать функцию count() - это XSL - попытка подсчета суммы "A" есть в отчете

Я пытаюсь подсчитать количество A в отчете о школе.

Вот отчет:

<class>
  <student>
    <first-name>Jane</first-name>
    <last-name>Doe</last-name>
    <grade>A</grade>
  </student>
  <student>
    <first-name>John</first-name>
    <last-name>Smith</last-name>
    <grade>B</grade>
  </student>
  <student>
    <first-name>Harry</first-name>
    <last-name>Grandson</last-name>
    <grade>A</grade>
  </student>
  <student>
    <first-name>Lacy</first-name>
    <last-name>Jones</last-name>
    <grade>C</grade>
  </student>
</class>

Как получить число A в отчете?

Я придумал:

<xsl:value-of select="count(/class/student/grade)"/>

Но это все имеет значение. Поэтому я попытался получить только A с этим:

<xsl:value-of select="count(/class/student/grade/A)"/>

Но это тоже не работает.

Я также пробовал это:

<xsl:value-of select="count(/class/student[grade=A])"/>

Но это тоже не работает - что вы, ребята, думаете?

Ответы

Ответ 1

<xsl:value-of select="count(/class/student[grade='A'])"/>

Ответ 2

Вы также можете использовать:

count(/class/student/grade[text()="A"])