Re: [xsl] Shorter rewrite

Subject: Re: [xsl] Shorter rewrite
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Tue, 06 Aug 2002 09:07:50 +0200
> <xsl:copy-of select="@*[name() != 'ss:Formula'  or
> $node_detlijn[$node_position]/@type = 'text']" />

I would only bring it in a form to read it like the <xsl:choose>-form:

<xsl:copy-of select="@*[not(name() = 'ss:Formula' and $node_detlijn[$node_position]/@type = 'text')]"/>

But this may be only a personal preference.

Regards,

Joerg

Antonio Fiol Bonnín wrote:
Joeri Belis wrote:

This code snipped tests for the presence of the 'text' attribute and then
chooses to copy all the attributes or all except ss:Formula.
My question is can this be written in a shorter verion. Direct in the
copy-of selection.

Yes. It would however be less readable.

<xsl:copy-of select="@*[name() != 'ss:Formula' or $node_detlijn[$node_position]/@type = 'text']" />

Not tested. Maybe it works, maybe not. Hope that helps.

However, where do you have tour type attribute? Is it on the same element as the ss:Formula attribute? If so, you can use ../@type instead of the longer thing you used.

I find i need alot of 'choose' statements and this feels like overhead of an
inexperienced coder.


But this will also be easier to understand if someone (maybe yourself) reads the code in 6 months...
If you use very compact forms, I urge you to comment on them.



Yours,



Antonio Fiol


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread