xsl-list
[Top] [All Lists]

RE: Selecting out groups for a menu

2003-01-14 05:16:10
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
John Hamman
{Hamman Interactive}
Sent: terça-feira, 14 de Janeiro de 2003 11:52
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Américo
Albuquerque
Sent: Tuesday, January 14, 2003 6:39 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
John Hamman
{Hamman Interactive}
Sent: terça-feira, 14 de Janeiro de 2003 9:44
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Zink,
Juergen
Sent: Tuesday, January 14, 2003 4:33 AM
To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'
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



<Prev in Thread] Current Thread [Next in Thread>