docs: def svg(self, file, scale=1, module_color='#000', background=None,
              quiet_zone=4, xmldecl=True, svgns=True, title=None,
              svgclass='pyqrcode', lineclass='pyqrline', omithw=False,
              debug=False):
          """This method writes the QR code out as an SVG document. The
          code is drawn by drawing only the modules corresponding to a 1. They
          are drawn using a line, such that contiguous modules in a row
          are drawn with a single line.
  
          The *file* parameter is used to specify where to write the document
          to. It can either be a writable stream or a file path.
          
          The *scale* parameter sets how large to draw
          a single module. By default one pixel is used to draw a single
          module. This may make the code too small to be read efficiently.
          Increasing the scale will make the code larger. Unlike the png() method,
          this method will accept fractional scales (e.g. 2.5).
  
          Note, three things are done to make the code more appropriate for
          embedding in a HTML document. The "white" part of the code is actually
          transparent. The code itself has a class given by *svgclass* parameter. 
          The path making up the QR code uses the class set using the *lineclass*.
          These should make the code easier to style using CSS.
  
          By default the output of this function is a complete SVG document. If
          only the code itself is desired, set the *xmldecl* to false. This will
          result in a fragment that contains only the "drawn" portion of the code.
          Likewise, you can set the *title* of the document. The SVG name space
          attribute can be suppressed by setting *svgns* to False.
  
          When True the *omithw* indicates if width and height attributes should
          be omitted. If these attributes are omitted, a ``viewBox`` attribute
          will be added to the document.
  
          You can also set the colors directly using the *module_color* and
          *background* parameters. The *module_color* parameter sets what color to
          use for the data modules (the black part on most QR codes). The
          *background* parameter sets what color to use for the background (the
          white part on most QR codes). The parameters can be set to any valid
          SVG or HTML color. If the background is set to None, then no background
          will be drawn, i.e. the background will be transparent. Note, many color
          combinations are unreadable by scanners, so be careful.
  
          The *quiet_zone* parameter sets how wide the quiet zone around the code
          should be. According to the standard this should be 4 modules. It is
          left settable because such a wide quiet zone is unnecessary in many
          applications where the QR code is not being printed.
          
          Example:
              >>> code = pyqrcode.create('Hello. Uhh, can we have your liver?')
              >>> code.svg('live-organ-transplants.svg', 3.6)
              >>> code.svg('live-organ-transplants.svg', scale=4,
                           module_color='brown', background='0xFFFFFF')
          """
          builder._svg(self.code, self.version, file, scale=scale, 
                       module_color=module_color, background=background,
                       quiet_zone=quiet_zone, xmldecl=xmldecl, svgns=svgns, 
                       title=title, svgclass=svgclass, lineclass=lineclass,
                       omithw=omithw, debug=debug)