Имам XML документ като по-долу. трябва да получа брой записи за всяко LOCATION_NAME и FILE_TYPE, когато record_type='VALID'. LOCATION_NAME и FILY_TYPE са в Параметри. за тези два параметъра трябва да получа броя на записите, когато RECORD_TYPE='VALID'.
ще предоставя едно LOCATION_NAME и едно FILY_TYPE за всяка итерация (цикъл) и трябва да получа брой. Входните параметри ще бъдат предадени от външна система (в този случай Tibco JDBC QUERY резултат).
<root>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>1</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>2</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>3</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>WARNING</RECORD_TYPE>
<RECORD_NO>3</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>4</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>6</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>7</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>8</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>9</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SellOutRecord>
<SellOutRecord>
<FILE_TYPE>STOSO</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>10</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SellOutRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>2</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</InventoryRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>4</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</InventoryRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>5</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</InventoryRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>8</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</InventoryRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>9</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</InventoryRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>11</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</InventoryRecord>
<InventoryRecord>
<FILE_TYPE>STOIV</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>14</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</InventoryRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>1</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>2</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>3</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>WARNING</RECORD_TYPE>
<RECORD_NO>3</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>4</RECORD_NO>
<LOCATION_NAME>XYZ el</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>7</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>VALID</RECORD_TYPE>
<RECORD_NO>8</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>WARNING</RECORD_TYPE>
<RECORD_NO>8</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SalesInRecord>
<SalesInRecord>
<FILE_TYPE>STOSI</FILE_TYPE>
<RECORD_TYPE>ERROR</RECORD_TYPE>
<RECORD_NO>10</RECORD_NO>
<LOCATION_NAME>XYZ XYZ</LOCATION_NAME>
</SalesInRecord>
</root>
например, ако предоставя 1. LOCATION_NAME=XYZ XYZ и FILE_TYPE='STOSI' тогава трябва да получа valid_rec_count=1 2. LOCATION_NAME=XYZ el и FILE_TYPE='STOIV' тогава трябва да получа valid_rec_count=2