protected function readRecursive( $node, &$array )
	{
		$nodeTag	= $node->getNodename();
		$nodeName	= $node->getAttribute( 'name' );
		if( $nodeTag == $this->getOption( 'tag_root' ) )
			foreach( $node->getChildren() as $child )
				$this->readRecursive( $child, $array );
		else if( $nodeTag == $this->getOption( 'tag_level' ) )
			foreach( $node->getChildren() as $child )
				$this->readRecursive( $child, $array[$nodeName] );
		else if( $nodeTag	== $this->getOption( 'tag_pair' ) )
		{
			$value	= $node->getContent();
			if( $type = $node->getAttribute( 'type' ) )
				settype( $value, $type );
			if( gettype( $value ) == "string" )
				$array[$nodeName]	= utf8_decode( $value );
			else
				$array[$nodeName]	= $value;
		}
	}