2011-11-14 19 views
5

Così, ho una variabile che contiene una serie di nodi con diversi nodi DimensioneXSLT: Verificare se esiste un valore in un elenco

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

dunque io, bisogno di fare una somma su un altro serie di nodi, in cui la dimensione/@ ID esiste in questo $ dimensioni variabili

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

ma sto lottando su come scrivo questo XPath ... in XSLT 1,0

+0

So che la risposta è semplice, tuttavia il mio cervello è ancora in modalità weekend lungo. – CaffGeek

risposta

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

se ho capito la tua specifica correttamente.

Questo funziona a causa di "quantificazione esistenziale": A = B significa "un membro del set di nodi A è uguale a qualche membro del set di nodi B". (Nel tuo caso, A ha comunque al massimo un solo membro.)

+0

**** face palm ****, che sembrava troppo facile da provare, lol, grazie – CaffGeek

+1

+1 per una buona risposta. –

Problemi correlati