[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] [XSLT 2.0] Using insert-before() to insert a non-atomic value
Subject: [xsl] [XSLT 2.0] Using insert-before() to insert a non-atomic value From: "Roger L. Costello" <costello@xxxxxxxxx> Date: Fri, 27 Feb 2004 17:12:15 -0500 |
Hi Folks, I have two questions regarding using the insert-before function to insert a node into a sequence of nodes: Consider this XML document: <?xml version="1.0"?> <FitnessCenter> <Member level="platinum"> <Name>Jeff</Name> <Phone>555-1234</Phone> <FavoriteColor>lightgrey</FavoriteColor> </Member> <Member level="gold"> <Name>David</Name> <Phone>383-1234</Phone> <FavoriteColor>lightblue</FavoriteColor> </Member> <Member level="platinum"> <Name>Roger</Name> <Phone>888-1234</Phone> <FavoriteColor>lightyellow</FavoriteColor> </Member> </FitnessCenter> Here I create a variable to hold the sequence of Members: <xsl:variable name="members" select="/FitnessCenter/Member"/> Here I iterate through the Members and print out their Names: <xsl:for-each select="$members"> <xsl:value-of select="Name"/> <xsl:text> </xsl:text> </xsl:for-each> Output: Jeff David Roger Now I would like to insert into the member sequence a new member. Here I create a variable containing the new member: <xsl:variable name="new-member"> <Member level="platinum"> <Name>Sally</Name> <Phone>444-1234</Phone> <FavoriteColor>green</FavoriteColor> </Member> </xsl:variable> Question #1: Is this the correct approach to creating a new Member? I suspect not, but I don't know how else to do it. Now, using the insert-before function, I would like to insert this new member before the second Member: <xsl:variable name="members-plus-new-member" select="insert-before($members,2,$new-member)"/> Lastly, I would like to print the Name of each Member in the new sequence: <xsl:for-each select="$members-plus-new-member"> <xsl:value-of select="Name"/> <xsl:text> </xsl:text> </xsl:for-each> The output that I get is not what I desire: Output: Jeff David Roger Note that Sally is missing. Question #2: What am I doing wrong? Obviously, I am not understanding something fundamental about sequences in XSLT 2.0. Any clarity on this topic would be greatly appreciated. /Roger XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: Is there a way to catch E, Dimitre Novatchev | Thread | Re: [xsl] [XSLT 2.0] Using insert-b, David Carlisle |
Re: [xsl] Re: What is the future of, David Tolpin | Date | [xsl] Executing SQL queries - XSLT , Manish Rambabu |
Month |