I would call what you need for an efficient XSLT implementation "lazy lists." They are never infinite but you would rather not pre-compute them in advance. Often you use only the first item. Iterators probably would be a good implementation technique. -- Take a recipe. Leave a recipe. Python Cookbook! http://www.activestate.com/pythoncookbook