Thanks to the comments of @xuchunyang, it was easy enough to figure and answer to this question just for the sake of completion. the easy way is open ielm (M-x ielm), and split the buufer in Two, then on one ielm do:
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (require 'svg)
svg
ELISP> (find-file "test-buffer")
#<buffer test-buffer>
ELISP> ;; create the svg
ELISP> (setf svg (svg-create 400 400))
(svg
((width . 400)
(height . 400)
(version . "1.1")
(xmlns . "http://www.w3.org/2000/svg")))
ELISP> (svg-insert-image svg)
((width . 400)
(height . 400)
(version . "1.1")
(xmlns . "http://www.w3.org/2000/svg")
(:image . #<marker at 1 in test-buffer>))
ELISP> (svg-circle svg 200 200 50)
nil
ELISP> (svg-rectangle svg 100 100 200 200)
nil
ELISP> svg
(svg
((width . 400)
(height . 400)
(version . "1.1")
(xmlns . "http://www.w3.org/2000/svg")
(:image . #<marker at 1 in test-buffer>))
(circle
((cx . 200)
(cy . 200)
(r . 50)))
(rect
((width . 200)
(height . 200)
(x . 100)
(y . 100))))
the result is pretty awesome, not this draw, but to see how is easy is to create an svg archive in emacs and view the results

The svg package inuded in emacs is easy to read and to learn for use
ELISP> (info "(elisp) SVG Images")
svg.el
, usesvg-insert-image
, the picture is updated in realtime. – xuchunyang Nov 29 '18 at 11:29svg-insert-image
there. 2). For the second error, you need the newer version 0.1 of svg.el from Gnu Elpa, not the builtin one. – xuchunyang Nov 29 '18 at 13:26(info "(elisp) SVG Images")
– xuchunyang Nov 29 '18 at 17:04