xsl-list
[Top] [All Lists]

Re: Merging descendant elements while summing attribute vales (was: New XSL user seeking assistance!)

2005-07-05 07:01:37
Tempore 15:49:12, die 07/05/2005 AD, hinc in xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com scripsit Matt Sims <matt(_dot_)sims(_at_)aston(_dot_)tv>:

Yes, my input does use a namespace
(xmlns="http://www.aston.tv/schemas/Aston/Aston7";).  What would I need
to do to allow for this?

You need to include the namespace in the stylesheet.

Together with a little correction in the xpath patterns and the addition of a 'xsl:strip-space' element (not required with my xslt engine), this stylesheet should really work:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:aston="http://www.aston.tv/schemas/Aston/Aston7"; version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output method="xml" indent="yes"/>

<xsl:template match="node() | @*">
        <xsl:copy>
                <xsl:apply-templates select="node() | @*"/>
        </xsl:copy>
</xsl:template>

<xsl:template match="aston:indent[aston:indent and count(node())=1]">
        <xsl:element name="indent" namespace="{namespace-uri()}">
<xsl:attribute name="x"><xsl:value-of select="@x + aston:indent/@x"/></xsl:attribute> <xsl:attribute name="y"><xsl:value-of select="@y + aston:indent/@y"/></xsl:attribute>
                <xsl:apply-templates select="*/node()"/>
        </xsl:element>
</xsl:template>

<xsl:template match="aston:font[aston:font and count(node())=1] | aston:colour[aston:colour and count(node())=1]">
        <xsl:apply-templates select="*"/>
</xsl:template>

</xsl:stylesheet>

regards,
--
Joris Gillis (http://users.telenet.be/root-jg/me.html)
Spread the wiki (http://www.wikipedia.org)

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--