У меня есть следующий XMLполучить максимальное значение счетчика в XSL
<?xml version="1.0"?>
<!DOCTYPE nomenclator SYSTEM "nomenclator.dtd">
<?xml-stylesheet type="text/xsl" href="nomenclator.xsl"?>
<nomenclator>
\t <adresa cod="300368" tip="Strada">
\t \t <nume>St. Karadjic Vuc</nume>
\t \t <alias cand="2008">Karadjici Vuk St</alias>
\t </adresa>
\t <adresa cod="300050" tip="Bulevard">
\t \t <nume>Miron Costin</nume>
\t \t <alias cand="1990"> 12 Encsel Mauriciu</alias>
\t </adresa>
\t <adresa cod="300040" tip="Bulevard">
\t \t <nume>Miron Costin</nume>
\t \t <alias cand="1990"> 12 Encsel Mauriciu</alias>
\t </adresa>
\t <adresa cod="300040" tip="Bulevard">
\t \t <nume>Miron Costin</nume>
\t \t <alias cand="9"> 12 Encsel Mauriciu</alias>
\t </adresa>
</nomenclator>
То, что я хочу сделать, чтобы получить максимальное количество из трески. В этом примере код 300040 появляется в 3 раза, поэтому этот код имеет максимальное значение.
Вот что я пытался сделать:
<xsl:for-each select="nomenclator/adresa">
\t \t <xsl:call-template name="sortare">
\t \t \t <xsl:with-param name="param1" select="@cod"/>
\t \t </xsl:call-template>
\t </xsl:for-each>
<xsl:template name="sortare">
\t <xsl:param name="param1" select="0"/>
<xsl:value-of select="count(document('nomenclator.xml')//adresa[@cod=$param1])"/>>
</xsl:template>
Пожалуйста, помогите мне с решением. Идея состоит в том, что мне приходится сортировать по счету, но проблема в том, что сортировка может быть выполнена только после каждого.
Я не уверен, что я понимаю ваш вопрос. Если вы хотите отсортировать узлы 'adresa' по их частоте, вам не нужно знать счетчик * максимум *. Было бы лучше, если бы вы показали нам ожидаемый результат. - P.S. Укажите XSLT 1.0 или 2.0. –
Ожидаемый результат должен быть 300040, потому что этот код появляется два раза, а остальные только один раз. (XSLT 1.0) –
Предполагается, что это будет ** ENTIRE ** результат преобразования XSL ?? Только эта часть данных? - ** P.S. Пожалуйста, укажите XSLT 1.0 или 2.0. ** –