Re: [xsl] Correct way to test for no match

Subject: Re: [xsl] Correct way to test for no match
From: Dan Vint <dvint@xxxxxxxxx>
Date: Sun, 04 Oct 2009 09:09:47 -0400
One other thought on this. The reason it is important to know if I don't have a match is that there should always be a match and it is important to report this state. I suppose I could rearrange the code. I was using the otherwise as the default good condition while I wanted all the tests to be in the where clauses.

..dan

At 06:58 PM 10/2/2009, you wrote:
At 05:43 PM 10/1/2009, you wrote:
I think you probably want "ancestor::ipb/figure/subfig/graphic/@boardno=$sht_num" as a positive test -- this will be true if there is a match (there exists a graphic/@boardno in that place whose value is $sht_num).

I inherited this stylesheet. After working on this some last night and today, and looking at this answer, I'm not sure why there is this convoluted code. If there is a match on the $sht_num it means I have the value. So I think I can eliminate this test completely and just use the value.


This path was actually used to find a file path with unparsed_entity_uri, this was failing because it was getting an empty string. So I was trying to catch the error before it got to this function.


Your second attempt can be true only if $sht_num is "", and never otherwise. (It will also fail if no graphic elements are found on that path.)


So that last statement is what I was trying to test for. What is the result of a miss match? Is there a way to test for the results of a match that don't return a result? My two attempts were unable to trap the result of the test and do anything with it. Is there something else I should have tried?


--------------------------------------------------------------------------- Danny Vint

Panoramic Photography
http://www.dvint.com

voice: 502-749-6179


--------------------------------------------------------------------------- Danny Vint

Panoramic Photography
http://www.dvint.com

voice: 502-749-6179

Current Thread