Re: [xsl] Excluding matches - still having problems

Subject: Re: [xsl] Excluding matches - still having problems
From: "Karl J. Stubsjoen" <karl@xxxxxxxxxxxxx>
Date: Mon, 30 Jun 2003 11:48:51 -0700
Hi,

I now have a question (now that my exclusions are working) about my addval
template.
This template simply return the current submitid followed by a comma.  It
ignores the comma if the position of the xml document is last (don't want a
trailing comma).  However, since I am excluding certain submitids, if the
last submitid is excluded, I end up with a trailing comma!
So, the question is... how to avoid the trailing comma, or maybe there is a
better place in my template to add the comma.  I was thinking of adding the
comma before calling the addval template (or in the beginning of the addval
template), but then I'm up against the same dilemna, possibly having a
leading comma.
Hmmm... is there a way to determine if any output has been generated by the
stylesheet, and to only lead off with a comma if there is previous output?

Thanks,
Karl

----- Original Message -----
From: "Karl J. Stubsjoen" <karl@xxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, June 30, 2003 11:31 AM
Subject: [xsl] Excluding matches - still having problems


> Hello all,
>
> I'm still having trouble with my excluding matches template.  I am stumped
:
> (.  I have been through David and Wendell's suggestions, I feel I am
close,
> but not sure what is going wrong.
> My parser, by the way is MSXML 4.0.
>
> I'm not sure where to go (but here).  I am including all 3 sources to
> review, here they are:
>
> XSLT DOCUMENT:
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>       xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
>       xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
>       xmlns:rs="urn:schemas-microsoft-com:rowset"
>       xmlns:z="#RowsetSchema"
>       exclude-result-prefixes="s dt rs z">
> <xsl:output method="text"/>
> <xsl:param name="excludes"/>
>
> <xsl:template match="/">
>  <xsl:apply-templates select="xml/rs:data/z:row"/>
> </xsl:template>
>
> <xsl:template match="z:row">
>  <xsl:if test="not($excludes/ID=@submitid)">
>      <xsl:call-template name="addval"/>
>     </xsl:if>
> </xsl:template>
>
> <xsl:template name="addval">
>  <xsl:value-of select="@submitid"/>
>     <xsl:if test="position()!=last()">
>     <xsl:text>,</xsl:text>
>     </xsl:if>
> </xsl:template>
>
> </xsl:stylesheet>
>
> XML SOURCE FOR IDS:
>
> <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
> xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
> xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
>  <s:Schema id="RowsetSchema">
>   <s:ElementType name="row" content="eltOnly" rs:CommandTimeout="30">
>    <s:AttributeType name="submitid" rs:number="1" rs:writeunknown="true">
>     <s:datatype dt:type="int" dt:maxLength="4" rs:precision="7"
> rs:fixedlength="true" rs:maybenull="false"/>
>    </s:AttributeType>
>    <s:extends type="rs:rowbase"/>
>   </s:ElementType>
>  </s:Schema>
>  <rs:data>
>   <z:row submitid="815085"/>
>   <z:row submitid="815260"/>
>   <z:row submitid="915219"/>
>   <z:row submitid="1010050"/>
>   <z:row submitid="1010051"/>
>   <z:row submitid="1010072"/>
>   <z:row submitid="1010107"/>
>   <z:row submitid="1010120"/>
>  </rs:data>
> </xml>
>
>
> =======XML SOURCE FOR ID'S TO BE EXCLUDED
>
> <?xml version="1.0"?>
> <EXCLUDE><ID reason="User Excluded">815260</ID><ID reason="User Excluded">
> 915219</ID><ID reason="User Excluded"> 1010107</ID></EXCLUDE>
>
>
> ... oh geez, as I post this, i do believe i see the problem (spaces in the
> ID!!!).
> Ugggg... I will fix the source generating script, however, what would be
the
> best way to fix this in my stylesheet (normalize-space)?
>
> Karl
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>
>


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


Current Thread