[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] Re: Mad multiple select, and I'm getting it all wrong!!!
Subject: [xsl] Re: Mad multiple select, and I'm getting it all wrong!!! From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Wed, 25 Jul 2001 05:32:26 -0700 (PDT) |
Daniel Newman wrote: > I'm writing a select for an apply-templates command, but I'm getting it all > mixed up. This is what I've written: > > <xsl:apply-templates > select="HoldingInformation2Response/Items/Item[class_code = > RetrieveClassInfoRSResponse/Items/Item/ClassCode > [../DisplayOnInternetSite > = 'Y']]" /> Yes, this is not correct -- HoldingInformation2Response/Items/Item nodes do not have children named "RetrieveClassInfoRSResponse". > And what I want to do, is select all Item nodes from > HoldingInformation2Response/Items where it's class_code is equal to all > ClassCode nodes from RetrieveClassInfoRSResponse/Items/Item where > DisplayOnInternetSite = 'Y' One class_code value cannot be "equal to all ClassCode nodes" -- most probably you meant "equal to ***some*** of the ClassCode nodes". > Here are the nodes in a visual sense: > <ROOT> > <HoldingInformation2Response> > <Items> > <Item> > <Holding/> > <class_code>OMN</class_code> > <Available> > </Item> > <Item> > <Holding/> > <class_code>DRP</class_code> > <Available> > </Item> > </Items> > </HoldingInformation2Response> > <RetrieveClassInfoRSResponse> > <Items> > <Item> > <ClassCode>OMN</ClassCode> > <DisplayOnInternetSite>N</DisplayOnInternetSite> > </Item> > </Items> > <Items> > <Item> > <ClassCode>DRP</ClassCode> > <DisplayOnInternetSite>Y</DisplayOnInternetSite> > </Item> > </Items> > </RetrieveClassInfoRSResponse> > </ROOT> The above is not well-formed xml -- two unclosed <Available> elements -- I guess they must be <Available/>. With all these corrections performed, one possible XPath expression evaluating to the node-set you (most probably) targeted is: /ROOT/HoldingInformation2Response/Items/Item [class_code = /ROOT/RetrieveClassInfoRSResponse/Items/Item [DisplayOnInternetSite = 'Y']/ClassCode ] This correctly returns one Item node: <Item> <Holding /> <class_code>DRP</class_code> <Available /> </Item> I'd strongly recommend using a tool like the XPath Visualiser that allows a complex XPath expression to be built in steps, visualizing the results of all intermediate steps. Hope this helped. Cheers, Dimitre Novatchev. __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] A serious bug in MSXML 4., Alexander Gutman | Thread | [xsl] RE: Mad multiple select, and , Dimitre Novatchev |
[xsl] A serious bug in MSXML 4.0, Alexander Gutman | Date | RE: [xsl] A serious bug in MSXML 4., Rene de Vries |
Month |