Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Подсчет количества элементов


Автор: RockClimber 27.3.2008, 17:01
Есть такой файл:
Код

<Product>
 <AccountReply>
  <acctType>1</acctType>
 </AccountReply>
<AccountReply>
  <acctType>2</acctType>
 </AccountReply>
<AccountReply>
  <acctType>3</acctType>
 </AccountReply>
<AccountReply>
  <acctType>4</acctType>
 </AccountReply>
<AccountReply>
  <acctType>3</acctType>
 </AccountReply>
</Product>


Надо получить xslt-файл, с помощью которого будет давать на выходе что-то вроде этого:
Код

<Product>
 <firstType>4</firstType>
<secondType>2</secondType>
</Product>

Здесь firstType - количество элементов AccountReply, для которых acctType <> 4, а secondType - количество элементов AccountReply, для которых acctType  = 3.

Автор: JAPH 28.4.2008, 16:58
Код

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <Product>
      <firstType><xsl:value-of select="count(Product/AccountReply/acctType[text() != '4'])" /></firstType>
      <secondType><xsl:value-of select="count(Product/AccountReply/acctType[text() = '3'])" /></secondType>
    </Product>
  </xsl:template>
</xsl:stylesheet>


P.S. Тьфу... На месяц не посмотрел)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)