This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: back again: child nodes in variable


Aniceto López wrote:
> this is part of the xml file:
> 
> <mercados>
> 	<mercado id="MERCADO" descripcion="CONTINUO">
> 		<subyacentes/>
> 	</mercado>
> 	<mercado id="M3" descripcion="MEFF RENTA VARIABLE">
> 		<subyacentes>
> 			<subyacente id="20" descripcion="IBEX  MINI"/>
> 			<subyacente id="21" descripcion="IBEX  PLUS"/>
> 		</subyacentes>
> 	</mercado>
> 	<mercado id="MERCADO2" descripcion="CONTINUO2">
> 		<subyacentes/>
> 	</mercado>
> 	<mercado id="G1" descripcion="EUREX">
> 		<subyacentes>
> 			<subyacente id="10" descripcion="Fut EURO SCHATZ"/>
> 			<subyacente id="20" descripcion="Fut EURO BOBL"/>
> 		</subyacentes>
> 	</mercado>
> </mercados>
> 
> first I need to put in a variable the "mercado" nodes getting rid of
> the ones with no "subyacentes"

You want:

<xsl:variable name="conhijos" select="mercados/mercado[not(subyacentes/*)]"/>

>   <xsl:for-each select="$conhijos/mercado/subyacentes/subyacente">
>     <xsl:value-of select="@descripcion"/>
>   </xsl:for-each>

Close. The selected set will contain only 'mercado' elements, not
their parent 'mercados', so when you iterate over them, you'd use
select="$conhijos/subyacentes/subyacente"

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  resume: http://skew.org/~mike/resume/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]