Subject: Re: [xsl] Problem with Positional Grouping from MSXML From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Thu, 1 Feb 2007 21:30:28 +0530 |
http://gandhimukul.tripod.com/xslt/grouping.html#positionalgrouping. (if this link doesn't work, please go to http://gandhimukul.tripod.com/xslt/grouping.html, item no 33)
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
-- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Problem with Positional G, David Carlisle | Thread | Re: [xsl] Only output element when , Martynas Jusevicius |
Re: [xsl] PARAMS and VARIABLES in X, Florent Georges | Date | Re: [xsl] Altova XSLT parser / was:, Mukul Gandhi |
Month |