|
Subject: Re: [xsl] Transforming a Loose Structure From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 21 Mar 2007 10:56:00 GMT |
> How can i achieve my desired results?
it seems from your example that your transformation of sub is to defer
generating the subscript element until you reach text node descendents
of the original element, so that's:
<?xml version="1.0" encoding="UTF-8"?>
<section>
<par>Test para <inline vertical-align="sub">test <inline
font-style="italic">para1</inline> and more</inline> Test para</par>
</section>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="inline[@role='italic']">
<emphasis role="italic"><xsl:apply-templates/></emphasis>
</xsl:template>
<xsl:template match="inline[@vertical-align]">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="inline[@vertical-align='sub']//text()">
<subscript><xsl:value-of select="."/></subscript>
</xsl:template>
</xsl:stylesheet>
$ saxon8 inline2.xml inline2.xsl
<?xml version="1.0" encoding="UTF-8"?><section>
<par>Test para <subscript>test </subscript><inline font-style="italic"><subscript>para1</subscript></inline><subscript> and more</subscript> Test para</par>
</section>
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Transforming a Loose Stru, Jeff Sese | Thread | Re: [xsl] Transforming a Loose Stru, Jeff Sese |
| [xsl] Naming the Column head based , jeb501 | Date | Re: [xsl] Set difference in xsl:num, Deborah Pickett |
| Month |