microformat-shiv.js
function(node) {
			var classes,
				out = [],
				obj,
				itemRootID;

			// loop roots found on one element
			classes = this.getUfClassNames(node);
			if(classes && classes.root.length && classes.root.length > 0){

				this.rootID++;
				itemRootID = this.rootID;
				obj = this.createUfObject(classes.root, classes.typeVersion);

				this.walkChildren(node, obj, classes.root, itemRootID, classes);
				if(this.impliedRules){
					this.impliedRules(node, obj, classes);
				}

				if(this.options.lang === true){
					var lang = modules.domUtils.getFirstAncestorAttribute(node, 'lang');
					if(lang){
						obj.lang = lang;
					}
				}
				out.push( this.cleanUfObject(obj) );


			}
			return out;
		}
function(node) {
			var classes,
				out = [],
				obj,
				itemRootID;

			// loop roots found on one element
			classes = this.getUfClassNames(node);
			if(classes && classes.root.length && classes.root.length > 0){

				this.rootID++;
				itemRootID = this.rootID;
				obj = this.createUfObject(classes.root, classes.typeVersion);

				this.walkChildren(node, obj, classes.root, itemRootID, classes);
				if(this.impliedRules){
					this.impliedRules(node, obj, classes);
				}

				if(this.options.lang === true){
					var lang = modules.domUtils.getFirstAncestorAttribute(node, 'lang');
					if(lang){
						obj.lang = lang;
					}
				}
				out.push( this.cleanUfObject(obj) );


			}
			return out;
		}
function ( node ) { var classes , out = [ ] , obj , itemRootID ; // loop roots found on one element classes = this . getUfClassNames ( node ) ; if ( classes && classes . root . length && classes . root . length > 0 ) { this . rootID ++ ; itemRootID = this . rootID ; obj = this . createUfObject ( classes . root , classes . typeVersion ) ; this . walkChildren ( node , obj , classes . root , itemRootID , classes ) ; if ( this . impliedRules ) { this . impliedRules ( node , obj , classes ) ; } if ( this . options . lang === true ) { var lang = modules . domUtils . getFirstAncestorAttribute ( node , 'lang' ) ; if ( lang ) { obj . lang = lang ; } } out . push ( this . cleanUfObject ( obj ) ) ; } return out ; }
starts the tree walking for a single microformat

@param  {DOM Node} node
@return {Array}
starts the tree walking for a single microformat