code: protected function getPathPart(SimpleXMLElement $xmlElement, $onlyFilled){
  
  		$path = '';
  
  		if($xmlElement === null){
  			$xmlElement = $this->xmlDocument;
  		}
  
  		foreach($xmlElement->children() as $child){
  			$childName = $child->getName();
  			if(!empty($child['transform'])){
  				throw new \Exception('Transforms are currently not supported!');
  			}
  			if($childName === 'g'){
  				$path .= ' '.$this->getPathPart($child, $onlyFilled);
  			}
  			else{
  				if($onlyFilled && (string)$child['fill'] === 'none'){
  					continue;
  				}
  				if($childName === 'polygon'){
  					$path .= ' '.$this->getPathFromPolygon($child);
  				}
  				elseif($childName === 'rect'){
  					$path .= ' '.$this->getPathFromRect($child);
  				}
  				elseif($childName === 'circle'){
  					$path .= ' '.$this->getPathFromCircle($child);
  				}
  				elseif($childName === 'ellipse'){
  					$path .= ' '.$this->getPathFromEllipse($child);
  				}
  				elseif($childName === 'path'){
  					$pathPart = trim($child['d']);
  					if(substr($pathPart, 0, 1) === 'm'){
  						$pathPart = 'M'.substr($pathPart, 1);
  					}
  					$path .= ' '.$pathPart;
  				}
  			}
  		}
  
  		return trim($path);
  
  	}
docs: returns one single SVG path definition for all elements in the specified element
  
  @param  SimpleXMLElement $xmlElement group or svg element
  @param  boolean          $onlyFilled ignore non filled objects
  @return string                       SVG path definition