<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def doShow(self, xml=0):
 		"""Shows the contents of our resultset."""


		if xml == 0:
			print 'Errorcode:', self.errorcode
			print 
			
			print 'Product information:'
			for key in self.product.keys():
				print '	 ', key.encode('UTF-8'),
				print '->', self.product[key].encode('UTF-8')
			print
			
			print 'Database information:'
			for key in self.database.keys():
				print '	 ', key.encode('UTF-8'),
				print'->', self.database[key].encode('UTF-8')
			print
			
			print 'Metadata:'
			for field in self.metadata.keys():
				print
				print '	  ', field.encode('UTF-8')
				for property in self.metadata[field]:
					print '		  ', property.encode('UTF-8'),
					print '->', self.metadata[field][property].encode('UTF-8') 
			print

			print 'Records:'
			for record in self.resultset:
				print
				for column in record:
					print '	  ', column.encode('UTF-8'),
					if type(record[column]) == UnicodeType:
						print '->', record[column].encode('UTF-8')
					else:
						print '->', record[column]

		else:
			tags = [
				'FMPXMLRESULT',
				'ERRORCODE',
				'PRODUCT',
				'DATABASE',
				'METADATA',
				'FIELD',
				'RESULTSET',
				'ROW',
				'COL',
				'DATA'
			]

			xml = self.data

			for tag in tags:
				xml = string.replace(xml, '></' + tag, '>\n</' + tag)
				xml = string.replace(xml, '><' + tag, '>\n<' + tag)

			print xml