2011-11-14 20 views
5

lo tanto, tengo una variable que contiene un conjunto de nodos con varios nodos TamañoXSLT: Comprobar si existe un valor en una lista

<xsl:variable name="sizes" select="$filter/Size" /> 

yo, necesito hacer una suma en otro conjunto de nodos, donde el tamaño/@ Identificación existe en este $ tamaños variables

<xsl:value-of select="sum(Sizes/Size[ **where @ID in $sizes/@ID** ]/@Value)"/> 

Pero estoy luchando sobre cómo escribo esto ... XPath en XSLT 1,0

+0

sé que la respuesta es simple, mi cerebro sin embargo, todavía está en el modo de fin de semana. – CaffGeek

Respuesta

7
<xsl:value-of select="sum(Sizes/Size[@ID = $sizes/@ID]/@Value)"/> 

si entiendo su especificación correctamente

Esto funciona debido a la "cuantificación existencial": A = B significa que "algún miembro del conjunto de nodos A es igual a algún miembro del conjunto de nodos B". (En su caso, A tiene como máximo sólo uno de los miembros de todos modos.)

+0

**** **** palma de la cara, que parecía demasiado fácil de tratar, incluso, gracias lol – CaffGeek

+1

1 para una buena respuesta. –

Cuestiones relacionadas