Configures a Project (complete with Targets and Tasks) based on a XML build file.

<

p> Design/ZE2 migration note: If PHP would support nested classes. All the phing/parser/*Filter classes would be nested within this class

author | Andreas Aderhold
copyright | 2001,2002 THYRELL. All rights reserved
version | $Id$
access | public
package | phing.parser

### Methods

## Constructs a new DataTypeHandler and sets up everything.

    __construct(\AbstractSAXParser $parser, \AbstractHandler $parentHandler, \ProjectConfigurator $configurator, \Target $target)

The constructor must be called by all derived classes.

### Parameters

#### $parser

`\AbstractSAXParser`

The XML parser (default: ExpatParser)

#### $parentHandler

`\AbstractHandler`

The parent handler that invoked this handler.

#### $configurator

`\ProjectConfigurator`

The ProjectConfigurator object

#### $target

`\Target`

The target object this datatype is contained in (null for top-level datatypes).

## Handles character data.

    characters(string $data)

access | public

### Parameters

#### $data

`string`

the CDATA that comes in

## Overrides endElement for data types.

    endElement(string $name) : void

Tells the type handler that processing the element had been finished so handlers know they can perform actions that need to be based on the data contained within the element.

### Parameters

#### $name

`string`

the name of the XML element

## Executes initialization actions required to setup the data structures related to the tag.

    init(string $propType, array $attrs)

<

p> This includes:

- creation of the datatype object
- calling the setters for attributes
- adding the type to the target object if any
- adding a reference to the task (if id attribute is given)

access | public

### Parameters

#### $propType

`string`

the tag that comes in

#### $attrs

`array`

attributes the tag carries

### Exceptions

`\ExpatParseException` | if attributes are incomplete or invalid

## Checks for nested tags within the current one.

    startElement(string $name, array $attrs)

Creates and calls handlers respectively.

access | public

### Parameters

#### $name

`string`

the tag that comes in

#### $attrs

`array`

attributes the tag carries

## Gets invoked when element closes method.

    finished()

Inherited

inherited_from | \AbstractHandler::finished()

### Properties

##

    $parentHandler

Inherited

inherited_from | \AbstractHandler::$$parentHandler

##

    $parser

Inherited

inherited_from | \AbstractHandler::$$parser

##

    $element

##

    $target

##

    $wrapper