code: def toxml(cls):
      
      
      if cls._meta.abstract:
          raise Exception("You can not use toxml on abstract classes")
          
      def __xml__(self):
          """turn model object into xml recursively"""
          ser = RecursiveXmlSerializer()
          return ser.serialize([self])
      
      cls.add_to_class('objects', QuerySetManager(XmlSerializableQuerySet))
      cls.__xml__ = __xml__
      return cls
docs: adds an ``__xml__`` method to both the queryset as the model class.
      
      usage::
      
          from easymode.tree.xml.decorators import toxml
  
          @toxml
          class Foo(models.ModelAdmin):
              title = models.CharField(max_length=255)
              content = TextField()
  
          class Bar(models.ModelAdmin):
              foo = models.ForeignKey(Foo, related_name=bars)
  
              label = models.CharField(233)
  
      The ``Foo`` model has now gained a ``__xml__`` method on both itself as on the
      queryset it produces. Calling it will produce hierarchical xml, where all inverse
      relations are followed. (Except for manytomany fields, they are not supported).