Subject: Re: [xsl] Converting WordML to a XHTML list From: "cking" <cking@xxxxxxxxxx> Date: Thu, 26 Aug 2004 00:03:01 +0200 |
Hi Lincoln, Here's a possible solution, using recursion: <xsl:template match="w:p"> <xsl:choose> <xsl:when test="w:pPr/w:listPr"> <xsl:if test="not(preceding-sibling::w:p[1]/w:pPr/w:listPr)"> <xsl:apply-templates select="w:r/w:t" mode="list-begin"/> </xsl:if> </xsl:when> <xsl:when test="w:pPr/w:pStyle/@w:val='Heading5'"> <h2><xsl:value-of select="w:r/w:t"/></h2> </xsl:when> .... <xsl:otherwise> <p><xsl:value-of select="w:r/w:t"/></p> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="w:t" mode="list-begin"> <ol> <xsl:apply-templates select="." mode="list-item-recursive"/> </ol> </xsl:template> <xsl:template match="w:t" mode="list-item-recursive"> <li><xsl:value-of select="."/></li> <xsl:variable name="next" select="../../following-sibling::w:p[1]"/> <xsl:if test="$next/w:pPr/w:listPr"> <xsl:apply-templates select="$next/w:r/w:t" mode="list-item-recursive"/> </xsl:if> </xsl:template> I hope this can clear up the mud? :) Anton Triest Wednesday, August 25, 2004 3:41 PM, Lincoln Mitchell wrote: > > I can see where you are going but a list of items maybe in other locations > in the wordml so "//w:t[../../w:pPr/w:listPr]" will match them too. > > However as list items will be in one block, maybe we create a rule like > this: > 1. For 1st "w:p/w:pPr/w:listPr" create "<OL>" and "<li>...</li>" > 2. While "following-sibling" = "w:p/w:pPr/w:listPr" do "<li>...</li>" > 3. </OL> > > Clear as mud? > > > If no resolve this time round I will send complete xsl and xml. > > Linc
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Converting WordML to a XH, Lincoln Mitchell | Thread | RE: [xsl] Converting WordML to a XH, Lincoln Mitchell |
Re: [xsl] xhtml xslt?, Jeni Tennison | Date | Re: [xsl] misc. confusion on "footn, Wendell Piez |
Month |