Re: [xsl] Spread a ul/li list in several columns

Subject: Re: [xsl] Spread a ul/li list in several columns
From: Steve <subsume@xxxxxxxxx>
Date: Wed, 14 Nov 2007 11:48:20 -0500
Maybe something like:

<div>
    <xsl:apply-templates select="/ul/li">
</div>
<div>
   <xsl:apply-templates select="/ul/li/ul/li" />
</div>

<xsl:template match="li">
    <wrapper><xsl:value-of select="li" /></wrapper>
</xsl:template>

Maybe I'm off.

On Nov 14, 2007 11:42 AM, Bernie <berniecc@xxxxxxxxx> wrote:
> The current XSL code has the sentence <xsl:apply-templates
> select="section" /> where in the next code is <!-- PUT XSL CODE HERE
> FOR 2 COLUMN WEBMAP LINKS -->
> But, of course, the results are all in a single column.
>
> Best.
> Bernie.
>
>
> On Nov 14, 2007 5:02 PM, Bernie <berniecc@xxxxxxxxx> wrote:
> > Here I go,
> >
> > <!-- XML START ========================================== -->
> >
> > <?xml version='1.0' encoding='UTF-8'?>
> > <webmap>
> >   <section id='200'>
> >    <label lang='es_ES'
> >
href='asociaciones/asociaciones_es_ES.html'><![CDATA[Asociaciones]]></label>
> >       <section id='202'>
> >         <label lang='es_ES'
> > href='asociaciones/APA/APA_es_ES.html'><![CDATA[Asociaciones padres
> > A.P.A]]></label>
> >       </section>
> >       <section id='201'>
> >         <label lang='es_ES'
> > href='asociaciones/autoayuda/autoayuda_es_ES.html'><![CDATA[Asociaciones
> > de autoayuda]]></label>
> >       </section>
> >   </section>
> >   <section id='3'>
> >        <label lang='es_ES'
> > href='ayuntamiento/ayuntamiento_es_ES.html'><![CDATA[Tu
> > Ayuntamiento]]></label>
> >       <section id='30'>
> >         <label lang='es_ES'
> > href='ayuntamiento/agenda/agenda_es_ES.html'><![CDATA[Agenda del
> > Alcalde]]></label>
> >       </section>
> >       <section id='29'>
> >         <label lang='es_ES'
> > href='ayuntamiento/alcalde/alcalde_es_ES.html'><![CDATA[El
> > Alcalde]]></label>
> >       </section>
> >   </section>
> >   <section id='26'>
> >    <label lang='es_ES'
> > href='deportes/deportes_es_ES.html'><![CDATA[Hacer Deporte]]></label>
> >       <section id='174'>
> >         <label lang='es_ES'
> > href='deportes/Clubs/Clubs_es_ES.html'><![CDATA[Clubs]]></label>
> >       </section>
> >       <section id='173'>
> >         <label lang='es_ES'
> >
href='deportes/ColabsPatrons/ColabsPatrons_es_ES.html'><![CDATA[Colaboradores
> > y Patrocinadores]]></label>
> >       </section>
> >    </section>
> >   <section id='179'>
> >    <label lang='en_UK'
> > href='VisitaVillarrobledo/VisitaVillarrobledo_en_UK.html'><![CDATA[Visit
> > Villarrobledo]]></label>
> >       <label lang='es_ES'
> > href='VisitaVillarrobledo/VisitaVillarrobledo_es_ES.html'><![CDATA[Visita
> > Villarrobledo]]></label>
> >       <section id='192'>
> >         <label lang='en_UK'
> >
href='VisitaVillarrobledo/Artesania/Artesania_en_UK.html'><![CDATA[Craftwork]
]></label>
> >         <label lang='es_ES'
> >
href='VisitaVillarrobledo/Artesania/Artesania_es_ES.html'><![CDATA[Artesanma]
]></label>
> >       </section>
> >       <section id='185'>
> >         <label lang='en_UK'
> >
href='VisitaVillarrobledo/Carnaval/Carnaval_en_UK.html'><![CDATA[Carnival]]><
/label>
> >         <label lang='es_ES'
> > href='VisitaVillarrobledo/Carnaval/Carnaval_es_ES.html'><![CDATA[El
> > Carnaval]]></label>
> >       </section>
> >    </section>
> > </webmap>
> >
> > <!-- XML END ========================================== -->
> > <!-- XSL START ============================================== -->
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
> > <xsl:output method="html" encoding="utf-8" indent="yes"
> > doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" />
> >         <xsl:param name="lang">en_UK</xsl:param>
> >
> >   <xsl:template match="/webmap/section">
> >
> >     <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
> >     <head>
> >     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> >     <title>Web Map</title>
> >     </head>
> >
> >   <body>
> >           <div style="clear:both;float:left;*float:none;width:100%;">
> >                   <div class="divWebMapCol" style="clear:both;">
> >
> >                 <!-- PUT XSL CODE HERE FOR 2 COLUMN WEBMAP LINKS -->
> >
> >                  </div>
> >                <!-- divWebMapCol -->
> >         </div>
> >
> >   </body>
> >   </html>
> >   </xsl:template>
> >
> > <xsl:template match="section">
> >     <xsl:if test="label!=''">
> >         <xsl:if test="count(ancestor::*)=2">
> >             <li class="liRombo">
> >                 <xsl:apply-templates select="label" />
> >                 </li>
> >         </xsl:if>
> >         <xsl:if test="count(ancestor::*)!=2">
> >             <li class="liOrangeDots">
> >                 <xsl:apply-templates select="label" />
> >               </li>
> >         </xsl:if>
> >         <ul>
> >                 <xsl:apply-templates select="section" />
> >         </ul>
> >     </xsl:if>
> >   </xsl:template>
> >
> > <xsl:template match="label">
> >  <xsl:choose>
> >     <xsl:when test="@lang=$lang">
> >       <xsl:call-template name="labelLink" />
> >     </xsl:when>
> >     <xsl:when test="count(../label)=1">
> >       <xsl:call-template name="labelLink" />
> >     </xsl:when>
> >
> >  </xsl:choose>
> > </xsl:template>
> >
> > <xsl:template name="labelLink">
> >   <xsl:choose>
> >     <xsl:when test="@href!=''">
> >       <a>
> >                 <xsl:attribute name="href">
> >                         <xsl:value-of select="@href" />
> >                         </xsl:attribute>
> >                   <xsl:value-of select="." />
> >           </a>
> >     </xsl:when>
> >     <xsl:otherwise>
> >                   <xsl:value-of select="." />
> >     </xsl:otherwise>
> >   </xsl:choose>
> > </xsl:template>
> >
> > </xsl:stylesheet>
> >
> > <!-- XSL END ============================================== -->
> >
> > Note:
> >
> > The resulting HTML code to be inserted in the mentioned place, should be:
> >
> > <!-- HTML START =========================================== -->
> >
> > <div style="float:left;clear:both;width:50%">
> >   <ul>
> >     <li class="liRombo">
> >       <a href="asociaciones/asociaciones_es_ES.html">Asociaciones</a>
> >     </li>
> >     <ul>
> >       <li class="liOrangeDots">
> >         <a href="asociaciones/APA/APA_es_ES.html">Asociaciones padres
A.P.A</a>
> >       </li>
> >       <li class="liOrangeDots">
> >         <a
href="asociaciones/autoayuda/autoayuda_es_ES.html">Asociaciones
> > de autoayuda</a>
> >       </li>
> >     </ul>
> >     <li class="liRombo">
> >       <a href="ayuntamiento/ayuntamiento_es_ES.html">Tu Ayuntamiento</a>
> >     </li>
> >     <ul>
> >       <li class="liOrangeDots">
> >         <a href="ayuntamiento/agenda/agenda_es_ES.html">Agenda del
Alcalde</a>
> >       </li>
> >       <li class="liOrangeDots">
> >         <a href="ayuntamiento/alcalde/alcalde_es_ES.html">El Alcalde</a>
> >       </li>
> >     </ul>
> >   </ul>
> > </div>
> >
> > <div style="float:left;width:50%">
> >   <ul>
> >     <li class="liRombo">
> >       <a href="deportes/deportes_es_ES.html">Hacer Deporte</a>
> >     </li>
> >     <ul>
> >       <li class="liOrangeDots">
> >         <a href="deportes/Clubs/Clubs_es_ES.html">Clubs</a>
> >       </li>
> >       <ul></ul>
> >       <li class="liOrangeDots">
> >         <a
href="deportes/ColabsPatrons/ColabsPatrons_es_ES.html">Colaboradores
> > y Patrocinadores</a>
> >       </li>
> >     </ul>
> >     <li class="liRombo">
> >       <a href="VisitaVillarrobledo/VisitaVillarrobledo_en_UK.html">Visit
> > Villarrobledo</a>
> >     </li>
> >     <ul>
> >       <li class="liOrangeDots">
> >         <a
href="VisitaVillarrobledo/Artesania/Artesania_en_UK.html">Craftwork</a>
> >       </li>
> >       <ul></ul>
> >       <li class="liOrangeDots">
> >         <a
href="VisitaVillarrobledo/Carnaval/Carnaval_en_UK.html">Carnival</a>
> >       </li>
> >     </ul>
> >   </ul>
> > </div>
> >
> > <!-- HTML END =================================== -->
> >
> > Thank you!
> > Bernie.
> >
> >
> >
> > On Nov 14, 2007 4:43 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > > Then, as Tommie says, you need to tell us what the inputs and outputs
of
> > > your transformation are.
> > >
> > > MK
> > >
> > > > -----Original Message-----
> > > > From: Bernie [mailto:berniecc@xxxxxxxxx]
> > >
> > > > Sent: 14 November 2007 14:50
> > > > To: Michael Kay
> > > > Subject: Re: [xsl] Spread a ul/li list in several columns
> > > >
> > > > It does not intend to be an HTML question for I build the
> > > > UL-LI code from an XML by XSL sentences. I'd like to know how
> > > > can I distribute first level UL blocks into different DIVs.
> > > >
> > > > Thank you.
> > > > Bernie.
> > > >
> > > > On Nov 14, 2007 3:36 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > > > >  This looks like an HTML question to me - if it's an XSLT question
> > > > > then you'd better clarify or Tommie will be down on you
> > > > like a ton of bricks.
> > > > >
> > > > > MK
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Bernie [mailto:berniecc@xxxxxxxxx]
> > > > > > Sent: 14 November 2007 14:29
> > > > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > > > > Subject: [xsl] Spread a ul/li list in several columns
> > > > > >
> > > > > > How can I split a two level "UL" "LI" lists into two or
> > > > three HTML
> > > > > > columns (Liquid layout DIVs)?
> > > > > >
> > > > > > First level ULs must keep their children.
> > > > > >
> > > > > > Thank you.
> > > > > > Bernie.

Current Thread