function getPaint(str, defs) {
    // if (str === 'none') {
    //     return;
    // }
    var urlMatch = defs && str && str.match(urlRegex);
    if (urlMatch) {
        var url = trim(urlMatch[1]);
        var def = defs[url];
        return def;
    }
    return str;
}
@param {string|XMLElement} xml
@param {Object} [opt]
@param {number} [opt.width] Default width if svg width not specified or is a percent value.
@param {number} [opt.height] Default height if svg height not specified or is a percent value.
@param {boolean} [opt.ignoreViewBox]
@param {boolean} [opt.ignoreRootClip]
@return {Object} result:
{
    root: Group, The root of the the result tree of zrender shapes,
    width: number, the viewport width of the SVG,
    height: number, the viewport height of the SVG,
    viewBoxRect: {x, y, width, height}, the declared viewBox rect of the SVG, if exists,
    viewBoxTransform: the {scale, position} calculated by viewBox and viewport, is exists.
}