xsl-list
[Top] [All Lists]

solved: Re: adding space in xslt and trimming last space in java-problem

2003-07-23 09:02:35

This finally did it:

<xsl:template match="*">
    <xsl:for-each select="//ns1:genbankid">
    <xsl:value-of select="."/>
    <xsl:if test="not(position() = last())">
        <xsl:text> </xsl:text>
    </xsl:if>
    </xsl:for-each>
</xsl:template>

The web service I am calling
call.setTargetEndpointAddress( new java.net.URL("http://www.ebi.ac.uk:80/cgi-bin/xembl/XEMBL-SOAP.pl";) ); call.setOperationName(new QName("http://www.ebi.ac.uk/XEMBL";, "getNucSeq") );

does not allow for any other space format.

thanks all.






"remko de knikker" <remko(_dot_)deknikker(_at_)yale(_dot_)edu> wrote in message
news:3F15AE13(_dot_)7040209(_at_)yale(_dot_)edu(_dot_)(_dot_)(_dot_)
> situation:
>
> I have an XML-file that contains a sequence of ids. I need to transform
> this to a String of space separated ids.
> So I transform the xml to a text file and after each id-node I add a
> space, like this:
>
> <xsl:template match="*">
>     <xsl:for-each select="//ns1:genbankid">
>         <xsl:value-of select="text()"/>&#xa0;</xsl:for-each>
> </xsl:template>


A number of observations:

1. You have put inside a template matching every element code that does not
depend on the current node. It may be executed several times and this is a
mistake.

2. & # x a 0 ; without the intervening spaces is a character reference for
the so-called "non-breaking space" -- it has nothing to do with the space
character.

3. Your problem is artificial and it must be eliminated in your XSLT code --
no need to call an extension function.

Add code, which tests if the position of the current node in the node-list
is not the last -- only then output your whateverSpace character.



=====
Cheers,

Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL




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




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



<Prev in Thread] Current Thread [Next in Thread>