private void parseAttribute(String elementName, String attribute, String value) {
					switch (elementName) {
						case (XML_NODE_MAP_KEY): {
							// parse general map attributes
							switch (attribute) {
								case (XML_WIDTH_KEY): {
									result.setWidth(Integer.parseInt(value));
									break;
								}
								case (XML_HEIGHT_KEY): {
									result.setHeight(Integer.parseInt(value));
									break;
								}
								case (XML_TILE_WIDTH_KEY): {
									result.setTileWidth(Integer.parseInt(value));
									break;
								}
								case (XML_TILE_HEIGHT_KEY): {
									result.setTileHeight(Integer.parseInt(value));
									break;
								}
							}
							break;
						}
						case (XML_NODE_TILESET_KEY): {
							// parse tileset specific attributes
							switch (attribute) {
								case (XML_FIRST_GID_KEY): {
									firstGid = Integer.parseInt(value);
									break;
								}
							}
							break;
						}
						case (XML_NODE_IMAGE_KEY): {
							// parse tileset image specific attributes
							switch (attribute) {
								case (XML_TILESET_PATH_KEY): {
									tilesetPath = value;
									tilesetPath = tilesetPath.substring(tilesetPath.indexOf("resources"));
									break;
								}
								case (XML_WIDTH_KEY): {
									tilesetWidth = Integer.parseInt(value);
									break;
								}
								case (XML_HEIGHT_KEY): {
									tilesetHeight = Integer.parseInt(value);
									break;
								}
							}
							break;
						}
						case (XML_NODE_TILE_KEY): {
							// parse tileindex specific attributes
							tileIndex.add(Integer.parseInt(value));
							break;
						}
					}
				}