# TMP_0_node.properties Mon Jul 03 16:11:36 EDT 2006
# Definition of "East Timor" at Administration Level 0 (Country)
#/*******************************************************************************
# * Copyright (c) 2006 IBM Corporation and others.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html
# *
# * Contributors:
# *     IBM Corporation - initial API and implementation
# *******************************************************************************/

# This is the name of the class that will interpret the rest of the file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.CountryNodePropertyFileSpecification
# The ISO-3166-1 alpha3 code for the country
ISOKEY = TMP

# The administration level of the graph data
ADMIN_LEVEL = 0

# This is the date range for which the values in this file are valid
# See http://purl.org/dc/terms/1.1/valid
VALID = start=1900-01-01;

# This is the source of the data
SOURCE = http://www.iso.org/iso/home.htm

# The file that contains the latitude/longitude polygon data for the node
SPATIAL_URI = platform:/plugin/org.eclipse.stem.data.geography/resources/data/geo/country/TMP/TMP_0_MAP.xml

# Format: Code = Name, ISO-3166-1 numeric code, Two letter code
TMP = East Timor, 626, TP