classes/phing/parser/RootHandler.php
public function startElement($tag, $attrs)
    {
        if ($tag === "project") {
            $ph = new ProjectHandler($this->parser, $this, $this->configurator, $this->context);
            $ph->init($tag, $attrs);
        } else {
            throw new ExpatParseException(
                "Unexpected tag <$tag> in top-level of build file.",
                $this->parser->getLocation()
            );
        }
    }
public function startElement($tag, $attrs)
    {
        if ($tag === "project") {
            $ph = new ProjectHandler($this->parser, $this, $this->configurator, $this->context);
            $ph->init($tag, $attrs);
        } else {
            throw new ExpatParseException(
                "Unexpected tag <$tag> in top-level of build file.",
                $this->parser->getLocation()
            );
        }
    }
public function startElement ( $ tag , $ attrs ) { if ( $ tag === "project" ) { $ ph = new ProjectHandler ( $ this -> parser , $ this , $ this -> configurator , $ this -> context ) ; $ ph -> init ( $ tag , $ attrs ) ; } else { throw new ExpatParseException ( "Unexpected tag <$tag> in top-level of build file." , $ this -> parser -> getLocation ( ) ) ; } }
Kick off a custom action for a start element tag.

The root element of our buildfile is the &lt;project&gt; element. The
root filter handles this element if it occurs, creates ProjectHandler
to handle any nested tags & attributes of the &lt;project&gt; tag,
and calls init.

@param  string $tag The xml tagname
@param  array $attrs The attributes of the tag
@throws ExpatParseException if the first element within our build file
is not the &gt;project&lt; element
Kick off a custom action for a start element tag .