I am rendering an svg to a canvas (to save as png later).
    var svg = document.getElementById("mysvg");
    var svgData = new XMLSerializer().serializeToString( svg );  
    var canvas = <any>document.getElementById("canvas");
    var ctx = canvas.getContext( "2d" );
    var img = document.createElement( "img" );
    img.setAttribute( "src", "data:image/svg+xml;base64," + btoa( svgData ) );
    img.onload = function() {
        ctx.drawImage( img, 0, 0 );
        console.log( canvas.toDataURL( "image/png" ) );
    };
It works with base64 encoded images:
<image   x="10" y="10"  xlink:href="data:image/jpeg;base64, ...
But when using an url as xlink:href value it does not render the image to the canvas:
<image   x="10" y="10"  xlink:href="assets/myimage.png" />