Subject: [xsl] Re-visiting a Child Node From: "Daniel Newman" <daniel.newman@xxxxxxxxxxx> Date: Mon, 9 Apr 2001 17:07:27 +0100 |
I'm trying to find a work around to my "accessing dynamic nodes" problem from this morning. It looks as though I'm unable to build a dynamic XPath. There is a little workaround, but it's not right for me. I want to be able to start at the root, and use the following template: <xsl:template name="PrintRows"> <xsl:param name="ChildNode" /> <xsl:param name="SelectNode" /> <xsl:param name="RowColor" /> <xsl:param name="DisplayText" /> <tr> <td bgcolor="{$RowColor}" valign="top" width="45%"> <b><font face="Arial, Helvetica, sans-serif" size="2"> <xsl:value-of select="$DisplayText" /> </font></b> </td> <td bgcolor="{$RowColor}" width="45%"><font face="Arial, Helvetica, sans-serif" size="2"> <xsl:apply-templates select="*[name()=$ChildNode]" /> <!--<xsl:value-of select="$SelectNode" />--> </font></td> <td bgcolor="#000066" width="5%"><br/></td> <td bgcolor="#FF9933" width="5%"><br/></td> </tr> </xsl:template> As you can see, I'm trying to get the value of $SelectNode from $ChildNode, but it won't let me do this. SO, I thought I'd try restructuring my page to access the individual nodes in turn. This causes a problem though, as I want to access Child[1], then Child[2], then back to Child[1]. If I use this code <html code has been removed>: <xsl:template match="/Shareholder_Summary"> <xsl:call-template name="PrintTable" /> </xsl:template> <xsl:template name="PrintTable"> <xsl:apply-templates /> </xsl:template> <xsl:template match="RetrieveNameAndAddressRSResponse"> </xsl:template> <xsl:template match="msg_holding_information"> <xsl:apply-templates select="../RetrieveClassInfoRSResponse" /> </xsl:template> <xsl:template match="RetrieveClassInfoRSResponse"> </xsl:template> <xsl:template match="RetrieveNameAndAddressRSResponse"> </xsl:template> The second call to RetrieveNameAndAddressRSResponse wipes everything that came before it. How can I revisit this part of the tree without the page erasing the previous code? below is an example of the XML tree: <Shareholder_Summary> <RetrieveNameAndAddressRSResponse> </RetrieveNameAndAddressRSResponse> <msg_holding_information> <return_status>0</return_status> <no_of_items>2</no_of_items> <items> <item id="1"> </item> <item id="2"> </item> </items> </msg_holding_information> <RetrieveClassInfoRSResponse> <return_status>0</return_status> <NoOfItems>6</NoOfItems> <Items> <Item id="1"> </Item> <Item id="2"> </Item> <Item id="3"> </Item> <Item id="4"> </Item> <Item id="5"> </Item> <Item id="6"> </Item> </Items> </RetrieveClassInfoRSResponse> </Shareholder_Summary> Hope someone out there can help, as I want to produce a nice simple XSLT file that produces a little table, but at the moment it's looking like I'm going to have to write huge amounts of code to get around XSL's lack of dynamic XPath support? Thank you, Daniel Newman. Bis-Web Ltd. Tel: 01993 880614 Fax: 01993 881625 **************************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. **************************************************************************** XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Having trouble, please he, Michael Kay | Thread | Re: [xsl] Re-visiting a Child Node, Jeni Tennison |
RE: [xsl] Having trouble, please he, Andrew Welch | Date | [xsl] One on One!, Kofi Appiah |
Month |