RE: [xsl] Is it possible to modify the source-tree?

Subject: RE: [xsl] Is it possible to modify the source-tree?
From: omprakash.v@xxxxxxxxxxxxx
Date: Wed, 14 Sep 2005 09:45:05 +0530
Hi,
         Please check the following xslt. I had to make the following
changes.

Get rid of the
 Offset = <xsl:value-of select="../@offset"/>
as the reg for 10 and 20 don't have a parent with an offset attribute. If
you do need the offset when it is present, then you may check if it exists
first before selecting.

The 2nd change was in the apply-templates. Note the /*/*.

    <xsl:apply-templates select="xalan:nodeset($reg_href)/*/*"/>

Iam not exactly sure why it is needed but I think it has to do with
$reg_href referring to the document element, $reg_href to the root element
of the tree and $reg_href/*/* to the child elements of the root element.
Maybe someone can throw more light on this.

cheers,
prakash


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xalan="http://xml.apache.org/xalan"; version="1.0">

    <xsl:template match="*">
        <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:apply-templates/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="reg[@href]">
        <xsl:variable name="reg_href">
            <xsl:copy-of select="//regdef[@name=current()/@href]"/>
        </xsl:variable>

        <xsl:apply-templates select="xalan:nodeset($reg_href)/*/*"/>
    </xsl:template>

        <xsl:template match="regdef"/>

    <xsl:template match="reg">
        <br/>Register : <xsl:value-of select="."/>

       Prev-Sibling count = <xsl:value-of
select="count(preceding-sibling::reg)"/>

      </xsl:template>

</xsl:stylesheet>


This e-Mail may contain proprietary and confidential information and is sent for the intended recipient(s) only. 
If by an addressing or transmission error this mail has been misdirected to you, you are requested to delete this mail immediately.
You are also hereby notified that any use, any form of reproduction, dissemination, copying, disclosure, modification,
distribution and/or publication of this e-mail message, contents or its attachment other than by its intended recipient/s is strictly prohibited.

Visit Us at http://www.polaris.co.in

Current Thread