Subject: Re: [xsl] From WordprocessingML inline styles to nested inline elements From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 21 Mar 2007 15:22:33 GMT |
> In my output, however, the inline styles should nest, and moreover, nest > in a particular order: something like $ saxon wp1.xml wp1.xsl <?xml version="1.0" encoding="utf-8"?><run><b><i>This is text in bold and italic.</i></b></run> davidc@souldern /c/tmp $ cat wp1.xml <w:r xmlns:w="data:,w"> <w:rPr> <w:i/> <w:b/> </w:rPr> <w:t>This is text in bold and italic.</w:t> </w:r> $ cat wp1style.xml <style_nesting> <b><i><u/></i></b> </style_nesting> $ cat wp1.xsl <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:w="data:,w" exclude-result-prefixes="w"> <xsl:variable name="s" select="document('wp1style.xml')/style_nesting"/> <xsl:template match="w:r"> <run> <xsl:apply-templates mode="s" select="$s"> <xsl:with-param name="t" select="w:t"/> <xsl:with-param name="p" select="w:rPr"/> </xsl:apply-templates> </run> </xsl:template> <xsl:template match="*" mode="s"> <xsl:param name="t"/> <xsl:param name="p"/> <xsl:choose> <xsl:when test="$p/*[local-name()=local-name(current())]"> <xsl:copy> <xsl:apply-templates mode="s" select="*"> <xsl:with-param name="p" select="$p"/> <xsl:with-param name="t" select="$t"/> </xsl:apply-templates> </xsl:copy> </xsl:when> <xsl:otherwise> <xsl:apply-templates mode="s" select="*"> <xsl:with-param name="p" select="$p"/> <xsl:with-param name="t" select="$t"/> </xsl:apply-templates> </xsl:otherwise> </xsl:choose> <xsl:if test="not(*)"> <xsl:value-of select="$t"/> </xsl:if> </xsl:template> </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] From WordprocessingML inline , Yves Forkl | Thread | Re: [xsl] From WordprocessingML inl, Yves Forkl |
RE: [xsl] xpath / multiple context , Angela Williams | Date | [xsl] document() and key() boundari, anne.kootstra |
Month |