microformat-shiv.js
function( node, options ) {
			var items,
				i;

			if(!node){
				return false;
			}

			// if browser based documemt get topmost node
			node = modules.domUtils.getTopMostNode( node );

			// returns all microformat roots
			items = this.findRootNodes( node, true );
			if(options && options.filters && modules.utils.isArray(options.filters)){
				i = items.length;
				while(i--) {
					if( this.isMicroformat( items[i], options ) ){
						return true;
					}
				}
				return false;
			}else{
				return (items.length > 0);
			}
		}
function( node, options ) {
			var items,
				i;

			if(!node){
				return false;
			}

			// if browser based documemt get topmost node
			node = modules.domUtils.getTopMostNode( node );

			// returns all microformat roots
			items = this.findRootNodes( node, true );
			if(options && options.filters && modules.utils.isArray(options.filters)){
				i = items.length;
				while(i--) {
					if( this.isMicroformat( items[i], options ) ){
						return true;
					}
				}
				return false;
			}else{
				return (items.length > 0);
			}
		}
function ( node , options ) { var items , i ; if ( ! node ) { return false ; } // if browser based documemt get topmost node node = modules . domUtils . getTopMostNode ( node ) ; // returns all microformat roots items = this . findRootNodes ( node , true ) ; if ( options && options . filters && modules . utils . isArray ( options . filters ) ) { i = items . length ; while ( i -- ) { if ( this . isMicroformat ( items [ i ] , options ) ) { return true ; } } return false ; } else { return ( items . length > 0 ) ; } }
does a node or its children have microformats

@param  {DOM Node} node
@param  {Objecte} options
@return {Boolean}
does a node or its children have microformats