Subject: RE: [xsl] Selecting out groups for a menu From: Américo Albuquerque <aalbuquerque@xxxxxxxxxxxxxxxx> Date: Tue, 14 Jan 2003 12:16:10 -0000 |
Hi. OK the same code can be used with some smaller changes: <xsl:template match="/"> <table> <xsl:apply-templates select="PageHierarchy/Page[not(Page)]"> <xsl:sort select="@priority" /> </xsl:apply-templates> </table> <table><!-- the table starts here --> <xsl:apply-templates select="PageHierarchy/Page[Page]"> <xsl:sort select="@priority" /> </xsl:apply-templates> </table> </xsl:template> <xsl:template match="Page"> <tr><td><!-- these are common to all pages --> <xsl:choose> <xsl:when test="Page"> <table><!-- istead of bold we create a new table --> <tr> <td><xsl:value-of select="@actualname"/></td> </tr> </table> </xsl:when> <xsl:otherwise> <xsl:value-of select="@actualname"/> </xsl:otherwise> </xsl:choose> </td></tr><!-- common part --> <xsl:apply-templates select="Page"> <xsl:sort select="@priority" /> </xsl:apply-templates> </xsl:template> Is this wjat you are after?? -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of John Hamman {Hamman Interactive} Sent: terça-feira, 14 de Janeiro de 2003 11:52 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Selecting out groups for a menu It has helped a lot. But I think my problem has gotten more complex because of not explaining what I want to do correctly. My goal is to put this into tables. The items without children go into there own table (one table). And the group with children go into a nested table that is like this: <table> <tr> <td><table> <tr> <td>parent </td> </tr> </table></td> </tr> <tr> <td>child </td> </tr> <tr> <td>child </td> </tr> <tr> <td>child </td> </tr> </table></td> </tr> </table> I am sorry for my many questions and not being clear on my problem. Thank you for any help. john -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Américo Albuquerque Sent: Tuesday, January 14, 2003 6:39 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Selecting out groups for a menu Hi John. To do this you have to think in another way, instead of asking Page is a parent one you have to ask if Page has any children. With a little change in the Zink's Page template you can do that <xsl:template match="Page"> <xsl:if test="not(parent::Page) and Page"> <xsl:text>--------space----</xsl:text> <br/> </xsl:if> <xsl:choose> <xsl:when test="Page"> <!-- if the current Page has any Page children then --> <b><xsl:value-of select="@actualname"/></b> </xsl:when> <xsl:otherwise> <xsl:value-of select="@actualname"/> </xsl:otherwise> </xsl:choose> <br/> <xsl:apply-templates select="Page"> <xsl:sort select="@priority" /> </xsl:apply-templates> </xsl:template> Hope that this helps you. -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of John Hamman {Hamman Interactive} Sent: terça-feira, 14 de Janeiro de 2003 9:44 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Selecting out groups for a menu Wow Outstanding. That was perfect. Man Im realy loving this XML stuff! One last question is how can I test if the current page is a Parent page. For example if I wanted to Bold all the Parents that have children . Thanks so much. This has been a huge huge help. john -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Zink, Juergen Sent: Tuesday, January 14, 2003 4:33 AM To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: AW: [xsl] Selecting out groups for a menu Importance: Low Hello John, <snip> >The first group contains all the pages that have no children and sorts >them in order by there priority the following groups >list by first the parent group as the title and then the childrens below and list them by priority. Unfortunatly this is all >over my head. Im trying my best to learn the tutorials and figure out how i can do this but I am very stuck on how to group >this like above. Thanks for any help or info you can give me -john Select the children that have no children (first apply-templates) with sorting Select the children that have children (second apply-templates) list by priority (third apply-templates) Assuming there will be ever Pages with no children. <xsl:template match="/"> <xsl:apply-templates select="PageHierarchy/Page[not(Page)]"> <xsl:sort select="@priority" /> </xsl:apply-templates> <xsl:apply-templates select="PageHierarchy/Page[Page]"> <xsl:sort select="@priority" /> </xsl:apply-templates> </xsl:template> <xsl:template match="Page"> <xsl:if test="not(parent::Page) and Page"> <xsl:text>--------space----</xsl:text> <xsl:element name="br"/> </xsl:if> <xsl:value-of select="@actualname"/> <xsl:element name="br"/> <xsl:apply-templates select="Page"> <xsl:sort select="@priority" /> </xsl:apply-templates> </xsl:template> Kind regards, Juergen Zink ************************************************************************ ***** Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese eMail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. ************************************************************************ ***** XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Selecting out groups for , John Hamman {Hamman | Thread | RE: [xsl] Selecting out groups for , John Hamman {Hamman |
Re: [xsl] generating <a href="#sect, Tobias Reif | Date | Re: [xsl] the fo:block thing, G. Ken Holman |
Month |