microformat-shiv.js
function(node){
			var context = this,
				children = [],
				child,
				classes,
				items = [],
				out = [];

			classes = this.getUfClassNames(node);
			// if it is a root microformat node
			if(classes && classes.root.length > 0){
				items = this.walkTree(node);

				if(items.length > 0){
					out = out.concat(items);
				}
			}else{
				// check if there are children and one of the children has a root microformat
				children = modules.domUtils.getChildren( node );
				if(children && children.length > 0 && this.findRootNodes(node, true).length > -1){
					for (var i = 0; i < children.length; i++) {
						child = children[i];
						items = context.walkRoot(child);
						if(items.length > 0){
							out = out.concat(items);
						}
					}
				}
			}
			return out;
		}
function(node){
			var context = this,
				children = [],
				child,
				classes,
				items = [],
				out = [];

			classes = this.getUfClassNames(node);
			// if it is a root microformat node
			if(classes && classes.root.length > 0){
				items = this.walkTree(node);

				if(items.length > 0){
					out = out.concat(items);
				}
			}else{
				// check if there are children and one of the children has a root microformat
				children = modules.domUtils.getChildren( node );
				if(children && children.length > 0 && this.findRootNodes(node, true).length > -1){
					for (var i = 0; i < children.length; i++) {
						child = children[i];
						items = context.walkRoot(child);
						if(items.length > 0){
							out = out.concat(items);
						}
					}
				}
			}
			return out;
		}
function ( node ) { var context = this , children = [ ] , child , classes , items = [ ] , out = [ ] ; classes = this . getUfClassNames ( node ) ; // if it is a root microformat node if ( classes && classes . root . length > 0 ) { items = this . walkTree ( node ) ; if ( items . length > 0 ) { out = out . concat ( items ) ; } } else { // check if there are children and one of the children has a root microformat children = modules . domUtils . getChildren ( node ) ; if ( children && children . length > 0 && this . findRootNodes ( node , true ) . length > - 1 ) { for ( var i = 0 ; i < children . length ; i ++ ) { child = children [ i ] ; items = context . walkRoot ( child ) ; if ( items . length > 0 ) { out = out . concat ( items ) ; } } } } return out ; }
starts the tree walk to find microformats

@param  {DOM Node} node
@return {Array}
starts the tree walk to find microformats