xsl-list
[Top] [All Lists]

RE: [xsl] Problem with grouping sibling tags

2008-12-23 05:42:16
Go to http://xsl.markmail.org/ and search for "group adjacent bullets".

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Casper Voortman [mailto:casper(_dot_)voortman(_at_)publiqare(_dot_)nl] 
Sent: 23 December 2008 10:25
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Problem with grouping sibling tags

Hey everyone,

I have a problem within an xslt i'm writing that i just can't 
figure out how to solve. I think i have to use either some 
kind of grouping or work with preceding-sibling or 
following-sibling, maybe even both combined together. It has 
to be done in xslt version 1.0 which (for as much as i have 
read on it) seems to be more complicated on itself as far as 
groupings and such go.

Here is a small description together with some samples.

The XML follows a structure like the following ( i have 
replaced the original text for 'textcontent' and 'bullet' 
otherwise it would get too long a mail):

<?xml version="1.0" encoding="UTF-8"?>
<ArticleContent>
     <Frame Label="BroodTekst">
         <Paragraph Pstyle="Tussenkop">
             <Text Cstyle="[No character style]">textcontent</Text>
             <Text Cstyle="[No character style]"/>
         </Paragraph>
         <Paragraph Pstyle="PlattetekstInitiaal">
             <Text Cstyle="[No character style]">textcontent</Text>
         </Paragraph>
         <Paragraph Pstyle="PlattetekstBullet">
             <Text Cstyle="[No character style]">bullet1</Text>
         </Paragraph>
         <Paragraph Pstyle="PlattetekstBullet">
             <Text Cstyle="[No character style]">bullet2</Text>
         </Paragraph>
         <Paragraph Pstyle="Plattetekst">
             <Text Cstyle="[No character style]">textcontent</Text>
         </Paragraph>
         <Paragraph Pstyle="Plattetekst">
             <Text Cstyle="[No character style]">textcontent</Text>
         </Paragraph>
         <Paragraph Pstyle="PlattetekstBullet">
             <Text Cstyle="[No character style]">bullet3</Text>
         </Paragraph>
     </Frame>
</ArticleContent>

This needs to be converted to another XML file that has the following
structure:

<?xml version="1.0" encoding="utf-8"?>
<section role="broodtekst">
<title role="tussenkop">textcontent</title>
<para role="plattetekstinitiaal">textcontent</para>
<itemizedlist>
      <listitem>
         <para role="plattetekstbullet">bullet1</para>
      </listitem>
      <listitem>
         <para role="plattetekstbullet">bullet2</para>
      </listitem>
</itemizedlist>
<para role="plattetekst">textcontent</para>
<para role="plattetekst">textcontent</para>
<itemizedlist>
      <listitem>
         <para role="plattetekstbullet">bullet3</para>
      </listitem>
</itemizedlist>
</frame>

Now my problem is with the original tags <Paragraph 
Pstyle="PlattetekstBullet"> these need to be grouped together 
in the new tag <itemizedlist>, but the structure within the 
story needs to stay intact. So when another <Paragraph 
Pstyle="PlattetekstBullet"> appears that is not preceded or 
followed by the same <Paragraph Pstyle="PlattetekstBullet"> 
tag they need to be grouped as well separately.

I can provide the XSLT i have sofar if needed, but it's a 
fairly long one and it might clutter the issue.

Any help would be greatly appreciated and would make my x-mas.

Regards,

Casper Voortman



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--