[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Fill the value for multiple element items from preceding non-empty element
Subject: Re: [xsl] Fill the value for multiple element items from preceding non-empty element From: Jörg Heinicke <joerg.heinicke@xxxxxx> Date: Wed, 5 Dec 2001 08:47:03 +0100 |
<xsl:template match="id|key"> <xsl:choose> <xsl:when test="not(string(.))"> <xsl:element name="{name()}"> <xsl:value-of select="preceding::*[name() = name(current()) and string(.)][1]"/> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:copy-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:template> With <xsl:element> and name() you can shorten your code as above. Regards, Joerg > I can get transformation from following xsl list; but since it deal > with multiple empty stream items (in my case, id and key), > I feel it is cumbsome to use a lot of xpath > preceding expression and xsl:choose elements explicitly. > Is there a neat and clean way for this kind of transformation > task? Thanks. > . > *** xslt **** > <?xml version="1.0"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="node()"> > <xsl:copy> > <xsl:apply-templates select="node()"/> > </xsl:copy> > </xsl:template> > <xsl:template match="id|key"> > <xsl:choose> > <xsl:when test="not(string(.))"> > <xsl:choose><!-- check id element --> > <xsl:when test="name(.)='id'"> > <id><xsl:value-of select="preceding::id[string(.)][1]"/></id> > </xsl:when> > <xsl:when test="name(.)='key'"><!-- check key element --> > <key><xsl:value-of select="preceding::key[string(.)][1]"/></key> > </xsl:when> > <xsl:otherwise/> > </xsl:choose> > </xsl:when> > <xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise> > </xsl:choose> > </xsl:template> > </xsl:stylesheet> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Fill the value for multiple e, E100 SFYang | Thread | [xsl] Re: adding unique values to a, E100 SFYang |
[xsl] Re: [ANN] XPathTester 1.4 (Sa, Dimitre Novatchev | Date | Re: [xsl] XSL and international cha, Jirka Kosek |
Month |