code: def emit(self, ctx, modules, fd):
          
          if ctx.opts.sample_path is not None:
              path = ctx.opts.sample_path.split('/')
              if path[0] == '':
                  path = path[1:]
          else:
              path = []
  
          for (epos, etag, eargs) in ctx.errors:
              if error.is_error(error.err_level(etag)):
                  raise error.EmitError(
                      "sample-xml-skeleton plugin needs a valid module")
          self.doctype = ctx.opts.doctype
          if self.doctype not in ("config", "data"):
              raise error.EmitError("Unsupported document type: %s" %
                                    self.doctype)
          self.annots = ctx.opts.sample_annots
          self.defaults = ctx.opts.sample_defaults
          self.node_handler = {
              "container": self.container,
              "leaf": self.leaf,
              "anyxml": self.anyxml,
              "choice": self.process_children,
              "case": self.process_children,
              "list": self.list,
              "leaf-list": self.leaf_list
          }
          self.ns_uri = {}
          for yam in modules:
              self.ns_uri[yam] = yam.search_one("namespace").arg
          self.top = etree.Element(
              self.doctype,
              {"xmlns": "urn:ietf:params:xml:ns:netconf:base:1.0"})
          tree = etree.ElementTree(self.top)
          for yam in modules:
              self.process_children(yam, self.top, None, path)
          if sys.version > "3":
              fd.write(str(etree.tostring(tree, pretty_print=True,
                                          encoding="UTF-8",
                                          xml_declaration=True), "UTF-8"))
          elif sys.version > "2.7":
              tree.write(fd, encoding="UTF-8", pretty_print=True,
                         xml_declaration=True)
          else:
              tree.write(fd, pretty_print=True, encoding="UTF-8")
docs: Main control function.
  
          Set up the top-level parts of the sample document, then process
          recursively all nodes in all data trees, and finally emit the
          sample XML document.