RE: [xsl] Selecting out groups for a menu

Subject: RE: [xsl] Selecting out groups for a menu
From: "John Hamman {Hamman Interactive}" <johnhamman@xxxxxxx>
Date: Tue, 14 Jan 2003 06:51:54 -0500
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


Current Thread