Subject: Re: [xsl] Splitting content from sub-elements From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 16 Jun 2009 06:48:47 -0700 |
I'm having trouble with breaking down a piece of XML into a simpler structure by using xslt 1.0.
The problem concentrates itself specifically around splitting the content within a <Text> element from the <FootNote>, which is also part of the same element <Text >, and still keeping the order within the <Paragraph> intact.
Any suggestions would be much appreciated.
t:\ftemp>type casper.xml <Paragraph Pstyle="Plattetekst"> <Text Cstyle="[No character style]">A line of text.</Text> <Text Cstyle="Cursief">Another line of text.</Text> <Text Cstyle="[No character style]">A 3rd line of text<FootNote ID="14"> <Paragraph Pstyle="Voetnoot"> <Text Cstyle="[No character style]">This is the content of the footnote.</Text> </Paragraph> </FootNote>that contains a footnote.</Text> <Text Cstyle="Cursief">A 4th line of text.</Text> <Text Cstyle="[No character style]">A 5th line of text that also<FootNote ID="15"> <Paragraph Pstyle="Voetnoot"> <Text Cstyle="[No character style]">This is the 2nd footnote.</Text> </Paragraph> </FootNote>a footnote.</Text> </Paragraph> t:\ftemp>call xslt casper.xml casper.xsl <?xml version="1.0" encoding="utf-8"?><para> A line of text. <emphasis role="italic">Another line of text.</emphasis> A 3rd line of text<footnote label="14"> <para> This is the content of the footnote. </para> </footnote>that contains a footnote. <emphasis role="italic">A 4th line of text.</emphasis> A 5th line of text that also<footnote label="15"> <para> This is the 2nd footnote. </para> </footnote>a footnote. </para> t:\ftemp>type casper.xsl <?xml version="1.0" encoding="US-ASCII"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="Paragraph"> <para><xsl:apply-templates/></para> </xsl:template>
<xsl:template match="FootNote"> <footnote label="{@ID}"><xsl:apply-templates/></footnote> </xsl:template>
<xsl:template match="Text[@Cstyle='Cursief']"> <emphasis role="italic"><xsl:apply-templates/></emphasis> </xsl:template>
<xsl:template match="Text"> <xsl:apply-templates/> </xsl:template>
</xsl:stylesheet> t:\ftemp>rem Done!
-- Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Splitting content from sub-el, Casper Voortman | Thread | Re: [xsl] Splitting content from su, Casper Voortman |
[xsl] Splitting content from sub-el, Casper Voortman | Date | RE: [xsl] Splitting content from su, Emmanuel Begue |
Month |