functx:avg-empty-is-zero
A média, contando valores "vazios" como zero
Descrição
A função functx:avg-empty-is-zero devolve a média dos valores não vazios de $values sobre o número de nós informado em $allNodes. É útil em cálculos em que elementos ou atributos "ausentes" devem contar como zero, em vez de ficarem fora da média.
Parâmetros |
Descrição |
|---|---|
values:numeric() |
os valores para a média |
allNodes:node() |
a sequência de todos os nós sobre os quais calcular a média |
Exemplos
Os exemplos abaixo usam este documento de entrada:
<xsl:variable name="in-xml" as="item()*">
<prices>
<price value="29.99" discount="10.00"/>
<price value="39.99" discount="6.00"/>
<price value="69.99"/>
<price value="49.99" discount=""/>
</prices>
</xsl:variable>
XPath |
Resultado |
Explicação |
|---|---|---|
functx:avg-empty-is-zero($in-xml//price/@discount, $in-xml//price) |
4 |
O desconto médio dos preços é 4, se os descontos do 3º e do 4º preço contarem como zero. Usar fn:avg($in-xml//price/@discount) daria erro, porque o desconto do 4º preço não é um número válido. Se o 4º preço não tivesse o atributo discount, o resultado seria 8. |
Veja também
avg.