예제 #1
0
	def genType(self,v):
		value = None
		if inspect.isclass(self._type) and issubclass(self._type,PrimitiveType):
			value = self._type.genType(v)
		elif hasattr(self._type,'__name__'):
			value = complextypes.convert(self._type.__name__,v)
			# Convert str to bool
			if value == 'true':
				value = True
			elif value == 'false':
				value = False
		return value
예제 #2
0
	def _findValues(self,name,type,xml):
		""" Private method to find the values of elements in the XML of input """
		elems = xml.getElementsByTagName(name)
		values = []
		for e in elems:
			if e.hasChildNodes and len(e.childNodes) > 0:
				v = None
				if inspect.isclass(type) and (issubclass(type,xmltypes.PrimitiveType) or isinstance(type,xmltypes.Array)):
					v = type.genType(e.childNodes[0].nodeValue)
				elif hasattr(type,'__name__') and (not issubclass(type,xmltypes.PrimitiveType) or not isinstance(type,xmltypes.Array)):
					v = complextypes.convert(type.__name__,e.childNodes[0].nodeValue)
				values.append(v)
			else:
				values.append(None)
		return values
예제 #3
0
	def _findValues(self,name,type,xml):
		""" Private method to find the values of elements in the XML of input """
		elems = xml.getElementsByTagName(name)
		values = []
		for e in elems:
			if e.hasChildNodes and len(e.childNodes) > 0:
				v = None
				if inspect.isclass(type) and (issubclass(type,xmltypes.PrimitiveType) or isinstance(type,xmltypes.Array)):
					v = type.genType(e.childNodes[0].nodeValue)
				elif hasattr(type,'__name__') and (not issubclass(type,xmltypes.PrimitiveType) or not isinstance(type,xmltypes.Array)):
					v = complextypes.convert(type.__name__,e.childNodes[0].nodeValue)
				values.append(v)
			else:
				values.append(None)
		return values