Subject: Re: [xsl] What's wrong with my ancestor syntax? From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 26 Mar 2007 23:09:47 +0100 |
I'm trying to use ancestor-or-self.
Here's a sample of the XML: <menuItems> <menuItem> <pageID>938</pageID> <browserTitle>Home Page</browserTitle> <lastUpdate>2006/06/12</lastUpdate> <menuItem> <pageID>998</pageID> <browserTitle>District Administration</browserTitle> <lastUpdate>2006/06/06</lastUpdate> </menuItem> </menuItem> <menuItems>
This is the XML that forms our site menu. I want to create an RSS feed that lists the most recent 10 pages that have been changed under a certain node of the menu.
So, for this example, I want to pass in the page ID of '938' and return both '938' and any child page underneath it.
Here's the XSL:
<xsl:param name="pageID">1</xsl:param>
<xsl:template match="/"> <xsl:for-each select="*/menuItem[ancestor-or-self::pageID = $pageID]"> <xsl:sort select="substring(@lastUpdate,1,4)" order="descending" /> <!-- year --> <xsl:sort select="substring(@lastUpdate,6,2)" order="descending" /> <!-- month --> <xsl:sort select="substring(@lastUpdate,9,2)" order="descending" /> <!-- day --> <xsl:call-template name="createItem" /> </xsl:for-each> </xsl:template>
<xsl:template name="createItem"> lastUpdate: <xsl:value-of select="lastUpdate"/> browserTitle: <xsl:value-of select="browserTitle"/> pageID: <xsl:value-of select="pageID"/> </xsl:template>
Originally, I had 'descendant-or-self' by mistake which obviously gave me the exact opposite of what I wanted and returned the specific node and all PARENT pages that matched. So I changed to ancestor-or-self and now it doesn't appear to match anything. I'm not sure why. Is my logic a bit off?
<xsl:template match="/"> <xsl:apply-templates select="//menuItem[pageID = $pageID"> <xsl:sort ......./>
cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] What's wrong with my ancestor, Austin, Darrel | Thread | RE: [xsl] What's wrong with my ance, Michael Kay |
[xsl] What's wrong with my ancestor, Austin, Darrel | Date | Re: [xsl] Adding Text to "Document , Wendell Piez |
Month |