[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Re: Determining whether no single instance of a s

Subject: Re: Re: Determining whether no single instance of a specific node exists
From: Mark Peters <markpeters.work@xxxxxxxxx>
Date: Fri, 5 Jun 2009 09:00:57 -0400
Re:  Re: Determining whether no single instance of a  s
Hi Everyone,

     <xsl:when test="count(not(b/c)) &gt;= 1">

This statement looks correct, but it isn't working for me. The
statement filters the sets of <b/> nodes where the first node does not
contain <c/>.  But if the first <b/> node in the set contains a <c/>,
then the set is not filtered. It looks like the count() function is
only looking at the first <b/> node.

I tried the following statement instead:

     <xsl:for-each select="attributeList/attribute">
          <xsl:variable name="counter" select="count(not[notChangeable])"/>
     </xsl:for-each>

     <xsl:choose>
          <xsl:when test="$counter &gt;= 1">
     ...

But the processor replied that $counter was not set.

I tried test="not(b/c)" earlier, with the same results as the first
statement in this email: The statement appears to filter on the first
<b/> node in the set only.

Thanks,
Mark


On Thu, Jun 4, 2009 at 2:37 PM, Michael Dykman<mdykman@xxxxxxxxx> wrote:
> On Thu, Jun 4, 2009 at 2:27 PM, Mark Peters <markpeters.work@xxxxxxxxx>
wrote:
>> Sorry, my XSL examples weren't quite right.  I'm trying to determine
>> whether no instance of <c/> exists for each <b/> set.
>>
>> So, in my XSL document, assume I'm processing each <a/> node.
>>
>> 1,
>> <xsl:when test="not(b/c)">
>>
>> 2.
>> <xsl:when test="count(not(b/c)) &gt;= 1">
>>
>> Thanks,
>> Mark
>>
>>
>> On Thu, Jun 4, 2009 at 2:20 PM, Mark Peters <markpeters.work@xxxxxxxxx>
wrote:
>>> Hi Everyone,
>>>
>>> I have the following XML document:
>>>
>>>     <a>
>>>             <b/>
>>>             <b/>
>>>             <b/>
>>>     </a>
>>>     <a>
>>>             <b/>
>>>             <b/>
>>>             <b>
>>>                     <c/>
>>>             </b>
>>>
>>>     </a>
>>>     <a>
>>>             <b/>
>>>             <b/>
>>>             <b/>
>>>     </a>
>>>
>>> For each <b/> set, I want to apply a transformation only if no single
>>> instance of <c/> exists. I know how to check whether a node does
>>> exist, but not how to check whether no single instance of the node
>>> exists.
>>>
>>> I've tried the following conditional statements without success:
>>>
>>> 1,
>>> <xsl:when test="not(a/b/c)">
>>>
>>> 2.
>>> <xsl:when test="count(not(a/b/c)) &gt;= 1">
>>>
>>>
>>> What conditional statement should I use?
>>>
>>> Thanks in advance for any help.
>>>
>
> Are you looking for something along the line of
>
> <xsl:when test="not(count(b/c) &gt;= 1)">
> ??
> --
>  - michael dykman
>  - mdykman@xxxxxxxxx
>
>  - All models are wrong.  Some models are useful.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.