private void addAttribute(String name, Attributes atts) {
			if (currentAttributeMap == null)
				return;
			String type = atts.getValue("type");
			if (type == null) //This can happen if the type is defined inline within the attribute
			{
				pendingAttributeWithInlineType = name;
				return;
			}
			Variable attr = null;
			if ("int".equals(type))
				attr = new IntegerVariable(name,null);
			else if ("float".equals(type))
				attr = new DoubleVariable(name,null);
			else if ("boolean".equals(type))
				attr = new BooleanVariable(name,null);
			else if ("string".equals(type))
				attr = new StringVariable(name,null);
			else if (type.endsWith("SimpleType")) { //Handle later when all simple types have been parsed 
				Map<String, String> attsWithPendingType = pendingSimpleType.get(currentAttributeMap.getType());
				if (attsWithPendingType == null) {
					attsWithPendingType = new HashMap<String, String>();
					pendingSimpleType.put(currentAttributeMap.getType(), attsWithPendingType);
				}
				attsWithPendingType.put(name, type);
			}
			//Add new attribute to attribute map of current complex type
			if (attr != null) {
				currentAttributeMap.add(attr);
			}
		}