[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Michael Kay" <mike@s...>
  • To: "'Costello, Roger L.'" <costello@m...>,<xml-dev@l...>
  • Date: Thu, 25 Mar 2010 12:26:44 -0000

Note my use of the function, f:substring-before-last(). There is no such built-in function, I created it. Below is how I implemented it. The implementation doesn’t seem descriptive. It seems quite recipe-like:

 

   Get the substring before $delimiter and output it,

   then output $delimiter, and then recurse.

 

It seems quite imperative. Do you agree? 

 

Yes if you think of it that way. Not if you think of it as a definition:

 

The "suffix" of a string is defined as follows:

 

(a) Define the "tail" of a string to be the part of a string after the first slash, or the entire string if if contains no slash

 

(b) The suffix of a string is the tail of the string if it contains no slash, or the suffix of the tail of the string othewise.

 

That's a recursive definition of the concept. It's not a recipe for evaluation.

 

Intelligent optimizers are quite capable of adopting a different evaluation strategy for your code from the one you were thinking of. For example, many will turn the recursion into an iteration.

 

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member