private function _lock_startElement($parser, $name, $attrs) {
        // lower XML Names... maybe break a RFC, don't know ...
        $parserid = (int) $parser;
        $propname = strtolower($name);
        $this->_xmltree[$parserid] .= $propname . '_';

        // translate xml tree to a flat array ...
        /*
        dav::prop_dav::lockdiscovery_dav::activelock_dav::depth_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::owner_dav::href_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::timeout_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::locktoken_dav::href_=
         */
        switch($this->_xmltree[$parserid]) {
        case 'dav::prop_dav::lockdiscovery_dav::activelock_':
            // new element
            $this->_lock_ref =& $this->_lock[$parserid][];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::locktype_dav::write_':
            $this->_lock_ref_cdata = &$this->_lock_ref['locktype'];
            $this->_lock_cdata = 'write';
            $this->_lock_cdata = &$this->_null;
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::lockscope_dav::exclusive_':
            $this->_lock_ref_cdata = &$this->_lock_ref['lockscope'];
            $this->_lock_ref_cdata = 'exclusive';
            $this->_lock_ref_cdata = &$this->_null;
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::depth_':
            $this->_lock_ref_cdata = &$this->_lock_ref['depth'];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::owner_dav::href_':
            $this->_lock_ref_cdata = &$this->_lock_ref['owner'];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::timeout_':
            $this->_lock_ref_cdata = &$this->_lock_ref['timeout'];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::locktoken_dav::href_':
            $this->_lock_ref_cdata = &$this->_lock_ref['locktoken'];
            break;
        default:
            // handle unknown xml elements...
            $this->_lock_cdata = &$this->_lock_ref[$this->_xmltree[$parserid]];

        }
    }
private function _lock_startElement($parser, $name, $attrs) {
        // lower XML Names... maybe break a RFC, don't know ...
        $parserid = (int) $parser;
        $propname = strtolower($name);
        $this->_xmltree[$parserid] .= $propname . '_';

        // translate xml tree to a flat array ...
        /*
        dav::prop_dav::lockdiscovery_dav::activelock_dav::depth_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::owner_dav::href_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::timeout_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::locktoken_dav::href_=
         */
        switch($this->_xmltree[$parserid]) {
        case 'dav::prop_dav::lockdiscovery_dav::activelock_':
            // new element
            $this->_lock_ref =& $this->_lock[$parserid][];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::locktype_dav::write_':
            $this->_lock_ref_cdata = &$this->_lock_ref['locktype'];
            $this->_lock_cdata = 'write';
            $this->_lock_cdata = &$this->_null;
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::lockscope_dav::exclusive_':
            $this->_lock_ref_cdata = &$this->_lock_ref['lockscope'];
            $this->_lock_ref_cdata = 'exclusive';
            $this->_lock_ref_cdata = &$this->_null;
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::depth_':
            $this->_lock_ref_cdata = &$this->_lock_ref['depth'];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::owner_dav::href_':
            $this->_lock_ref_cdata = &$this->_lock_ref['owner'];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::timeout_':
            $this->_lock_ref_cdata = &$this->_lock_ref['timeout'];
            break;
        case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::locktoken_dav::href_':
            $this->_lock_ref_cdata = &$this->_lock_ref['locktoken'];
            break;
        default:
            // handle unknown xml elements...
            $this->_lock_cdata = &$this->_lock_ref[$this->_xmltree[$parserid]];

        }
    }
private function _lock_startElement ( $ parser , $ name , $ attrs ) { // lower XML Names... maybe break a RFC, don't know ... $ parserid = ( int ) $ parser ; $ propname = strtolower ( $ name ) ; $ this -> _xmltree [ $ parserid ] .= $ propname . '_' ; // translate xml tree to a flat array ... /*
        dav::prop_dav::lockdiscovery_dav::activelock_dav::depth_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::owner_dav::href_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::timeout_=
        dav::prop_dav::lockdiscovery_dav::activelock_dav::locktoken_dav::href_=
         */ switch ( $ this -> _xmltree [ $ parserid ] ) { case 'dav::prop_dav::lockdiscovery_dav::activelock_' : // new element $ this -> _lock_ref = & $ this -> _lock [ $ parserid ] [ ] ; break ; case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::locktype_dav::write_' : $ this -> _lock_ref_cdata = & $ this -> _lock_ref [ 'locktype' ] ; $ this -> _lock_cdata = 'write' ; $ this -> _lock_cdata = & $ this -> _null ; break ; case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::lockscope_dav::exclusive_' : $ this -> _lock_ref_cdata = & $ this -> _lock_ref [ 'lockscope' ] ; $ this -> _lock_ref_cdata = 'exclusive' ; $ this -> _lock_ref_cdata = & $ this -> _null ; break ; case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::depth_' : $ this -> _lock_ref_cdata = & $ this -> _lock_ref [ 'depth' ] ; break ; case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::owner_dav::href_' : $ this -> _lock_ref_cdata = & $ this -> _lock_ref [ 'owner' ] ; break ; case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::timeout_' : $ this -> _lock_ref_cdata = & $ this -> _lock_ref [ 'timeout' ] ; break ; case 'dav::prop_dav::lockdiscovery_dav::activelock_dav::locktoken_dav::href_' : $ this -> _lock_ref_cdata = & $ this -> _lock_ref [ 'locktoken' ] ; break ; default : // handle unknown xml elements... $ this -> _lock_cdata = & $ this -> _lock_ref [ $ this -> _xmltree [ $ parserid ] ] ; } }
Private method _lock_startElement

Is needed by public method lock.

Mmethod will called by php xml_parse when a xml start element tag has been detected.
The xml tree will translated into a flat php array for easier access.
@param resource parser, string name, string attrs
@access private
Private method _lock_startElement