nodes: 0, module; 1, function_definition; 2, function_name:sort; 3, parameters; 4, block; 5, identifier:self; 6, identifier:content; 7, expression_statement; 8, expression_statement; 9, if_statement; 10, return_statement; 11, comment:"""
          Sort suds object attributes based on ordering defined
          in the XSD type information.
          @param content: The content to sort.
          @type content: L{Object}
          @return: self
          @rtype: L{Typed}
          """; 12, assignment; 13, call; 14, block; 15, identifier:self; 16, identifier:v; 17, attribute; 18, identifier:isinstance; 19, argument_list; 20, expression_statement; 21, expression_statement; 22, identifier:content; 23, identifier:value; 24, identifier:v; 25, identifier:Object; 26, assignment; 27, assignment; 28, identifier:md; 29, attribute; 30, attribute; 31, call; 32, identifier:v; 33, identifier:__metadata__; 34, identifier:md; 35, identifier:ordering; 36, attribute; 37, argument_list; 38, identifier:self; 39, identifier:ordering; 40, attribute; 41, identifier:content; 42, identifier:real
code: def sort(self, content):
          """
          Sort suds object attributes based on ordering defined
          in the XSD type information.
          @param content: The content to sort.
          @type content: L{Object}
          @return: self
          @rtype: L{Typed}
          """
          v = content.value
          if isinstance(v, Object):
              md = v.__metadata__
              md.ordering = self.ordering(content.real)
          return self