[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Problem with Positional Grouping from MSXML

Subject: Problem with Positional Grouping from MSXML
From: Andy Carr1 <CARRA@xxxxxxxxxx>
Date: Thu, 1 Feb 2007 09:37:11 +0000
 Problem with Positional Grouping from MSXML
Hi

I am running into difficulties while trying to perform Positional Grouping
on a MSXML file.
What I need to do is find the Headings in a MSXML file and transform them
into <Section> tags. Everything beneath the Heading should become a child
of <Section> until the next Heading is found, at which point the process
starts over.

A sample of the xml I am trying to transform is:

<ns0:Body>
   <w:p>
      <w:pPr>
         <w:pStyle w:val="BodyHeading"/>
      </w:pPr>
      <w:r>
         <w:t>Heading Text</w:t>
      </w:r>
   </w:p>
   <w:p>
      <w:pPr>
         <w:pStyle w:val="NumberedText"/>
      </w:pPr>
      <w:r>
         <w:t>Some list text</w:t>
      </w:r>
   </w:p>
   <w:p>
      <w:pPr>
         <w:pStyle w:val="Text"/>
      </w:pPr>
      <w:r>
         <w:t>Some text</w:t>
      </w:r>
   </w:p>
   <w:p>
      <w:pPr>
         <w:pStyle w:val="BodyHeading"/>
      </w:pPr>
      <w:r>
         <w:t>Another Heading Text</w:t>
      </w:r>
   </w:p>
   <w:p>
      <w:pPr>
         <w:pStyle w:val="Text"/>
      </w:pPr>
      <w:r>
         <w:t>Some more text</w:t>
      </w:r>
   </w:p>
   <w:p>
      <w:pPr>
         <w:pStyle w:val="NumberedText"/>
      </w:pPr>
      <w:r>
         <w:t>Some more list text</w:t>
      </w:r>
   </w:p>
</ns0:Body>

Sorry it's a bit long. As you can see MSXML treats a Heading as <w:p> like
any other paragraph. The output desired should look like this:

<Body>
   <Section>
      <Title>Heading Text</Title> (from the first Heading)
      <List>
         <ListItem>Some list text</List>
      </List>
      <Para>Some text</Para>
   </Section>
   <Section>
      <Title>Another Heading Text</Title> (from the second Heading)
      <Para>Some more text</Para>
      <List>
         <ListItem>Some more list text</List>
      </List>
   </Section>
</Body>

I have no control over the number of paragraphs that the Body might contain
and I think I need to use the w:pStyle/@w:val attribute to identify which
paragraphs need to become Section headings but I can't get the right logic.

I am using XSL 2.0 with XML Spy 2007- I would appreciate some help as my
head is about to explode :-/

Regards
Andy

Andy Carr
IT Specialist
Tel: Internal - 298037 External - 01252 558037
Mail Point  M1C IBM Application Services
Meudon House, Meudon Avenue, Farnborough, GU14 7NB
(Notes) Andy Carr1/UK/IBM@IBMGB
(Internet)CARRA@xxxxxxxxxx

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.