function start_element($parser, $name, $attrs) {
        $this->tag_number++;
        $handler = 'discard_data';
        switch(strtoupper($name)) {
            case 'DIGESTVALUE':
                $handler = 'parse_digest';
                break;
            case 'SIGNATUREVALUE':
                $handler = 'parse_signature';
                break;
            case 'OBJECT':
                $handler = 'parse_object';
                break;
            case 'RETRIEVALMETHOD':
                $this->key_URI = $attrs['URI'];
                break;
            case 'TIMESTAMP':
                $handler = 'parse_timestamp';
                break;
            case 'WWWROOT':
                $handler = 'parse_wwwroot';
                break;
            case 'CIPHERVALUE':
                $this->cipher[$this->tag_number] = '';
                $handler = 'parse_cipher';
                break;
            case 'FAULT':
                $handler = 'parse_fault';
            default:
                break;
        }
        xml_set_character_data_handler($this->parser, $handler);
        return true;
    }
function start_element($parser, $name, $attrs) {
        $this->tag_number++;
        $handler = 'discard_data';
        switch(strtoupper($name)) {
            case 'DIGESTVALUE':
                $handler = 'parse_digest';
                break;
            case 'SIGNATUREVALUE':
                $handler = 'parse_signature';
                break;
            case 'OBJECT':
                $handler = 'parse_object';
                break;
            case 'RETRIEVALMETHOD':
                $this->key_URI = $attrs['URI'];
                break;
            case 'TIMESTAMP':
                $handler = 'parse_timestamp';
                break;
            case 'WWWROOT':
                $handler = 'parse_wwwroot';
                break;
            case 'CIPHERVALUE':
                $this->cipher[$this->tag_number] = '';
                $handler = 'parse_cipher';
                break;
            case 'FAULT':
                $handler = 'parse_fault';
            default:
                break;
        }
        xml_set_character_data_handler($this->parser, $handler);
        return true;
    }
function start_element ( $ parser , $ name , $ attrs ) { $ this -> tag_number ++ ; $ handler = 'discard_data' ; switch ( strtoupper ( $ name ) ) { case 'DIGESTVALUE' : $ handler = 'parse_digest' ; break ; case 'SIGNATUREVALUE' : $ handler = 'parse_signature' ; break ; case 'OBJECT' : $ handler = 'parse_object' ; break ; case 'RETRIEVALMETHOD' : $ this -> key_URI = $ attrs [ 'URI' ] ; break ; case 'TIMESTAMP' : $ handler = 'parse_timestamp' ; break ; case 'WWWROOT' : $ handler = 'parse_wwwroot' ; break ; case 'CIPHERVALUE' : $ this -> cipher [ $ this -> tag_number ] = '' ; $ handler = 'parse_cipher' ; break ; case 'FAULT' : $ handler = 'parse_fault' ; default : break ; } xml_set_character_data_handler ( $ this -> parser , $ handler ) ; return true ; }
Set the character-data handler to the right function for each element

For each tag (element) name, this function switches the character-data
handler to the function that handles that element. Note that character
data is referred to the handler in blocks of 1024 bytes.

@param   mixed   $parser The XML parser
@param   string  $name   The name of the tag, e.g. method_call
@param   array   $attrs  The tag's attributes (if any exist).
@return  bool            True
Set the character - data handler to the right function for each element