Index: /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/datasets/BruxellesDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/datasets/BruxellesDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/datasets/BruxellesDataSetHandler.java	(revision 28113)
@@ -18,9 +18,8 @@
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.Locale;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.be.BelgianDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
 import org.openstreetmap.josm.plugins.opendata.modules.be.bruxelles.BruxellesConstants;
 
@@ -70,8 +69,5 @@
 	public URL getLocalPortalURL() {
 		String basePortal = null;
-		String lang = Main.pref.get("language");
-		if (lang == null || lang.isEmpty()) {
-			lang = Locale.getDefault().toString();
-		}
+		String lang = OdUtils.getJosmLanguage();
 			
 		if (lang.startsWith("fr")) {
Index: /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/datasets/culture/BDHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/datasets/culture/BDHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/be.bruxelles/src/org/openstreetmap/josm/plugins/opendata/modules/be/bruxelles/datasets/culture/BDHandler.java	(revision 28113)
@@ -7,4 +7,8 @@
 public class BDHandler extends BruxellesDataSetHandler {
 
+	public BDHandler() {
+		getCsvHandler().setSeparator(",");
+	}
+	
 	@Override
 	public boolean acceptsFilename(String filename) {
@@ -19,11 +23,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvSeparator()
-	 */
-	@Override
-	public String getCsvSeparator() {
-		return ",";
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/be.datagovbe/src/org/openstreetmap/josm/plugins/opendata/modules/be/datagovbe/datasets/DataGovDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/be.datagovbe/src/org/openstreetmap/josm/plugins/opendata/modules/be/datagovbe/datasets/DataGovDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/be.datagovbe/src/org/openstreetmap/josm/plugins/opendata/modules/be/datagovbe/datasets/DataGovDataSetHandler.java	(revision 28113)
@@ -15,6 +15,4 @@
 //    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package org.openstreetmap.josm.plugins.opendata.modules.be.datagovbe.datasets;
-
-import java.net.URL;
 
 import org.openstreetmap.josm.data.projection.Projection;
@@ -58,11 +56,3 @@
 		return SOURCE_DATAGOVBE;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getLocalPortalURL()
-	 */
-	@Override
-	public URL getLocalPortalURL() {
-		return null;
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.cg41/src/org/openstreetmap/josm/plugins/opendata/modules/fr/cg41/datasets/Cg41DataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.cg41/src/org/openstreetmap/josm/plugins/opendata/modules/fr/cg41/datasets/Cg41DataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.cg41/src/org/openstreetmap/josm/plugins/opendata/modules/fr/cg41/datasets/Cg41DataSetHandler.java	(revision 28113)
@@ -2,5 +2,4 @@
 
 import java.net.MalformedURLException;
-import java.net.URL;
 
 import org.openstreetmap.josm.data.osm.Tag;
@@ -9,6 +8,4 @@
 
 public abstract class Cg41DataSetHandler extends FrenchDataSetHandler implements Cg41Constants {
-	
-	private int portalId;
 	
 	public Cg41DataSetHandler(int portalId, String nationalPath) {
@@ -36,6 +33,13 @@
 
 	private final void init(int portalId, String nationalPath) {
-		this.portalId = portalId;
 		setNationalPortalPath(nationalPath);
+		try {
+			if (portalId > 0) {
+				setLocalPortalURL(PORTAL_CG41 + portalId);
+			}
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}
+
 	}
 
@@ -63,14 +67,3 @@
 		return ICON_CG41_16;
 	}
-
-	public final URL getLocalPortalURL() {
-		try {
-			if (portalId > 0) {
-				return new URL(PORTAL_CG41 + portalId);
-			}
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/DataGouvDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/DataGouvDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/DataGouvDataSetHandler.java	(revision 28113)
@@ -17,8 +17,8 @@
 
 import java.net.MalformedURLException;
-import java.net.URL;
 
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.DataGouvFrConstants;
 
@@ -50,4 +50,5 @@
 		setNationalPortalPath(portalPath);
 		setSingleProjection(singleProjection);
+		setLicense(License.LOOL);
 	}
 
@@ -58,25 +59,4 @@
 	public String getSource() {
 		return SOURCE_DATAGOUVFR;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getLocalPortalURL()
-	 */
-	@Override
-	public URL getLocalPortalURL() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getLicenseURL()
-	 */
-	@Override
-	public URL getLicenseURL() {
-		try {
-			return new URL(FRENCH_PORTAL+"Licence-Ouverte-Open-Licence");
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
 	}
 	
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/administration/GeoFlaHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/administration/GeoFlaHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/administration/GeoFlaHandler.java	(revision 28113)
@@ -37,16 +37,9 @@
 		super();
 		setName("GEOFLA®");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.portals.fr.datagouvfr.datasets.DataGouvDataSetHandler#getLocalPortalURL()
-	 */
-	@Override
-	public URL getLocalPortalURL() {
+		getShpHandler().setPreferMultipolygonToSimpleWay(true);
 		try {
-			return new URL("http://professionnels.ign.fr/ficheProduitCMS.do?idDoc=6185461");
+			setLocalPortalURL("http://professionnels.ign.fr/ficheProduitCMS.do?idDoc=6185461");
 		} catch (MalformedURLException e) {
-			System.err.println(e.getMessage());
-			return null;
+			e.printStackTrace();
 		}
 	}
@@ -79,9 +72,4 @@
 	protected boolean isArrondissementFile(String filename) {
 		return acceptsShpFilename(filename, "ARRONDISSEMENT") || acceptsShpFilename(filename, "LIMITE_ARRONDISSEMENT");
-	}
-
-	@Override
-	public boolean preferMultipolygonToSimpleWay() {
-		return true;
 	}
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/culture/BibliothequesHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/culture/BibliothequesHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/culture/BibliothequesHandler.java	(revision 28113)
@@ -16,6 +16,4 @@
 package org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.culture;
 
-import java.nio.charset.Charset;
-
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -28,4 +26,5 @@
 		setName("Bibliothèques municipales");
 		setDownloadFileName("lieux de lecture_geoloc.txt");
+		getCsvHandler().setCharset(ISO8859_15);
 	}
 
@@ -41,11 +40,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCharset()
-	 */
-	@Override
-	public Charset getCsvCharset() {
-		return Charset.forName(ISO8859_15);
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/diplomatie/EtabAEFEHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/diplomatie/EtabAEFEHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/diplomatie/EtabAEFEHandler.java	(revision 28113)
@@ -26,4 +26,5 @@
 		setName("Établissements du réseau d'enseignement de l'AEFE");
 		setDownloadFileName("ETALAB_MAEE_Extraction_LDAP_geoloc_AEFE_2011-10-13.csv");
+		getCsvHandler().setSeparator(",");
 	}
 
@@ -44,11 +45,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvSeparator()
-	 */
-	@Override
-	public String getCsvSeparator() {
-		return ",";
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/ecologie/AssainissementHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/ecologie/AssainissementHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/ecologie/AssainissementHandler.java	(revision 28113)
@@ -30,4 +30,5 @@
 		super("assainissement-collectif-30381843");
 		setName("Assainissement collectif");
+		getSpreadSheetHandler().setSheetNumber(1);
 	}
 
@@ -40,12 +41,4 @@
 	public void updateDataSet(DataSet ds) {
 		// TODO Auto-generated method stub
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getSheetNumber()
-	 */
-	@Override
-	public int getSheetNumber() {
-		return 1;
 	}
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/Etab1er2ndDegreHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/Etab1er2ndDegreHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/Etab1er2ndDegreHandler.java	(revision 28113)
@@ -16,18 +16,31 @@
 package org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.education;
 
-import java.nio.charset.Charset;
-
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.DataGouvDataSetHandler;
 
 public class Etab1er2ndDegreHandler extends DataGouvDataSetHandler {
 
+	private class EtabCsvHandler extends DefaultCsvHandler {
+		
+		public EtabCsvHandler() {
+			setCharset(ISO8859_15);
+			setHandlesProjection(true);
+		}
+		
+		@Override
+		public LatLon getCoor(EastNorth en, String[] fields) {
+			return getLatLonByDptCode(en, fields[0].substring(0, 3), false);
+		}
+	}
+	
 	public Etab1er2ndDegreHandler() {
 		super("Géolocalisation-des-établissements-d'enseignement-du-premier-degré-et-du-second-degré-du-ministère-d-30378093");
 		setName("Établissements d'enseignement du premier degré et du second degré");
 		setDownloadFileName("MENJVA_etab_geoloc.csv");
+		setCsvHandler(new EtabCsvHandler());
 	}
 	
@@ -53,27 +66,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#handlesCsvProjection()
-	 */
-	@Override
-	public boolean handlesSpreadSheetProjection() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCoor(org.openstreetmap.josm.data.coor.EastNorth, java.lang.String[])
-	 */
-	@Override
-	public LatLon getSpreadSheetCoor(EastNorth en, String[] fields) {
-		return getLatLonByDptCode(en, fields[0].substring(0, 3), false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCharset()
-	 */
-	@Override
-	public Charset getCsvCharset() {
-		return Charset.forName(ISO8859_15);
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/EtabSupHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/EtabSupHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/education/EtabSupHandler.java	(revision 28113)
@@ -24,8 +24,17 @@
 public class EtabSupHandler extends DataGouvDataSetHandler {
 
+	private class EtabSupCsvHandler extends InternalCsvHandler {
+		@Override
+		public LatLon getCoor(EastNorth en, String[] fields) {
+			// X/Y sont inversees dans le fichier
+			return wgs84.eastNorth2latlon(new EastNorth(en.north(), en.east()));
+		}
+	}
+	
 	public EtabSupHandler() {
 		super("Etablissements-d'enseignement-supérieur-30382046", wgs84);
 		setName("Établissements d'enseignement supérieur");
 		setDownloadFileName("livraison ETALAB 28 11 2011.xls");
+		setCsvHandler(new EtabSupCsvHandler());
 	}
 
@@ -42,12 +51,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.portals.fr.datagouvfr.datasets.DataGouvDataSetHandler#getSpreadSheetCoor(org.openstreetmap.josm.data.coor.EastNorth, java.lang.String[])
-	 */
-	@Override
-	public LatLon getSpreadSheetCoor(EastNorth en, String[] fields) {
-		// X/Y sont inversees dans le fichier
-		return wgs84.eastNorth2latlon(new EastNorth(en.north(), en.east()));
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/hydrologie/EauxDeSurfaceHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/hydrologie/EauxDeSurfaceHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/hydrologie/EauxDeSurfaceHandler.java	(revision 28113)
@@ -29,4 +29,5 @@
 
 import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.plugins.opendata.core.io.archive.DefaultZipHandler;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.DataGouvDataSetHandler;
 import org.openstreetmap.josm.tools.Pair;
@@ -65,4 +66,5 @@
 	public EauxDeSurfaceHandler() {
 		setName("Eaux de surface");
+		setZipHandler(new InternalZipHandler());
 	}
 	
@@ -123,25 +125,24 @@
 		return new Pair<String, URL>(a.name, new URL("http://www.rapportage.eaufrance.fr/sites/default/files/SIG/FR"+a.code+"_SW.zip"));
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#notifyTempFileWritten(java.io.File)
-	 */
-	@Override
-	public void notifyTempFileWritten(File file) {
-		if (file.getName().matches(SHP_PATTERN.replace("(.*)", "F")+"\\.prj")) { // Adour-Garonne .prj files cannot be parsed because they do not contain quotes... 
-			try {
-				BufferedReader reader = new BufferedReader(new FileReader(file));
-				String line = reader.readLine();
-				reader.close();
-				if (!line.contains("\"")) {
-					for (String term : new String[]{"GCS_ETRS_1989", "D_ETRS_1989", "GRS_1980", "Greenwich", "Degree"}) {
-						line = line.replace(term, "\""+term+"\"");
+	
+	private class InternalZipHandler extends DefaultZipHandler {
+		@Override
+		public void notifyTempFileWritten(File file) {
+			if (file.getName().matches(SHP_PATTERN.replace("(.*)", "F")+"\\.prj")) { // Adour-Garonne .prj files cannot be parsed because they do not contain quotes... 
+				try {
+					BufferedReader reader = new BufferedReader(new FileReader(file));
+					String line = reader.readLine();
+					reader.close();
+					if (!line.contains("\"")) {
+						for (String term : new String[]{"GCS_ETRS_1989", "D_ETRS_1989", "GRS_1980", "Greenwich", "Degree"}) {
+							line = line.replace(term, "\""+term+"\"");
+						}
+						BufferedWriter writer = new BufferedWriter(new FileWriter(file));
+						writer.write(line);
+						writer.close();
 					}
-					BufferedWriter writer = new BufferedWriter(new FileWriter(file));
-					writer.write(line);
-					writer.close();
+				} catch (Exception e) {
+					e.printStackTrace();
 				}
-			} catch (Exception e) {
-				e.printStackTrace();
 			}
 		}
Index: /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/transport/PassageNiveauHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/transport/PassageNiveauHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.datagouvfr/src/org/openstreetmap/josm/plugins/opendata/modules/fr/datagouvfr/datasets/transport/PassageNiveauHandler.java	(revision 28113)
@@ -16,6 +16,4 @@
 package org.openstreetmap.josm.plugins.opendata.modules.fr.datagouvfr.datasets.transport;
 
-import java.nio.charset.Charset;
-
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -28,4 +26,5 @@
 		setName("Passages à niveau");
 		setDownloadFileName("passage_a_niveau.csv");
+		getCsvHandler().setCharset(ISO8859_15);
 	}
 
@@ -41,11 +40,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCharset()
-	 */
-	@Override
-	public Charset getCsvCharset() {
-		return Charset.forName(ISO8859_15);
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.lemans/src/org/openstreetmap/josm/plugins/opendata/modules/fr/lemans/datasets/LeMansDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.lemans/src/org/openstreetmap/josm/plugins/opendata/modules/fr/lemans/datasets/LeMansDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.lemans/src/org/openstreetmap/josm/plugins/opendata/modules/fr/lemans/datasets/LeMansDataSetHandler.java	(revision 28113)
@@ -23,10 +23,9 @@
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.lemans.LeMansConstants;
 import org.openstreetmap.josm.tools.Pair;
 
 public abstract class LeMansDataSetHandler extends FrenchDataSetHandler implements LeMansConstants {
-	
-	private String uuid;
 	
 	private String kmzUuid;
@@ -58,5 +57,12 @@
 
 	private final void init(String uuid) {
-		this.uuid = uuid;
+		try {
+			setLicense(License.ODbL);
+			if (uuid != null && !uuid.isEmpty()) {
+				setLocalPortalURL(PORTAL + "page.do?t=2&uuid=" + uuid);
+			}
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}
 	}
 		
@@ -73,20 +79,9 @@
 		return SOURCE_LE_MANS;
 	}
-
-	public final URL getLocalPortalURL() {
-		try {
-			if (uuid != null && !uuid.isEmpty()) {
-				return new URL(PORTAL + "page.do?t=2&uuid=" + uuid);
-			}
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
 	
 	/* (non-Javadoc)
 	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getLicenseURL()
 	 */
-	@Override
+	/*@Override
 	public URL getLicenseURL() {
 		try {
@@ -96,6 +91,6 @@
 		}
 		return null;
-	}
-	
+	}*/
+
 	/* (non-Javadoc)
 	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getDataURLs()
Index: /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisLicense.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisLicense.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisLicense.java	(revision 28113)
@@ -0,0 +1,30 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.modules.fr.paris;
+
+import org.openstreetmap.josm.plugins.opendata.core.licenses.ODbL;
+
+public class ParisLicense extends ODbL {
+
+	public ParisLicense() {
+		// TODO: Paris license
+		/*try {
+			setURL(PORTAL + "/la-licence", "fr");
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}*/
+	}
+}
Index: /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisDataSetHandler.java	(revision 28113)
@@ -22,4 +22,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.paris.ParisConstants;
+import org.openstreetmap.josm.plugins.opendata.modules.fr.paris.ParisLicense;
 
 public abstract class ParisDataSetHandler extends FrenchDataSetHandler implements ParisConstants {
@@ -53,4 +54,12 @@
 	private final void init(int documentId) {
 		this.documentId = documentId;
+		setLicense(new ParisLicense());
+		try {
+			if (documentId > 0) {
+				setLocalPortalURL(PORTAL + "jsp/site/Portal.jsp?document_id="+documentId + "&portlet_id="+portletId);
+			}
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}
 	}
 
@@ -69,15 +78,4 @@
 	public String getLocalPortalIconName() {
 		return ICON_PARIS_24;
-	}
-
-	public final URL getLocalPortalURL() {
-		try {
-			if (documentId > 0) {
-				return new URL(PORTAL + "jsp/site/Portal.jsp?document_id="+documentId + "&portlet_id="+portletId);
-			}
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
 	}
 	
Index: /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/urbanisme/SanisettesHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/urbanisme/SanisettesHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/urbanisme/SanisettesHandler.java	(revision 28113)
@@ -32,4 +32,5 @@
 		super(93);
 		setName("Sanisettes");
+		getShpHandler().setCheckNodeProximity(true);
 	}
 
@@ -116,11 +117,3 @@
 		return PORTAL+"hn/sanisettes.zip";
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#checkShpNodeProximity()
-	 */
-	@Override
-	public boolean checkShpNodeProximity() {
-		return true;
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/SncfLicense.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/SncfLicense.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/SncfLicense.java	(revision 28113)
@@ -0,0 +1,31 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.modules.fr.sncf;
+
+import java.net.MalformedURLException;
+
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
+
+public class SncfLicense extends License {
+
+	public SncfLicense() {
+		try {
+			setURL("http://test.data-sncf.com/licence", "fr");
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}
+	}
+}
Index: /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/datasets/EquipementsHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/datasets/EquipementsHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/datasets/EquipementsHandler.java	(revision 28113)
@@ -1,2 +1,17 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package org.openstreetmap.josm.plugins.opendata.modules.fr.sncf.datasets;
 
@@ -8,6 +23,15 @@
 public class EquipementsHandler extends SncfDataSetHandler {
 
+	private class LambertIICsvHandler extends InternalCsvHandler {
+		@Override
+		public LatLon getCoor(EastNorth en, String[] fields) {
+			// Lambert II coordinates offset by 2000000 (see http://fr.wikipedia.org/wiki/Projection_conique_conforme_de_Lambert#Projections_officielles_en_France_métropolitaine)
+			return super.getCoor(new EastNorth(en.getX(), en.getY()-2000000), fields);
+		}
+	}
+	
 	public EquipementsHandler() {
 		super("equipementsgares");
+		setCsvHandler(new LambertIICsvHandler());
 		setSingleProjection(lambert4Zones[1]); // Lambert II
 	}
@@ -25,12 +49,3 @@
 		}
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler#getSpreadSheetCoor(org.openstreetmap.josm.data.coor.EastNorth, java.lang.String[])
-	 */
-	@Override
-	public LatLon getSpreadSheetCoor(EastNorth en, String[] fields) {
-		// Lambert II coordinates offset by 2000000 (see http://fr.wikipedia.org/wiki/Projection_conique_conforme_de_Lambert#Projections_officielles_en_France_métropolitaine)
-		return super.getSpreadSheetCoor(new EastNorth(en.getX(), en.getY()-2000000), fields);
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/datasets/SncfDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/datasets/SncfDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.sncf/src/org/openstreetmap/josm/plugins/opendata/modules/fr/sncf/datasets/SncfDataSetHandler.java	(revision 28113)
@@ -1,14 +1,27 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package org.openstreetmap.josm.plugins.opendata.modules.fr.sncf.datasets;
 
 import java.net.MalformedURLException;
-import java.net.URL;
 
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.sncf.SncfConstants;
+import org.openstreetmap.josm.plugins.opendata.modules.fr.sncf.SncfLicense;
 
 public abstract class SncfDataSetHandler extends FrenchDataSetHandler implements SncfConstants {
-	
-	private String portalId;
 	
 	public SncfDataSetHandler(String portalId) {
@@ -45,5 +58,12 @@
 	
 	private final void init(String portalId) {
-		this.portalId = portalId;
+		setLicense(new SncfLicense());
+		if (portalId != null && !portalId.isEmpty()) {
+			try {
+				setLocalPortalURL(PORTAL + portalId);
+			} catch (MalformedURLException e) {
+				e.printStackTrace();
+			}
+		}
 	}
 
@@ -71,27 +91,3 @@
 		return ICON_16;
 	}
-
-	public final URL getLocalPortalURL() {
-		try {
-			if (portalId != null) {
-				return new URL(PORTAL + portalId);
-			}
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getLicenseURL()
-	 */
-	@Override
-	public URL getLicenseURL() {
-		try {
-			return new URL("http://test.data-sncf.com/licence");
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/ToulouseConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/ToulouseConstants.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/ToulouseConstants.java	(revision 28113)
@@ -35,5 +35,5 @@
 	 * Portal
 	 */
-	public static final String PORTAL = "http://data.grandtoulouse.fr/les-donnees/-/opendata/card/";
+	public static final String PORTAL = "http://data.grandtoulouse.fr";
 
 	/**
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/ToulouseLicense.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/ToulouseLicense.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/ToulouseLicense.java	(revision 28113)
@@ -0,0 +1,30 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse;
+
+import org.openstreetmap.josm.plugins.opendata.core.licenses.ODbL;
+
+public class ToulouseLicense extends ODbL implements ToulouseConstants {
+
+	public ToulouseLicense() {
+		// TODO: Toulouse license
+		/*try {
+			setURL(PORTAL + "/la-licence", "fr");
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}*/
+	}
+}
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/ToulouseDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/ToulouseDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/ToulouseDataSetHandler.java	(revision 28113)
@@ -1,15 +1,27 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets;
 
 import java.net.MalformedURLException;
-import java.net.URL;
 
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.fr.FrenchDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.ToulouseConstants;
+import org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.ToulouseLicense;
 
 public abstract class ToulouseDataSetHandler extends FrenchDataSetHandler implements ToulouseConstants {
-	
-	private int portalId;
-	private String wikiPage;
 	
 	public ToulouseDataSetHandler(int portalId) {
@@ -46,5 +58,15 @@
 	
 	private final void init(int portalId) {
-		this.portalId = portalId;
+		try {
+			setLicense(new ToulouseLicense());
+			if (portalId > 0) {
+				String url = PORTAL + "/les-donnees/-/opendata/card/" + portalId + "--";
+				setLocalPortalURL(url);
+				//setLicenseURL(url+"/license");
+				setDataURL(url+"/resource/document");
+			}
+		} catch (MalformedURLException e) {
+			e.printStackTrace();
+		}
 	}
 
@@ -72,60 +94,14 @@
 		return ICON_CROIX_16;
 	}
-
-	public final URL getLocalPortalURL() {
-		try {
-			if (portalId > 0) {
-				return new URL(PORTAL + portalId + "--");
-			}
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getLicenseURL()
-	 */
-	@Override
-	public URL getLicenseURL() {
-		try {
-			return new URL(getLocalPortalURL().toString()+"/license");
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getDataURL()
-	 */
-	@Override
-	public URL getDataURL() {
-		try {
-			return new URL(getLocalPortalURL().toString()+"/resource/document");
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.fr.opendata.datasets.AbstractDataSetHandler#getWikiURL()
-	 */
-	@Override
-	public URL getWikiURL() {
-		try {
-			if (wikiPage != null && !wikiPage.isEmpty()) {
-				return new URL(WIKI + "/" + wikiPage);
-			}
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
 	
 	protected final void setWikiPage(String wikiPage) {
-		this.wikiPage = wikiPage.replace(" ", "_");
-		setName(wikiPage.replace("_", " "));
+		if (wikiPage != null && !wikiPage.isEmpty()) {
+			setName(wikiPage.replace("_", " "));
+			try {
+				setWikiURL(WIKI + "/" + wikiPage.replace(" ", "_"));
+			} catch (MalformedURLException e) {
+				e.printStackTrace();
+			}
+		}
 	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ChantiersPonctuelsHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ChantiersPonctuelsHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ChantiersPonctuelsHandler.java	(revision 28113)
@@ -16,5 +16,4 @@
 package org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets.transport;
 
-import java.nio.charset.Charset;
 
 public class ChantiersPonctuelsHandler extends ChantiersHandler {
@@ -22,4 +21,5 @@
 	public ChantiersPonctuelsHandler() {
 		super(14071, "Chantiers en cours (ponctuel)");
+		getCsvHandler().setCharset(ISO8859_15);
 	}
 
@@ -28,11 +28,3 @@
 		return acceptsCsvKmzTabFilename(filename, "Chantiers_Ponctuels");
 	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCharset()
-	 */
-	@Override
-	public Charset getCsvCharset() {
-		return Charset.forName(ISO8859_15);
-	}
 }
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/PistesCyclablesHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/PistesCyclablesHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/PistesCyclablesHandler.java	(revision 28113)
@@ -16,11 +16,4 @@
 package org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets.transport;
 
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaQueryType.NODE;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaQueryType.WAY;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.NODE_RELATION;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.RELATION_WAY;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.WAY_NODE;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.WAY_RELATION;
-
 import java.util.Arrays;
 import java.util.Collection;
@@ -31,5 +24,9 @@
 import org.openstreetmap.josm.data.osm.IPrimitive;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi;
 import org.openstreetmap.josm.plugins.opendata.modules.fr.toulouse.datasets.ToulouseDataSetHandler;
+
+import static org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi.OaQueryType.*;
+import static org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi.OaRecurseType.*;
 
 public class PistesCyclablesHandler extends ToulouseDataSetHandler {
@@ -65,9 +62,9 @@
 	@Override
 	protected String getOverpassApiQueries(String bbox, String... conditions) {
-		return oaQuery(bbox, NODE, conditions) + "\n" + 
-				oaRecurse(NODE_RELATION, RELATION_WAY, WAY_NODE) + "\n" +
-				oaQuery(bbox, WAY, conditions) + "\n" +
-				oaRecurse(WAY_NODE, "nodes") + "\n" +
-				oaRecurse(WAY_RELATION);
+		return OverpassApi.query(bbox, NODE, conditions) + "\n" + 
+				OverpassApi.recurse(NODE_RELATION, RELATION_WAY, WAY_NODE) + "\n" +
+				OverpassApi.query(bbox, WAY, conditions) + "\n" +
+				OverpassApi.recurse(WAY_NODE, "nodes") + "\n" +
+				OverpassApi.recurse(WAY_RELATION);
 	}
 
Index: /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ReseauTisseoHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ReseauTisseoHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/modules/fr.toulouse/src/org/openstreetmap/josm/plugins/opendata/modules/fr/toulouse/datasets/transport/ReseauTisseoHandler.java	(revision 28113)
@@ -34,5 +34,5 @@
 		setName("Réseau Tisséo (Métro, Bus, Tram)");
 		setCategory(CAT_TRANSPORT);
-		setSkipXsdValidationInZipReading(true);
+		getZipHandler().setSkipXsdValidation(true);
 	}
 
Index: /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-1.0-fr.htm
===================================================================
--- /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-1.0-fr.htm	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-1.0-fr.htm	(revision 28113)
@@ -0,0 +1,1474 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<title>Open Database License 1.0 | Veni, Vidi, Libri</title>
+<style type="text/css">
+/* ===== Global =================================== */
+* { 
+    margin:  0;
+    padding: 0;
+    border:  0;
+  } 
+ 
+body {  
+    font-family: sans-serif;
+     }
+/* ===== page =================================== */
+
+#page {
+    clear: both;
+    }
+
+.nofloat { clear: both; }
+
+a { color: #b93615; }
+li { list-style-position: inside;}
+/* ===== contenu ============================= */
+/* taille en fonction du nb de colonnes */
+body.sidebar-left #contenu {
+    margin-left: -289px;
+    }
+body.sidebar-left #recentre {
+    margin-left: 289px;
+    margin-right: 24px;
+    }
+
+body.sidebar-right #contenu {
+    margin-right: -230px;
+    }
+body.sidebar-right #recentre {
+    margin-right: 224px;
+    margin-left: 20px;
+    }
+
+body.sidebars #contenu {
+    margin-left: -289px;
+    margin-right: -230px;
+    }
+body.sidebars #recentre {
+    margin-left: 289px;
+    margin-right: 224px;
+    }
+
+/* === */ 
+
+#contenu {
+    float:left;
+    width: 100%;
+    /* max-width: 800px;  */
+    line-height: 1.4em;
+    color: #383838;
+    text-align: justify;
+    }
+
+#recentre {
+    padding-left: 30px;
+    padding-right: 30px;
+    padding-top: 0.7em;
+    }
+
+#contenu p , #contenu ul, #contenu ol {
+    margin-bottom: 1em;
+    }
+
+#contenu a.new { 
+    color: #f00; 
+    text-decoration: none; 
+}
+
+#texte {
+    padding-bottom: 100px;
+    border-bottom: 1px dotted #d0d0d0;
+    }
+
+.encadre {
+    border: 1px dotted #ccc;
+    background: #ffefdf;
+    }
+
+/* ===== Les contenus speciaux ===== */
+#texte .field {
+    margin-bottom: 2em;
+    }
+#texte .field-label {
+    margin: 0.5em 0;
+    padding-bottom: 2px;
+    font-size: 1.6em;
+    font-weight: normal;
+    border-bottom: 1px solid #ccc;
+    }
+
+.book-navigation .menu {
+    padding-left: 60px;
+    background: url(img/livre.png) no-repeat left 1em;
+    padding-bottom: 1em;
+    border-top: 1px solid #ccc;
+    }
+.book-navigation .page-links {
+    border-top: 1px solid #ccc;
+    border-bottom: 1px solid #ccc;
+    }
+
+.terms .links li {
+    background: url(img/tag.gif) no-repeat left;
+    padding-left: 17px;
+    padding-top: 1px;
+    }
+/* ===== titres ===== */
+#contenu h1, #contenu h2, #contenu h3, 
+    #contenu h4, #contenu h5, #contenu h6 {
+    margin: 1.2em 0 0.5em;
+    padding-bottom: 2px;
+    text-align: justify;
+    font-weight: normal;
+    color: #000;
+    border-bottom: 1px solid #ccc;
+    line-height: 1.2em;
+    }
+
+#contenu h1 {   font-size: 1.8em; }
+#contenu h2 {   font-size: 1.6em; }
+#contenu h3 {   font-size: 1.4em; }
+#contenu h4 {   font-size: 1.2em;  font-weight: bold; }
+#contenu h5 {   font-size: 1em;    font-weight: bold; }
+#contenu h6 {   font-size: 0.8em;  font-weight: bold; }
+/* ===== styles particuliers (pre, tableaux, ... ) ===== */
+pre {
+    background: #f5f5f5;
+    border: #ccc 1px dashed;
+    line-height: 1.6em;
+    padding-left: 0.3em;
+    }
+
+table { 
+    border: 1px solid #888;
+    border-collapse: collapse;
+    margin-bottom: 1em;
+    }
+td, th {
+    border: 1px solid #888;
+    padding: 3px 5px;
+    }
+th { background-color: #f5f5f5; }
+
+hr { 
+    height: 1px;
+    background-color: #ccc;
+    color: #ccc;
+    margin-bottom: 1em;
+    }
+blockquote {
+    background: #f5f5f5;
+    padding: 0.5em 1em 0.5em 1em;
+    border: 1px solid #ccc;
+    margin-bottom: 1em;
+    }
+
+#contenu li li {
+    margin-left: 1em;
+    }
+#contenu li ul, #contenu li ol {
+    margin-bottom: 0;
+    }
+</style>
+</head>
+<body class="sidebar-left tableHeader-processed">
+	<div id="page">
+		<div id="container">
+			<div id="contenu">
+				<div id="recentre">
+					<h2>Open Database License 1.0</h2>
+					<div id="texte">
+						<div id="node-61" class="node">
+							<div class="content clear-block">
+								<div class="field field-license-txt">
+									<p>
+										Cette licence est une traduction de l'<a
+											href="http://www.opendatacommons.org/licenses/odbl/1.0/"
+											class="bb-url ext">Open Database License</a><span
+											class="ext"></span> (ODbL) anglaise fournie afin de faciliter
+										votre compréhension de la licence : seule la version anglaise
+										fait foi.
+									</p>
+
+									<blockquote>
+										<h3 id="Avertissements">
+											<a name="Avertissements">Avertissements</a>
+										</h3>
+
+										<p>OPEN DATA COMMONS N'EST PAS UN CABINET D'AVOCATS ET NE
+											FOURNIT PAS DE SERVICES JURIDIQUES. LA PUBLICATION DE LA
+											PRÉSENTE LICENCE NE CRÉE AUCUNE RELATION JURIDIQUE ENTRE LES
+											PARTIES ET CREATIVE COMMONS. CREATIVE COMMONS MET A
+											DISPOSITION CETTE LICENCE EN L'ÉTAT, À SEULE FIN
+											D'INFORMATION. CREATIVE COMMONS NE DONNE AUCUNE GARANTIE
+											CONCERNANT LES INFORMATIONS FOURNIES ET DÉCLINE TOUTE
+											RESPONSABILITÉ POUR LES DOMMAGES RÉSULTANT DE LEUR
+											UTILISATION.</p>
+
+										<p>Open Data Commons n'est pas un cabinet d'avocats et ne
+											fournit pas de services juridiques.</p>
+
+										<p>Open Data Commons n'a pas de relation formelle avec
+											vous. Votre réception de ce document ne crée aucune relation
+											juridique entre les parties et Open Data Commons. Faites vous
+											accompagner par un conseil qualifié avant tout usage de ce
+											document.</p>
+
+										<p>Absence de garantie et exclusion de responsabilité pour
+											tout dommage. Cette information est fournie en l'état, et ce
+											site ne donne aucune garantie concernant les informations
+											fournies et décline toute responsabilité pour les dommages
+											résultant de leur utilisation.</p>
+
+										<p></p>
+									</blockquote>
+									<p></p>
+
+									<p></p>
+									<h2 id="La_Licence_ODbL">
+										<a name="La_Licence_ODbL">La Licence ODbL</a>
+									</h2>
+									<p></p>
+
+									<p></p>
+									<h3 id="Stipulations_liminaires">
+										<a name="Stipulations_liminaires">Stipulations liminaires</a>
+									</h3>
+									<p></p>
+
+									<p>La licence ODbL (Open Database License) est un contrat
+										de licence ayant pour objet d’autoriser les utilisateurs à
+										partager, modifier et utiliser librement la présente Base de
+										données tout en maintenant ces mêmes libertés pour les autres.
+										De nombreuses bases de données étant protégées par des droits
+										d'auteur, les présentes règles ont pour objet de céder ces
+										droits. Certains États, principalement au sein de l’Union
+										européenne, prévoient des droits spécifiques régissant les
+										bases de données, de ce fait ces droits sont également
+										concernés par la licence ODbL. Enfin, l'ODbL est aussi un
+										contrat en ce que les utilisateurs de la présente Base de
+										données s’engagent à respecter certaines obligations en
+										contrepartie de l’autorisation d’accéder à ladite Base de
+										données.</p>
+
+									<p>Les bases de données peuvent proposer une grande
+										diversité du contenu (supports visuels, audiovisuels et audio
+										dans une seule et même base de données, par exemple), de sorte
+										que la licence ODbL régit exclusivement les droits liés à la
+										Base de données et non chaque élément du contenu de la Base de
+										données pris séparément. Les Cédants de licences doivent
+										associer la licence ODbL à une autre licence relative au
+										contenu et ce, sous réserve que l’ensemble dudit contenu soit
+										régi par un ensemble unique de droits. Si le contenu est régi
+										par divers droits distincts, les Cédants sont tenus d'indiquer
+										les droits qui régissent chaque élément du contenu,
+										individuellement ou de toute autre manière explicitant le
+										droit applicable.</p>
+
+									<p>
+										Le contenu d’une base de données, ou la base de données
+										elle-même, peut parfois être régi par des droits autres que
+										ceux visés aux présentes clauses (tels que des contrats
+										privés, une marque déposée protégeant un nom ou des droits
+										afférents à la protection de la vie privée&nbsp;/&nbsp;des
+										données portant sur des informations relatives au contenu).
+										Par conséquent, veillez à consulter tout autre document ou à
+										vous informer de tout autre droit avant d’entreprendre toute
+										activité non régie par la présente <a class="glossary-term"
+											href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+											title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+									</p>
+
+									<hr class="bb-hr"/>
+
+										<p>Le Cédant (tel que défini ci-après)</p>
+
+										<p>et</p>
+
+										<p>Vous (tel que défini ci-après)</p>
+
+										<p>convenez de ce qui suit :</p>
+
+										<p></p>
+										<h3 id="Definition_des_termes_commencant_par_une_majuscule">
+											<a name="10_Dfinition_des_termes_commenant_par_une_majuscule">1.0
+												Définition des termes commençant par une majuscule</a>
+										</h3>
+										<p></p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Base de données
+												collaborative</span>&nbsp;»&nbsp;: désigne la présente Base de
+											données sous sa forme non modifiée en tant que partie d’un
+											ensemble de bases de données toutes indépendantes rassemblées
+											pour former un ensemble collectif. Une création qui constitue
+											une Base de données collaborative ne saurait être considérée
+											comme une Base de données dérivée.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Transférer</span>&nbsp;»&nbsp;:
+											désigne, sous sa forme verbale, Utiliser la Base de données,
+											une Base de données dérivée ou la Base de données en tant que
+											partie d’une Base de données collaborative de toute manière
+											autorisant une Personne à créer ou recevoir des copies de la
+											Base de données ou d’une Base de données dérivée. Le fait de
+											Transférer n’inclut pas l’interaction d’un utilisateur avec
+											un réseau informatique ni la création ou l’Utilisation d’une
+											Création en l’absence de transfert d’une copie de la Base de
+											données ou d’une Base de données dérivée.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Contenu</span>&nbsp;»&nbsp;:
+											désigne le contenu de la présente Base de données, soit les
+											informations, les œuvres indépendantes et tout autre matériel
+											intégré dans la Base de données. A titre d’exemple, le
+											contenu de la Base de données peut être des données
+											factuelles ou des œuvres comme des supports visuels,
+											audiovisuels ou audio, ou des textes.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Base de données</span>&nbsp;»&nbsp;:
+											désigne un ensemble d'informations (le Contenu) organisés de
+											manière systématique ou méthodique et accessibles
+											individuellement par voie électronique ou de toute autre
+											manière prévue en vertu de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Directive
+												relative aux bases de données</span>&nbsp;»&nbsp;: désigne la
+											Directive 96/9/CE du Parlement européen et du Conseil du 11
+											mars 1996 concernant la protection juridique des bases de
+											données dans sa version amendée ou révisée.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Droits
+												afférents à la base de données&nbsp;</span>»&nbsp;: désigne les
+											droits découlant de ceux prévus au Chapitre III («&nbsp;sui
+											generis&nbsp;») de la Directive relative aux bases de données
+											(dans sa version amendée et transposée par les États
+											membres), y compris l'Extraction et la Réutilisation de la
+											totalité ou d’une Partie Substantielle du Contenu, ainsi que
+											tout autre droit similaire existant dans la juridiction
+											compétente au titre de l’Article 10.4.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Base de données
+												dérivée</span>&nbsp;»&nbsp;: désigne une base de données reposant
+											sur la Base de données, y compris toute traduction,
+											adaptation, arrangement, modification ou toute autre
+											altération de la Base de données ou d’une Partie
+											Substantielle du Contenu, y compris, de manière non
+											limitative, l’Extraction ou la Réutilisation de la totalité
+											ou d’une Partie Substantielle du Contenu dans une nouvelle
+											Base de données.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Extraction</span>&nbsp;»&nbsp;:
+											désigne le transfert permanent ou temporaire de la totalité
+											ou d’une Partie Substantielle du Contenu sur un autre
+											support, et ce, par tous moyens ou sous quelque forme que ce
+											soit.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold"><a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a></span>&nbsp;»&nbsp;:
+											désigne le présent contrat de licence, et est à la fois une
+											cession de droits non exclusive (tels que le droit d’auteur
+											et les Droits afférents à la Base de données) et un
+											engagement contractuel.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Cédant</span>&nbsp;»&nbsp;:
+											désigne la Personne qui propose la Base de données aux
+											conditions stipulées dans la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Personne</span>&nbsp;»&nbsp;:
+											désigne une personne physique ou morale ou un ensemble de
+											personnes constituées ou non en société.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Création
+												produite</span>&nbsp;»&nbsp;: désigne une création (telle qu’un
+											support visuel, audiovisuel ou audio, ou un texte) résultant
+											de l’utilisation de la totalité ou d’une Partie Substantielle
+											du Contenu (à travers une recherche ou une autre requête) de
+											la présente Base de données, d’une Base de données dérivée ou
+											de la présente Base de données en tant que partie d’une Base
+											de données collaborative.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Publiquement</span>&nbsp;»&nbsp;:
+											signifie à des Personnes autres que Vous ou que Vous ne
+											contrôlez pas par la détention soit de plus de 50&nbsp;% de
+											participations, soit par le pouvoir décisionnaire que vous
+											exercez sur leurs activités (comme la conclusion d’un contrat
+											avec un consultant indépendant).
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Réutilisation</span>&nbsp;»&nbsp;:
+											désigne tout moyen de rendre public la totalité ou une Partie
+											Substantielle du Contenu par voie de diffusion de copies, de
+											location, de mise en ligne ou par tout autre moyen de
+											diffusion.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Substantiel(le)</span>&nbsp;»&nbsp;:
+											signifie substantiel en termes de quantité, de qualité ou les
+											deux. L’Extraction et la Réutilisation systématique et
+											répétée de parties non substantielles du Contenu est
+											susceptible d’être considérée comme l’Extraction ou la
+											Réutilisation d’une Partie Substantielle du Contenu.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Utiliser</span>&nbsp;»&nbsp;:
+											désigne, sous sa forme verbale, toute action soumise au
+											respect des droits d'auteur ou des Droits afférents à la base
+											de données, que ce soit sur le support originaire ou non, ce
+											qui inclut, notamment, la distribution, la copie, la
+											diffusion publique, l’affichage public et la préparation
+											d’œuvres dérivées de la Base de données ainsi que toute
+											modification de la Base de données pouvant s’avérer
+											techniquement nécessaire pour son utilisation dans un mode ou
+											un format différent.
+										</p>
+
+										<p>
+											«&nbsp;<span style="font-weight: bold">Vous / Vos</span>&nbsp;»&nbsp;:
+											désigne une Personne exerçant des droits prévus dans la
+											présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											qui n’a pas préalablement enfreint les conditions de la
+											présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											afférentes à la Base de données, ou qui a obtenu du Cédant
+											l'autorisation expresse d’exercer les droits prévus par la
+											présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											malgré une violation antérieure desdits droits.
+										</p>
+
+										<p>Lorsqu’ils sont au singulier, ces termes incluent le
+											pluriel et inversement.</p>
+
+										<p></p>
+										<h3 id="Champ_d-application_de_la_presente_Licence">
+											<a name="20_Champ_dapplication_de_la_prsente_Licence">2.0
+												Champ d'application de la présente Licence</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">2.1. Conséquences
+												juridiques du présent document.</span> La présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											est&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>Une licence régissant les droits d’auteur et les
+												droits voisins applicables&nbsp;;
+
+												<p></p>
+											</li>
+											<li>Une licence régissant les Droits afférents à la base
+												de données&nbsp;; et
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>c. Un engagement contractuel entre Vous et le
+												Cédant.</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">2.2 Droits visés.</span> La
+											présente licence régit les droits afférents à la Base de
+											données, y compris&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>le Droit d’auteur. Tout droit d’auteur ou droit
+												voisin afférent à la Base de données. Les droits d’auteur
+												cédés concernent tout élément individuel de la Base de
+												données mais ne s’appliquent pas au droit d’auteur afférent
+												au Contenu indépendant de la présente Base de données. Voir
+												l’Article 2.4 pour plus de précisions. Le droit d’auteur
+												change selon la juridiction, mais porte généralement
+												sur&nbsp;: le modèle ou schéma de la Base de données,
+												c'est-à-dire la structure, la mise en page et l’organisation
+												de la Base de données, et peut également inclure la table et
+												l’index de la Base de données, les formulaires d’entrée et
+												de sortie de données ainsi que les noms des champs du
+												Contenu stocké dans la Base de données&nbsp;;
+
+												<p></p>
+											</li>
+											<li>les Droits afférents à la base de données. Ils
+												s’appliquent exclusivement à l’Extraction et à la
+												Réutilisation de la totalité ou d’une Partie Substantielle
+												du Contenu. Les Droits afférents à la Base de données
+												peuvent être invoqués même en l’absence de tout droit
+												d’auteur relatif à la Base de données. Les Droits afférents
+												à la Base de données peuvent également s’appliquer lorsque
+												le Contenu est supprimé de la Base de données, sélectionné
+												et organisé de manière à n’enfreindre aucun droit d’auteur
+												applicable&nbsp;; et
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>le Contrat. Il s’agit d’un accord entre Vous et le
+												Cédant vous autorisant à accéder à la Base de données. En
+												contrepartie, vous acceptez certaines conditions
+												d’utilisation dudit accès qui sont décrites dans la présente
+												<a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+											</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">2.3 Droits non compris
+												dans la licence</span>
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>La présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ne s’applique pas aux programmes informatiques utilisés pour
+												créer ou exploiter la Base de données&nbsp;;
+
+												<p></p></li>
+											<li>La présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ne s’applique à aucun brevet relatif au Contenu ou à la Base
+												de données&nbsp;; et
+												<p></p>
+
+												<p></p></li>
+											<li>La présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ne s’applique à aucune marque déposée associée à la Base de
+												données.
+											</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">2.4 Rapport avec le
+												Contenu de la Base de données.</span> Les éléments distincts du
+											Contenu figurant dans la présente Base de données peuvent
+											être soumis à d’autres droits, notamment les droits d’auteur,
+											des brevets, des droits en matière de protection des données,
+											des droits en matière de protection de la vie privée ou des
+											droits de la personnalité. La présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											n’a trait à aucun droit (excepté les Droits afférents à la
+											base de données ou les droits contractuels) relatif au
+											Contenu individuel figurant dans la Base de données. A titre
+											d’exemple, si la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											est appliquée à une Base de données d’images (le Contenu),
+											elle ne s’appliquera pas au droit d’auteur afférent aux
+											images individuelles, celles-ci pouvant être régies par des
+											licences distinctes ou par une licence unique régissant
+											l’ensemble des droits relatifs aux images.
+										</p>
+
+										<p></p>
+										<h3 id="Droits_cedes_par_la_licence">
+											<a name="30_Droits_cds_par_la_licence">3.0 Droits cédés
+												par la licence</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">3.1 </span>Sous réserve des
+											termes et conditions stipulés aux présentes, le Cédant Vous
+											octroie une licence mondiale gratuite, non-exclusive et
+											résiliable (uniquement au titre de l’Article 9) d’Utilisation
+											de la Base de données et ce, pour toute la durée des droits
+											d’auteur ou Droits afférents à la base de données
+											applicables. Ces droits incluent expressément l’utilisation
+											commerciale, sans toutefois exclure tout autre champ
+											d’activité. Dans la mesure du possible dans la juridiction
+											concernée, ces droits pourront être exercés indépendamment
+											des supports et formats, qu’ils existent présentement ou
+											soient créés à l’avenir.
+										</p>
+
+										<p>Les droits octroyés concernent notamment&nbsp;:</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>L’Extraction et la Réutilisation de la totalité ou
+												d’une Partie Substantielle du Contenu&nbsp;;
+
+												<p></p>
+											</li>
+											<li>La création de Bases de données dérivées&nbsp;;
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>La création de Bases de données
+												collaboratives&nbsp;;
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>La création de reproductions temporaires ou
+												permanentes, par tous moyens et sous quelque forme que ce
+												soit, en tout ou en partie, y compris de toute Base de
+												données dérivée ou en tant que partie d’une Base de données
+												collaborative&nbsp;; et
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>La distribution, la communication, l’affichage, la
+												location, la mise à disposition ou la diffusion au public,
+												par tous moyens et sous quelque forme que ce soit, en tout
+												ou en partie, y compris de toute Base de données dérivée ou
+												en tant que partie d’une Base de données collaborative.</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">3.2 Régime de
+												redevance obligatoire.</span> À toutes fins utiles&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>Régime de redevance obligatoire, sans possibilité de
+												renonciation. Dans les juridictions n’autorisant pas la
+												renonciation au droit de collecter des redevances au travers
+												d’un régime de redevance obligatoire, le Cédant se réserve
+												le droit exclusif de collecter lesdites redevances en
+												contrepartie de l’exercice des droits qui Vous sont conférés
+												au titre de la présente Licence&nbsp;;
+
+												<p></p>
+											</li>
+											<li>Régime de redevance obligatoire, avec possibilité de
+												renonciation. Dans les juridictions autorisant la
+												renonciation au droit de collecter des redevances au travers
+												d’un régime de redevance obligatoire, le Cédant renonce au
+												droit exclusif de collecter lesdites redevances en
+												contrepartie de l’exercice des droits qui Vous sont conférés
+												au titre de la présente Licence&nbsp;; et
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>Le Cédant renonce en son nom propre, ou, si le
+												Cédant est membre d’une société de collecte chargée de la
+												gestion des régimes de redevance optionnels, au nom de
+												ladite société, au droit de collecter des redevances en
+												contrepartie de tout exercice des droits qui Vous sont
+												conférées au titre de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+											</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">3.3 </span>Le Cédant se
+											réserve le droit de communiquer la Base de données à des
+											conditions différentes, ou de cesser de la communiquer ou de
+											la mettre à disposition. Veuillez noter que la présente Base
+											de données est susceptible de faire l’objet de licences
+											multiples. Il est donc possible que Vous ayez le choix
+											d'utiliser des licences alternatives pour la présente Base de
+											données. Sous réserve de l’Article 10.4, le Cédant se réserve
+											tous les autres droits non expressément octroyés par lui.
+										</p>
+
+										<p></p>
+										<h3 id="Conditions_d-Utilisation">
+											<a name="40_Conditions_dUtilisation">4.0 Conditions
+												d'Utilisation</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">4.1</span> Les droits
+											octroyés au titre de l’Article 3 ci-dessus sont expressément
+											soumis au respect des conditions d’utilisation suivantes. Il
+											s’agit de conditions importantes de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+											Tout manquement de Votre part sera considéré comme une
+											violation grave des présentes conditions.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">4.2 Avis et
+												notifications.</span> Si Vous Transférez Publiquement la présente
+											Base de données, toute Base de données dérivée ou la Base de
+											données en tant que partie d’une Base de données
+											collaborative, alors Vous êtes tenu(e) alors à ce qui
+											suit&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>Entreprendre uniquement cette action conformément
+												aux conditions de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ou d'une autre licence autorisée au titre de l'Article
+												4.4&nbsp;;
+
+												<p></p>
+											</li>
+											<li>Inclure une copie de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												(ou, le cas échéant, d’une licence autorisée au titre de
+												l’Article 4.4) ou de son URI (Uniform Resource Identifier) à
+												la Base de données ou Base de données dérivée, inclure les
+												deux dans la Base de données ou Base de données dérivée et
+												dans toute autre documentation pertinente&nbsp;; et
+												<p></p>
+
+												<p></p></li>
+											<li>Conserver telle quelle toute mention des droits
+												d’auteur ou des Droits afférents à la Base de données ainsi
+												que toutes mentions en relation avec la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>S’il s’avère impossible d’intégrer les mentions
+												requises dans un fichier spécifique en raison de leur
+												structure, Vous êtes tenu(e) d'inclure les mentions à un
+												emplacement (tel qu’un répertoire pertinent) où les
+												utilisateurs pourront les retrouver facilement.</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">4.3 Notification
+												d’utilisation du résultat (Contenu).</span> Ni la création ni
+											l’Utilisation d’une Création Produite ne nécessitent de
+											mentions au sens de l’Article 4.2. Cependant, si vous
+											Utilisez Publiquement une Création Produite, Vous êtes
+											tenu(e) d’y intégrer une mention, laquelle est destinée à
+											informer toute Personne utilisant, consultant, accédant à,
+											interagissant ou étant en contact avec la Création Produite
+											que le Contenu provient de la Base de données, de la Base de
+											données dérivée ou de la Base de données en tant que partie
+											d’une Base de données collaborative, et qu’elle est soumise
+											aux conditions de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>a. Exemple de mention. Le message suivant répond aux
+												exigences posées par l’Article 4.3 pour les
+												déclarations&nbsp;:
+
+												<blockquote>Contient des informations de NOM DE
+													LA BASE DE DONNEES, présentement mises à disposition aux
+													conditions de la licence ODbL (Open Database License).
+												</blockquote>
+
+												<p>
+													NOM DE LA BASE DE DONNEES doit être remplacé par le nom de
+													la Base de données et un lien hypertexte vers l’URI de la
+													Base de données. «&nbsp;Licence ODbL&nbsp;» doit contenir
+													un lien hypertexte vers l’URI du texte de la présente <a
+														class="glossary-term"
+														href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+														title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+													S’il est impossible de créer des liens hypertextes, Vous
+													inclurez l’intégralité du texte figurant aux dits URI à la
+													déclaration susmentionnée.<br/>
+												</p>
+											</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">4.4 Partage à
+												l’identique des conditions initiales.</span>
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>Toute Base de données dérivée que Vous Utilisez
+												Publiquement doit impérativement respecter les
+												conditions&nbsp;:
+												<ol class="bb-list" style="list-style-type: lower-roman;">
+													<li>de la présente Licence&nbsp;;</li>
+													<li>de toute version ultérieure de la présente <a
+														class="glossary-term"
+														href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+															title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+														en préservant l'esprit&nbsp;; ou
+													</li>
+													<li>d’une licence compatible.</li>
+												</ol>
+											</li> Si Vous utilisez l’une des licences mentionnées en (iii)
+											pour la Base de données dérivée, Vous êtes tenu(e) de
+											respecter les conditions de ladite licence.
+										</ol>
+
+										<p>b. A toutes fins utiles, l’Extraction ou la
+											Réutilisation de la totalité ou d’une Partie Substantielle du
+											Contenu dans une nouvelle base de données constitue une Base
+											de données dérivée et doit donc respecter les stipulations de
+											l’Article 4.4.</p>
+
+										<p>c. Bases de données dérivées et Créations. Une Base de
+											données dérivée est Utilisée Publiquement et doit par
+											conséquent être conforme à l’Article 4.4 si une Création
+											Produite réalisée à partir de ladite Base de données dérivée
+											est Utilisée Publiquement.</p>
+
+										<p>
+											d. Partage à l’identique des conditions initiales et Contenu
+											supplémentaire. A toutes fins utiles, Vous n'êtes pas
+											autorisé à ajouter du Contenu à des Bases de données dérivées
+											en vertu de l’Article 4.4 si ledit Contenu s'avère
+											incompatible avec les droits octroyés au titre de la présente
+											<a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<p>
+											e. <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licences</acronym></a>
+											compatibles. Les Cédants de licences peuvent désigner un
+											serveur mandataire pour déterminer les licences compatibles
+											au titre de l’Article 4.4 a iii. Dans ce cas, la déclaration
+											publique d’acceptation d’une licence compatible émanant du
+											mandataire autorisé Vous permet d’utiliser ladite licence
+											compatible.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">4.5 Limitation du
+												Partage à l’identique aux conditions initiales. </span>Les
+											exigences stipulées à l’Article 4.4 ne s’appliqueront pas
+											dans les cas suivants&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>À toutes fins utiles, Vous n’êtes pas tenu(e) de
+												concéder une licence relative aux Bases de données
+												collaboratives en vertu de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												si Vous intégrez la présente Base de données ou une Base de
+												données dérivée dans la Base de données collaborative&nbsp;;
+												la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												s'appliquera néanmoins à la présente Base de données ou à
+												une Base de données dérivée faisant partie de la Base de
+												données collaborative&nbsp;;
+
+												<p></p>
+											</li>
+											<li>L’Utilisation de la présente Base de données, d’une
+												Base de données dérivée ou de la présente Base de données
+												faisant partie d’une Base de données collaborative pour
+												réaliser une Création Produite n'implique pas la création
+												d’une Base de données dérivée au sens de l’Article
+												4.4&nbsp;; et
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>L’Utilisation d’une Base de données dérivée en
+												interne, au sein d’une organisation n’est pas considérée
+												comme publique et n’est donc pas soumise aux exigences de
+												l’Article 4.4.</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">4.6 Accès à des Bases
+												de données dérivées.</span> Si vous Utilisez Publiquement une Base
+											de données dérivée ou une Création obtenue depuis une Base de
+											données dérivée, Vous êtes également tenu(e) de fournir aux
+											destinataires de la Base de données dérivée ou de la Création
+											une copie numérique des éléments suivants&nbsp;:<br/>
+										</p>
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>la totalité de la Base de données dérivée&nbsp;; ou
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>un fichier contenant soit l’ensemble des
+												modifications apportées à la Base de données, soit la
+												méthode appliquée pour apporter lesdites modifications à la
+												Base de données (comme un algorithme), y compris tout
+												Contenu supplémentaire éventuel, et qui représente
+												l’ensemble des différences existant entre la Base de données
+												et la Base de données dérivée.</li>
+										</ol>
+										<p></p>
+
+										<p>La Base de données dérivée (sous a.) ou le fichier
+											contenant les modifications (sous b.) devra être mis à
+											disposition à un coût n’excédant pas un coût de production
+											raisonnable en cas de distribution physique et gratuitement
+											en cas de distribution en ligne.</p>
+
+										<p>
+											<span style="font-weight: bold">4.7 Mesures
+												technologiques et conditions supplémentaires</span>
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>La présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ne Vous autorise à imposer (sauf sous réserve de l'Article
+												4.7 b) aucune mesure technologique ni condition relativement
+												à la Base de données, une Base de données dérivée ou la
+												totalité ou une Partie Substantielle du Contenu qui altère
+												ou restreigne les conditions de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ou tout droit octroyé en application de celle-ci, ou qui ont
+												pour effet ou pour objet de restreindre la capacité de toute
+												personne à exercer lesdits droits.
+
+												<p/></li>
+											<li>Distribution parallèle. Vous pouvez imposer des
+												mesures technologiques ou des conditions sur la Base de
+												données, la Base de données dérivée, ou la l'ensemble ou une
+												Partie Substantielle du Contenu (une «&nbsp;Base de données
+												soumise à restriction&nbsp;») qui soient contraires aux
+												stipulations de l’Article 4.7 a. lorsque Vous rendez
+												également disponible une copie de la Base de données ou de
+												la Base de données dérivée au bénéfice du destinataire de la
+												Base de données soumise à restriction&nbsp;:
+												<ol class="bb-list" style="list-style-type: lower-roman;">
+													<li>qui soit disponible sans frais
+														supplémentaires&nbsp;;</li>
+													<li>qui soit disponible sur un support n’altérant ni
+														ne restreignant les conditions de la présente <a
+														class="glossary-term"
+														href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+															title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+														ni aucun droit octroyé en application de celle-ci, ou
+														ayant pour effet ou objet de restreindre la capacité de
+														toute personne à exercer lesdits droits (une «&nbsp;Base
+														de données non soumise à restriction&nbsp;»)&nbsp;; et
+													</li>
+													<li>La Base de données non soumise à restriction sera
+														au moins aussi accessible au destinataire, dans la
+														pratique, que la Base de données soumise à restriction.</li>
+												</ol>
+												<p/>
+											</li>
+											<li>À toutes fins utiles, Vous pouvez placer la présente
+												Base de données ou une Base de données dérivée dans un
+												environnement protégé par un mot de passe requérant une
+												authentification ou dont l’accès est restreint de manière
+												similaire, sous réserve que Vous n’altériez ni ne
+												restreigniez les conditions de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												ni aucun droit octroyé en application de celle-ci, et que
+												vous ne restreigniez ni n’ayez l’intention de restreindre la
+												capacité d’aucune personne à exercer lesdits droits.
+											</li>
+										</ol>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">4.8 Octroi d’une <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												à un tiers.
+											</span> Vous n’êtes pas autorisé à octroyer une sous-licence
+											relativement à la Base de données. Chaque fois que vous
+											communiquerez la Base de données, la totalité ou une Partie
+											Substantielle du Contenu, ou toute Base de données dérivée à
+											tout tiers, de quelque manière que ce soit, le Cédant offre
+											au destinataire une licence d’utilisation de la Base de
+											données aux mêmes conditions que la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+											Il ne Vous appartient pas de veiller au respect de la
+											présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											par des tiers&nbsp;; toutefois, Vous êtes autorisé à faire
+											respecter tout droit que Vous détenez relativement à une Base
+											de données dérivée. Vous êtes seul responsable de toute
+											modification d’une Base de données dérivée créée par Vous ou
+											par toute autre Personne sous Votre responsabilité. Vous ne
+											pouvez imposer de restriction supplémentaire à l'exercice des
+											droits octroyés ou invoqués en vertu de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<p></p>
+										<h3 id="Droits_moraux">
+											<a name="50_Droits_moraux">5.0 Droits moraux</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">5.1 Droits moraux.</span> Le
+											présent article est consacré aux <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+												title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+													moraux</acronym></a>, y compris le droit d’être identifié en qualité
+											d’auteur de la Base de données ou de s’opposer à tout
+											traitement susceptible de porter atteinte à l'honneur et à la
+											réputation de l'auteur, ainsi que tout autre traitement
+											dérogatoire&nbsp;:<br/>
+										</p>
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>Dans les juridictions autorisant la renonciation aux
+												<a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a>, le Cédant renonce à tous les <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a> qu’il est susceptible de détenir en relation avec
+												la Base de données et ce, dans toute la mesure autorisée par
+												la réglementation en vigueur dans la juridiction compétente
+												en vertu de l’Article 10.4&nbsp;;
+											</li>
+											<li>Si la juridiction compétente n’autorise pas la
+												renonciation aux <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a> au titre de l’Article 5.1 a, le Cédant s’engage à
+												n’exercer aucun droit moral relativement à la Base de
+												données et renonce à toute action au titre des <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a> dans toute la mesure autorisée par la
+												réglementation de la juridiction compétente en vertu de
+												l’Article 10.4&nbsp;; et
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>Dans les juridictions n’autorisant ni la
+												renonciation aux <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a>, ni un engagement à ne pas invoquer de <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a> en vertu de l’Article 5.1 a et b, l'auteur
+												conservera ses <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+													title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+														moraux</acronym></a> sur certains aspects de la Base de données.
+											</li>
+										</ol>
+										<p/>
+
+										<p>
+											Veuillez noter que certaines juridictions n’autorisent pas la
+											renonciation aux <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+												title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+													moraux</acronym></a>, de sorte que des <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/62"><acronym
+												title="Droits qui protègent la personnalité de l&#39;auteur par rapport à son œuvre.">droits
+													moraux</acronym></a> peuvent subsister sur la Base de données dans
+											certaines juridictions.
+										</p>
+
+										<p></p>
+										<h3
+											id="Utilisation_equitable_exceptions_a_la_Base_de_donnees_et_autres_droits_non_concernes">
+											<a
+												name="60_Utilisation_quitable_exceptions__la_Base_de_donnes_et_autres_droits_non_concerns">6.0
+												Utilisation équitable, exceptions à la Base de données et
+												autres droits non concernés</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">6.1 </span>La présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											n’affecte aucun droit que Vous ou toute autre personne êtes
+											susceptible de détenir indépendamment au titre de toute
+											disposition légale ou réglementaire applicable en relation
+											avec l’utilisation de la présente Base de données, y compris,
+											notamment&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>Exceptions au Droit afférent à la base de données, y
+												compris&nbsp;: L’Extraction du Contenu à partir de Bases de
+												données non électroniques à des fins privées, l’Extraction à
+												des fins d’illustration pédagogique ou de recherches
+												scientifiques ainsi que l’Extraction ou la Réutilisation à
+												des fins de sécurité publique ou dans le cadre d'une
+												procédure administrative ou judiciaire.</li>
+											<li>L’utilisation équitable ou toute autre limitation ou
+												exception à la contrefaçondu droit d’auteur ou de toute
+												autre disposition légale ou réglementaire applicable.</li>
+										</ol>
+
+										<p>
+											<span style="font-weight: bold">6.2 </span>La présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											n’affecte aucun droit des utilisateurs autorisés à Extraire
+											ou Réutiliser des parties non substantielles du Contenu,
+											évaluées de manière quantitative ou qualitative, à quelque
+											fin que ce soit, y compris la création d’une Base de données
+											dérivée (sous réserve d’autres droits afférents au Contenu,
+											voir l’Article 2.4). L’Extraction ou la Réutilisation répétée
+											de parties non substantielles du Contenu est cependant
+											susceptible d’être considérée comme une Extraction ou une
+											Réutilisation d’une partie Substantielle du Contenu.
+										</p>
+
+										<p></p>
+										<h3 id="Garanties_et_Exoneration">
+											<a name="70_Garanties_et_Exonration">7.0 Garanties et
+												Exonération</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">7.1</span> La <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											de la Base de données est accordée «&nbsp;telle quelle&nbsp;»
+											par le Cédant, sans aucune garantie de quelque type que ce
+											soit, qu'elle soit expresse, tacite ou qu’elle découle de la
+											loi, de la coutume ou de l’usage commercial. Le Cédant
+											s’exonère en particulier de toute responsabilité au titre de
+											la condition de propriété ou de toute garantie tacite, de
+											l’absence de violation, de l’exactitude ou de l'exhaustivité,
+											de la présence ou de l’absence d’erreurs, de l’adéquation à
+											une utilisation particulière, de la qualité marchande ou
+											autre. Certaines juridictions n’autorisent pas l’exclusion
+											des garanties tacites. Dans ce cas, la présente exonération
+											ne Vous est pas applicable.
+										</p>
+
+										<p></p>
+										<h3 id="Limitation_de_responsabilite">
+											<a name="80_Limitation_de_responsabilit">8.0 Limitation
+												de responsabilité</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">8.1 </span>Sous réserve de
+											toute responsabilité ne pouvant légalement faire l’objet
+											d’une exclusion ou d’une limitation de responsabilité, le
+											Cédant exclut expressément et ne saurait être tenu pour
+											responsable de toute responsabilité au titre de toute perte
+											ou de tout dommage causé à toute personne de quelque manière
+											et à quelque moment que ce soit dans le cadre de toute
+											utilisation au titre de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											que ce soit par Vous ou par toute autre personne, et que
+											ladite perte ou ledit dommage résulte d’une faute du Cédant
+											ou non. Cette exonération de responsabilité comprend
+											notamment tout dommage spécifique, accessoire, par ricochet,
+											punitif, exemplaire tel que le manque à gagner, la perte de
+											données, la perte de bénéfices prévus ou de marchés. Cette
+											exonération s’applique même si le Cédant a été informé de la
+											possibilité que de tels dommages surviennent.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">8.2</span> Si la
+											responsabilité ne peut être légalement exclue, elle sera
+											limitée aux pertes financières réelles et directes dans la
+											mesure où elles sont imputables à une négligence avérée du
+											Cédant.
+										</p>
+
+										<p></p>
+										<h3
+											id="Cessation_de_Vos_droits_au_titre_de_la_presente_Licence">
+											<a
+												name="90_Cessation_de_Vos_droits_au_titre_de_la_prsente_Licence">9.0
+												Cessation de Vos droits au titre de la présente Licence</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">9.1 </span>Tout manquement de
+											Votre part aux conditions de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											entraînera de plein droit la cessation de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											sans préavis et avec effet immédiat. À toutes fins utiles,
+											toutes les Personnes qui auraient reçue la Base de données,
+											la totalité ou une Partie Substantielle du Contenu, les Bases
+											de données dérivées ou la Base de données faisant partie
+											d'une Base de données collaborative grâce à Vous
+											conserverons, conformément à la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											le bénéfice de cette <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											sous réserve que leur utilisation soit conforme en tous
+											points à la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											ou à une licence octroyée au titre de l’Article 4.8 de la
+											présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+											Les Articles 1, 2, 7, 8, 9 et 10 survivront à la cessation de
+											la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">9.2</span> Si vous n’avez
+											manqué à aucune obligation vous incombant au titre des
+											conditions de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											le Cédant ne saurait mettre fin à Vos droits au titre de
+											ladite <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">9.3</span> Sauf résiliation
+											au titre de l’Article 9.1, la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											Vous est octroyée pour la durée des droits applicables
+											afférents à la Base de données.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">9.4</span> Rétablissement des
+											droits. Si vous cessez de commettre des manquements aux
+											conditions de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											l’ensemble de vos droits au titre de ladite <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											sera rétabli&nbsp;:
+										</p>
+
+										<ol class="bb-list" style="list-style-type: lower-alpha;">
+											<li>À titre provisoire et sous réserve de leur cessation
+												permanente jusqu’au 60e jour suivant la cessation du
+												manquement&nbsp;;
+
+												<p></p>
+											</li>
+											<li>À titre permanent à compter du 60e jour suivant la
+												cessation du manquement, à moins d'une notification
+												raisonnable contraire du Cédant&nbsp;; ou
+												<p></p>
+
+												<p></p>
+											</li>
+											<li>À titre permanent en cas de notification raisonnable
+												de la violation adressée par le Cédant, s’il s’agit de la
+												première notification de manquement de Votre part à la
+												présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+													title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+												et si vous remédiez au dit manquement dans un délai de 30
+												jours à compter de la réception de la notification.
+											</li>
+										</ol>
+										<p></p>
+
+										<p>Les Personnes dont les droits font l'objet d'une
+											cessation permanente ne pourront revêtir la qualité de
+											destinataire et ne pourront se voir octroyer une licence au
+											titre de l’Article 4.8.</p>
+
+										<p>
+											<span style="font-weight: bold">9.5 </span>Sans préjudice de
+											ce qui précède, le Cédant se réserve le droit de diffuser la
+											Base de données à des conditions différentes ou de mettre un
+											terme à la distribution ou à la mise à disposition de ladite
+											Base de données. Ni la publication de la Base de données à
+											des conditions de licence différentes ni la cessation de la
+											distribution de la Base de données n'annuleront la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											(ni aucune autre licence octroyée ou devant être octroyée aux
+											conditions de la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>),
+											et la présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											restera de plein effet, sauf résiliation conformément aux
+											stipulations susmentionnées.
+										</p>
+
+										<p></p>
+										<h3 id="Stipulations_generales">
+											<a name="100_Stipulations_gnrales">10.0 Stipulations
+												générales</a>
+										</h3>
+										<p></p>
+
+										<p>
+											<span style="font-weight: bold">10.1</span> Si l'une
+											quelconque des stipulations de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											s’avérait invalide ou inapplicable, ladite invalidité ou
+											inapplicabilité n’entachera pas la validité ou
+											l’applicabilité des autres conditions de ladite <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											et toute autre stipulation de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											restera valide et applicable dans toute la mesure permise par
+											la loi.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">10.2 </span>La présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											constitue l’intégralité de l’accord entre les parties en
+											relation avec les droits accordés aux présentes relativement
+											à la Base de données. Elle remplace toute convention, tout
+											accord ou toute attestation antérieurs relatifs à la Base de
+											données.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">10.3</span> En cas de
+											manquement de Votre part aux conditions de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											Vous ne saurez être autorisé à invoquer les conditions qui y
+											sont énoncées ni à entamer une action contre quelque
+											manquement du Cédant.
+										</p>
+
+										<p>
+											<span style="font-weight: bold">10.4 Droit applicable.</span>
+											La présente <a class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											prend effet et est régie conformément au droit de la
+											juridiction compétente dans laquelle les conditions de la <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											seront appliquées. Si l’ensemble des droits concédés en vertu
+											du droit d’auteur et des Droits afférents à la base de
+											données applicables dans la juridiction compétente incluent
+											des droits autres que ceux prévus dans la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>,
+											lesdits autres droits sont réputés octroyés par la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>
+											afin de respecter les conditions de la présente <a
+												class="glossary-term"
+												href="http://www.vvlibri.org/fr/glossary/term/63"><acronym
+												title="Contrat définissant les droits d’utilisation ou d’exploitation accordés à un tiers (le licencié) par les ayants droit d’un logiciel. Ce contrat peut définir notamment les conditions de fourniture (ex. : avec ou sans le code source), d’installation (ex. : nombre d’exemplaires), d’utilisation (ex. utilisation commerciale), de reproduction et de représentation (ex. exécution, adaptation, rediffusion), et les conditions de garantie.">Licence</acronym></a>.
+										</p>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</body>
+</html>
Index: /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-1.0.htm
===================================================================
--- /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-1.0.htm	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-1.0.htm	(revision 28113)
@@ -0,0 +1,762 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en-US">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width">
+<title>Open Database License (ODbL) v1.0 | Open Data Commons</title>
+<link rel="canonical" href="http://opendatacommons.org/licenses/odbl/1-0/">
+<style type="text/css">
+body, input, textarea {
+    color: #373737;
+    font: 15px "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-weight: 300;
+    line-height: 1.625;
+}
+
+/* Headings */
+h1,h2,h3,h4,h5,h6 {
+    clear: both;
+}
+hr {
+    border: 0;
+    height: 1px;
+    margin-bottom: 1.625em;
+}
+
+/* Text elements */
+p {
+    margin-bottom: 1.625em;
+}
+ul, ol {
+    margin: 0 0 1.625em 2.5em;
+}
+ul {
+    list-style: square;
+}
+ol {
+    list-style-type: decimal;
+}
+ol ol {
+    list-style: upper-alpha;
+}
+ol ol ol {
+    list-style: lower-roman;
+}
+ol ol ol ol {
+    list-style: lower-alpha;
+}
+ul ul, ol ol, ul ol, ol ul {
+    margin-bottom: 0;
+}
+dl {
+    margin: 0 1.625em;
+}
+dt {
+    font-weight: bold;
+}
+dd {
+    margin-bottom: 1.625em;
+}
+strong {
+    font-weight: bold;
+}
+cite, em, i {
+    font-style: italic;
+}
+blockquote {
+    font-family: Georgia, "Bitstream Charter", serif;
+    font-style: italic;
+    font-weight: normal;
+    margin: 0 3em;
+}
+.entry-content,
+.entry-summary {
+    padding: 1.625em 0 0;
+}
+.entry-content h1,
+.entry-content h2,
+.comment-content h1,
+.comment-content h2 {
+    color: #000;
+    font-weight: bold;
+    margin: 0 0 .8125em;
+}
+.entry-content h3,
+.comment-content h3 {
+    font-size: 10px;
+    letter-spacing: 0.1em;
+    line-height: 2.6em;
+    text-transform: uppercase;
+}
+.entry-content #s {
+    width: 75%;
+}
+</style>
+</head>
+
+<body
+	class="page page-id-250 page-child parent-pageid-90 page-template-default singular two-column right-sidebar">
+	<div id="page" class="hfeed">
+		<div id="main">
+			<div id="primary">
+				<div id="content">
+					<article id="post-250"
+						class="post-250 page type-page status-publish hentry">
+						<header class="entry-header">
+							<h1 class="entry-title">Open Database License (ODbL) v1.0</h1>
+						</header>
+						<!-- .entry-header -->
+
+						<div class="entry-content">
+							<blockquote>
+								<h3>Disclaimer</h3>
+
+								<p>Open Data Commons is not a law firm and does not provide
+									legal services of any kind.</p>
+
+								<p>Open Data Commons has no formal relationship with you.
+									Your receipt of this document does not create any kind of
+									agent-client relationship. Please seek the advice of a suitably
+									qualified legal professional licensed to practice in your
+									jurisdiction before using this document.</p>
+
+								<p>No warranties and disclaimer of any damages. This
+									information is provided ‘as is‘, and this site makes no
+									warranties on the information provided. Any damages resulting
+									from its use are disclaimed.</p>
+							</blockquote>
+
+							<h2>ODC Open Database License (ODbL)</h2>
+
+							<h3>Preamble</h3>
+
+							<p>The Open Database License (ODbL) is a license agreement
+								intended to allow users to freely share, modify, and use this
+								Database while maintaining this same freedom for others. Many
+								databases are covered by copyright, and therefore this document
+								licenses these rights. Some jurisdictions, mainly in the
+								European Union, have specific rights that cover databases, and
+								so the ODbL addresses these rights, too. Finally, the ODbL is
+								also an agreement in contract for users of this Database to act
+								in certain ways in return for accessing this Database.</p>
+
+							<p>Databases can contain a wide variety of types of content
+								(images, audiovisual material, and sounds all in the same
+								database, for example), and so the ODbL only governs the rights
+								over the Database, and not the contents of the Database
+								individually. Licensors should use the ODbL together with
+								another license for the contents, if the contents have a single
+								set of rights that uniformly covers all of the contents. If the
+								contents have multiple sets of different rights, Licensors
+								should describe what rights govern what contents together in the
+								individual record or in some other way that clarifies what
+								rights apply.</p>
+
+							<p>Sometimes the contents of a database, or the database
+								itself, can be covered by other rights not addressed here (such
+								as private contracts, trade mark over the name, or privacy
+								rights / data protection rights over information in the
+								contents), and so you are advised that you may have to consult
+								other documents or clear other rights before doing activities
+								not covered by this License.</p>
+
+							<hr>
+
+							<p>The Licensor (as defined below)</p>
+
+							<p>and</p>
+
+							<p>You (as defined below)</p>
+
+							<p>agree as follows:</p>
+
+							<h3>1.0 Definitions of Capitalised Words</h3>
+
+							<p>“Collective Database” – Means this Database in unmodified
+								form as part of a collection of independent databases in
+								themselves that together are assembled into a collective whole.
+								A work that constitutes a Collective Database will not be
+								considered a Derivative Database.</p>
+
+							<p>“Convey” – As a verb, means Using the Database, a
+								Derivative Database, or the Database as part of a Collective
+								Database in any way that enables a Person to make or receive
+								copies of the Database or a Derivative Database. Conveying does
+								not include interaction with a user through a computer network,
+								or creating and Using a Produced Work, where no transfer of a
+								copy of the Database or a Derivative Database occurs. “Contents”
+								– The contents of this Database, which includes the information,
+								independent works, or other material collected into the
+								Database. For example, the contents of the Database could be
+								factual data or works such as images, audiovisual material,
+								text, or sounds.</p>
+
+							<p>“Database” – A collection of material (the Contents)
+								arranged in a systematic or methodical way and individually
+								accessible by electronic or other means offered under the terms
+								of this License.</p>
+
+							<p>“Database Directive” – Means Directive 96/9/EC of the
+								European Parliament and of the Council of 11 March 1996 on the
+								legal protection of databases, as amended or succeeded.</p>
+
+							<p>“Database Right” – Means rights resulting from the Chapter
+								III (“sui generis”) rights in the Database Directive (as amended
+								and as transposed by member states), which includes the
+								Extraction and Re-utilisation of the whole or a Substantial part
+								of the Contents, as well as any similar rights available in the
+								relevant jurisdiction under Section 10.4.</p>
+
+							<p>“Derivative Database” – Means a database based upon the
+								Database, and includes any translation, adaptation, arrangement,
+								modification, or any other alteration of the Database or of a
+								Substantial part of the Contents. This includes, but is not
+								limited to, Extracting or Re-utilising the whole or a
+								Substantial part of the Contents in a new Database.</p>
+
+							<p>“Extraction” – Means the permanent or temporary transfer
+								of all or a Substantial part of the Contents to another medium
+								by any means or in any form.</p>
+
+							<p>“License” – Means this license agreement and is both a
+								license of rights such as copyright and Database Rights and an
+								agreement in contract.</p>
+
+							<p>“Licensor” – Means the Person that offers the Database
+								under the terms of this License.</p>
+
+							<p>“Person” – Means a natural or legal person or a body of
+								persons corporate or incorporate.</p>
+
+							<p>“Produced Work” – a work (such as an image, audiovisual
+								material, text, or sounds) resulting from using the whole or a
+								Substantial part of the Contents (via a search or other query)
+								from this Database, a Derivative Database, or this Database as
+								part of a Collective Database.</p>
+
+							<p>“Publicly” – means to Persons other than You or under Your
+								control by either more than 50% ownership or by the power to
+								direct their activities (such as contracting with an independent
+								consultant).</p>
+
+							<p>“Re-utilisation” – means any form of making available to
+								the public all or a Substantial part of the Contents by the
+								distribution of copies, by renting, by online or other forms of
+								transmission.</p>
+
+							<p>“Substantial” – Means substantial in terms of quantity or
+								quality or a combination of both. The repeated and systematic
+								Extraction or Re-utilisation of insubstantial parts of the
+								Contents may amount to the Extraction or Re-utilisation of a
+								Substantial part of the Contents.</p>
+
+							<p>“Use” – As a verb, means doing any act that is restricted
+								by copyright or Database Rights whether in the original medium
+								or any other; and includes without limitation distributing,
+								copying, publicly performing, publicly displaying, and preparing
+								derivative works of the Database, as well as modifying the
+								Database as may be technically necessary to use it in a
+								different mode or format.</p>
+
+							<p>“You” – Means a Person exercising rights under this
+								License who has not previously violated the terms of this
+								License with respect to the Database, or who has received
+								express permission from the Licensor to exercise rights under
+								this License despite a previous violation.</p>
+
+							<p>Words in the singular include the plural and vice versa.</p>
+
+							<h3>2.0 What this License covers</h3>
+
+							<p>2.1. Legal effect of this document. This License is:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. A license of applicable
+								copyright and neighbouring rights;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. A license of the
+								Database Right; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. An agreement in contract
+								between You and the Licensor.</p>
+
+							<p>2.2 Legal rights covered. This License covers the legal
+								rights in the Database, including:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Copyright. Any copyright
+								or neighbouring rights in the Database. The copyright licensed
+								includes any individual elements of the Database, but does not
+								cover the copyright over the Contents independent of this
+								Database. See Section 2.4 for details. Copyright law varies
+								between jurisdictions, but is likely to cover: the Database
+								model or schema, which is the structure, arrangement, and
+								organisation of the Database, and can also include the Database
+								tables and table indexes; the data entry and output sheets; and
+								the Field names of Contents stored in the Database;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Database Rights.
+								Database Rights only extend to the Extraction and Re-utilisation
+								of the whole or a Substantial part of the Contents. Database
+								Rights can apply even when there is no copyright over the
+								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Database. Database Rights can
+								also apply when the Contents are removed from the Database and
+								are selected and arranged in a way that would not infringe any
+								applicable copyright; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Contract. This is an
+								agreement between You and the Licensor for access to the
+								Database. In return you agree to certain conditions of use on
+								this access as outlined in this License.</p>
+
+							<p>2.3 Rights not covered.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. This License does not
+								apply to computer programs used in the making or operation of
+								the Database;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. This License does not
+								cover any patents over the Contents or the Database; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. This License does not
+								cover any trademarks associated with the
+								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Database.</p>
+
+							<p>2.4 Relationship to Contents in the Database. The
+								individual items of the Contents contained in this Database may
+								be covered by other rights, including copyright, patent, data
+								protection, privacy, or personality rights, and this License
+								does not cover any rights (other than Database Rights or in
+								contract) in individual Contents contained in the Database. For
+								example, if used on a Database of images (the Contents), this
+								License would not apply to copyright over individual images,
+								which could have their own separate licenses, or one single
+								license covering all of the rights over the images.</p>
+
+							<h3>3.0 Rights granted</h3>
+
+							<p>3.1 Subject to the terms and conditions of this License,
+								the Licensor grants to You a worldwide, royalty-free,
+								non-exclusive, terminable (but only under Section 9) license to
+								Use the Database for the duration of any applicable copyright
+								and Database Rights. These rights explicitly include commercial
+								use, and do not exclude any field of endeavour. To the extent
+								possible in the relevant jurisdiction, these rights may be
+								exercised in all media and formats whether now known or created
+								in the future.</p>
+
+							<p>The rights granted cover, for example:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Extraction and
+								Re-utilisation of the whole or a Substantial part of the
+								Contents;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Creation of Derivative
+								Databases;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Creation of Collective
+								Databases;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d. Creation of temporary or
+								permanent reproductions by any means and in any form, in whole
+								or in part, including of any Derivative Databases or as a part
+								of Collective Databases; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e. Distribution,
+								communication, display, lending, making available, or
+								performance to the public by any means and in any form, in whole
+								or in part, including of any Derivative Database or as a part of
+								Collective &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Databases.</p>
+
+							<p>3.2 Compulsory license schemes. For the avoidance of
+								doubt:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Non-waivable compulsory
+								license schemes. In those jurisdictions in which the right to
+								collect royalties through any statutory or compulsory licensing
+								scheme cannot be waived, the Licensor reserves the exclusive
+								right to collect such royalties for any exercise by You of the
+								rights granted under this License;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Waivable compulsory
+								license schemes. In those jurisdictions in which the right to
+								collect royalties through any statutory or compulsory licensing
+								scheme can be waived, the Licensor waives the exclusive right to
+								collect such royalties for any exercise by You of the rights
+								granted under this License; and,</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Voluntary license
+								schemes. The Licensor waives the right to collect royalties,
+								whether individually or, in the event that the Licensor is a
+								member of a collecting society that administers voluntary
+								licensing schemes, via that society, from any exercise by You of
+								the rights granted under this License.</p>
+
+							<p>3.3 The right to release the Database under different
+								terms, or to stop distributing or making available the Database,
+								is reserved. Note that this Database may be multiple-licensed,
+								and so You may have the choice of using alternative licenses for
+								this Database. Subject to Section 10.4, all other rights not
+								expressly granted by Licensor are reserved.</p>
+
+							<h3>4.0 Conditions of Use</h3>
+
+							<p>4.1 The rights granted in Section 3 above are expressly
+								made subject to Your complying with the following conditions of
+								use. These are important conditions of this License, and if You
+								fail to follow them, You will be in material breach of its
+								terms.</p>
+
+							<p>4.2 Notices. If You Publicly Convey this Database, any
+								Derivative Database, or the Database as part of a Collective
+								Database, then You must:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Do so only under the
+								terms of this License or another license permitted under Section
+								4.4;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Include a copy of this
+								License (or, as applicable, a license permitted under Section
+								4.4) or its Uniform Resource Identifier (URI) with the Database
+								or Derivative Database, including both in the Database or
+								Derivative Database and in any relevant documentation; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Keep intact any
+								copyright or Database Right notices and notices that refer to
+								this License.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d. If it is not possible to
+								put the required notices in a particular file due to its
+								structure, then You must include the notices in a location (such
+								as a relevant directory) where users would be likely to look for
+								it.</p>
+
+							<p>4.3 Notice for using output (Contents). Creating and Using
+								a Produced Work does not require the notice in Section 4.2.
+								However, if you Publicly Use a Produced Work, You must include a
+								notice associated with the Produced Work reasonably calculated
+								to make any Person that uses, views, accesses, interacts with,
+								or is otherwise exposed to the Produced Work aware that Content
+								was obtained from the Database, Derivative Database, or the
+								Database as part of a Collective Database, and that it is
+								available under this License.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Example notice. The
+								following text will satisfy notice under Section 4.3:</p>
+
+							<pre>
+								<code>    Contains information from DATABASE NAME, which is made available
+    here under the Open Database License (ODbL).
+</code>
+							</pre>
+
+							<p>DATABASE NAME should be replaced with the name of the
+								Database and a hyperlink to the URI of the Database. “Open
+								Database License” should contain a hyperlink to the URI of the
+								text of this License. If hyperlinks are not possible, You should
+								include the plain text of the required URI’s with the above
+								notice.</p>
+
+							<p>4.4 Share alike.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Any Derivative Database
+								that You Publicly Use must be only under the terms of:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+								i. This License;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+								ii. A later version of this License similar in spirit to this
+								License; or</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+								iii. A compatible license.</p>
+
+							<p>If You license the Derivative Database under one of the
+								licenses mentioned in (iii), You must comply with the terms of
+								that license.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. For the avoidance of
+								doubt, Extraction or Re-utilisation of the whole or a
+								Substantial part of the Contents into a new database is a
+								Derivative Database and must comply with Section 4.4.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Derivative Databases and
+								Produced Works. A Derivative Database is Publicly Used and so
+								must comply with Section 4.4. if a Produced Work created from
+								the Derivative Database is Publicly Used.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d. Share Alike and
+								additional Contents. For the avoidance of doubt, You must not
+								add Contents to Derivative Databases under Section 4.4 a that
+								are incompatible with the rights granted under this License.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e. Compatible licenses.
+								Licensors may authorise a proxy to determine compatible licenses
+								under Section 4.4 a iii. If they do so, the authorised proxy’s
+								public statement of acceptance of a compatible license grants
+								You permission to use the compatible license.</p>
+
+							<p>4.5 Limits of Share Alike. The requirements of Section 4.4
+								do not apply in the following:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. For the avoidance of
+								doubt, You are not required to license Collective Databases
+								under this License if You incorporate this Database or a
+								Derivative Database in the collection, but this License still
+								applies to this Database or a Derivative Database as a part of
+								the Collective Database;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Using this Database, a
+								Derivative Database, or this Database as part of a Collective
+								Database to create a Produced Work does not create a Derivative
+								Database for purposes of Section 4.4; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Use of a Derivative
+								Database internally within an organisation is not to the public
+								and therefore does not fall under the requirements of Section
+								4.4.</p>
+
+							<p>4.6 Access to Derivative Databases. If You Publicly Use a
+								Derivative Database or a Produced Work from a Derivative
+								Database, You must also offer to recipients of the Derivative
+								Database or Produced Work a copy in a machine readable form of:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. The entire Derivative
+								Database; or</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. A file containing all of
+								the alterations made to the Database or the method of making the
+								alterations to the Database (such as an algorithm), including
+								any additional Contents, that make up all the differences
+								between the Database and the Derivative Database.</p>
+
+							<p>The Derivative Database (under a.) or alteration file
+								(under b.) must be available at no more than a reasonable
+								production cost for physical distributions and free of charge if
+								distributed over the internet.</p>
+
+							<p>4.7 Technological measures and additional terms</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. This License does not
+								allow You to impose (except subject to Section 4.7 b.) any terms
+								or any technological measures on the Database, a Derivative
+								Database, or the whole or a Substantial part of the Contents
+								that alter or restrict the terms of this License, or any rights
+								granted under it, or have the effect or intent of restricting
+								the ability of any person to exercise those rights.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Parallel distribution.
+								You may impose terms or technological measures on the Database,
+								a Derivative Database, or the whole or a Substantial part of the
+								Contents (a “Restricted Database”) in contravention of Section
+								4.74 a. only if You also make a copy of the Database or a
+								Derivative Database available to the recipient of the Restricted
+								Database:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+								i. That is available without additional fee;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+								ii. That is available in a medium that does not alter or
+								restrict the terms of this License, or any rights granted under
+								it, or have the effect or intent of restricting the ability of
+								any person to exercise those rights (an “Unrestricted
+								Database”); and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+								iii. The Unrestricted Database is at least as accessible to the
+								recipient as a practical matter as the Restricted Database.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. For the avoidance of
+								doubt, You may place this Database or a Derivative Database in
+								an authenticated environment, behind a password, or within a
+								similar access control scheme provided that You do not alter or
+								restrict the terms of this License or any rights granted under
+								it or have the effect or intent of restricting the ability of
+								any person to exercise those rights.</p>
+
+							<p>4.8 Licensing of others. You may not sublicense the
+								Database. Each time You communicate the Database, the whole or
+								Substantial part of the Contents, or any Derivative Database to
+								anyone else in any way, the Licensor offers to the recipient a
+								license to the Database on the same terms and conditions as this
+								License. You are not responsible for enforcing compliance by
+								third parties with this License, but You may enforce any rights
+								that You have over a Derivative Database. You are solely
+								responsible for any modifications of a Derivative Database made
+								by You or another Person at Your direction. You may not impose
+								any further restrictions on the exercise of the rights granted
+								or affirmed under this License.</p>
+
+							<h3>5.0 Moral rights</h3>
+
+							<p>5.1 Moral rights. This section covers moral rights,
+								including any rights to be identified as the author of the
+								Database or to object to treatment that would otherwise
+								prejudice the author’s honour and reputation, or any other
+								derogatory treatment:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. For jurisdictions
+								allowing waiver of moral rights, Licensor waives all moral
+								rights that Licensor may have in the Database to the fullest
+								extent possible by the law of the relevant jurisdiction under
+								Section &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10.4;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. If waiver of moral
+								rights under Section 5.1 a in the relevant jurisdiction is not
+								possible, Licensor agrees not to assert any moral rights over
+								the Database and waives all claims in moral rights to the
+								fullest extent possible by the law of the relevant jurisdiction
+								under Section 10.4; and</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. For jurisdictions not
+								allowing waiver or an agreement not to assert moral rights under
+								Section 5.1 a and b, the author may retain their moral rights
+								over certain aspects of the Database.</p>
+
+							<p>Please note that some jurisdictions do not allow for the
+								waiver of moral rights, and so moral rights may still subsist
+								over the Database in some jurisdictions.</p>
+
+							<h3>6.0 Fair dealing, Database exceptions, and other rights
+								not affected</h3>
+
+							<p>6.1 This License does not affect any rights that You or
+								anyone else may independently have under any applicable law to
+								make any use of this Database, including without limitation:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Exceptions to the
+								Database Right including: Extraction of Contents from
+								non-electronic Databases for private purposes, Extraction for
+								purposes of illustration for teaching or scientific research,
+								and Extraction or Re-utilisation for public security or an
+								administrative or judicial procedure.</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Fair dealing, fair use,
+								or any other legally recognised limitation or exception to
+								infringement of copyright or other applicable laws.</p>
+
+							<p>6.2 This License does not affect any rights of lawful
+								users to Extract and Re-utilise insubstantial parts of the
+								Contents, evaluated quantitatively or qualitatively, for any
+								purposes whatsoever, including creating a Derivative Database
+								(subject to other rights over the Contents, see Section 2.4).
+								The repeated and systematic Extraction or Re-utilisation of
+								insubstantial parts of the Contents may however amount to the
+								Extraction or Re-utilisation of a Substantial part of the
+								Contents.</p>
+
+							<h3>7.0 Warranties and Disclaimer</h3>
+
+							<p>7.1 The Database is licensed by the Licensor “as is” and
+								without any warranty of any kind, either express, implied, or
+								arising by statute, custom, course of dealing, or trade usage.
+								Licensor specifically disclaims any and all implied warranties
+								or conditions of title, non-infringement, accuracy or
+								completeness, the presence or absence of errors, fitness for a
+								particular purpose, merchantability, or otherwise. Some
+								jurisdictions do not allow the exclusion of implied warranties,
+								so this exclusion may not apply to You.</p>
+
+							<h3>8.0 Limitation of liability</h3>
+
+							<p>8.1 Subject to any liability that may not be excluded or
+								limited by law, the Licensor is not liable for, and expressly
+								excludes, all liability for loss or damage however and whenever
+								caused to anyone by any use under this License, whether by You
+								or by anyone else, and whether caused by any fault on the part
+								of the Licensor or not. This exclusion of liability includes,
+								but is not limited to, any special, incidental, consequential,
+								punitive, or exemplary damages such as loss of revenue, data,
+								anticipated profits, and lost business. This exclusion applies
+								even if the Licensor has been advised of the possibility of such
+								damages.</p>
+
+							<p>8.2 If liability may not be excluded by law, it is limited
+								to actual and direct financial loss to the extent it is caused
+								by proved negligence on the part of the Licensor.</p>
+
+							<h3>9.0 Termination of Your rights under this License</h3>
+
+							<p>9.1 Any breach by You of the terms and conditions of this
+								License automatically terminates this License with immediate
+								effect and without notice to You. For the avoidance of doubt,
+								Persons who have received the Database, the whole or a
+								Substantial part of the Contents, Derivative Databases, or the
+								Database as part of a Collective Database from You under this
+								License will not have their licenses terminated provided their
+								use is in full compliance with this License or a license granted
+								under Section 4.8 of this License. Sections 1, 2, 7, 8, 9 and 10
+								will survive any termination of this License.</p>
+
+							<p>9.2 If You are not in breach of the terms of this License,
+								the Licensor will not terminate Your rights under it.</p>
+
+							<p>9.3 Unless terminated under Section 9.1, this License is
+								granted to You for the duration of applicable rights in the
+								Database.</p>
+
+							<p>9.4 Reinstatement of rights. If you cease any breach of
+								the terms and conditions of this License, then your full rights
+								under this License will be reinstated:</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Provisionally and
+								subject to permanent termination until the 60th day after
+								cessation of breach;</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Permanently on the 60th
+								day after cessation of breach unless otherwise reasonably
+								notified by the Licensor; or</p>
+
+							<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c. Permanently if
+								reasonably notified by the Licensor of the violation, this is
+								the first time You have received notice of violation of this
+								License from the Licensor, and You cure the violation prior to
+								30 days after your receipt of the notice.</p>
+
+							<p>Persons subject to permanent termination of rights are not
+								eligible to be a recipient and receive a license under Section
+								4.8.</p>
+
+							<p>9.5 Notwithstanding the above, Licensor reserves the right
+								to release the Database under different license terms or to stop
+								distributing or making available the Database. Releasing the
+								Database under different license terms or stopping the
+								distribution of the Database will not withdraw this License (or
+								any other license that has been, or is required to be, granted
+								under the terms of this License), and this License will continue
+								in full force and effect unless terminated as stated above.</p>
+
+							<h3>10.0 General</h3>
+
+							<p>10.1 If any provision of this License is held to be
+								invalid or unenforceable, that must not affect the validity or
+								enforceability of the remainder of the terms and conditions of
+								this License and each remaining provision of this License shall
+								be valid and enforced to the fullest extent permitted by law.</p>
+
+							<p>10.2 This License is the entire agreement between the
+								parties with respect to the rights granted here over the
+								Database. It replaces any earlier understandings, agreements or
+								representations with respect to the Database.</p>
+
+							<p>10.3 If You are in breach of the terms of this License,
+								You will not be entitled to rely on the terms of this License or
+								to complain of any breach by the Licensor.</p>
+
+							<p>10.4 Choice of law. This License takes effect in and will
+								be governed by the laws of the relevant jurisdiction in which
+								the License terms are sought to be enforced. If the standard
+								suite of rights granted under applicable copyright law and
+								Database Rights in the relevant jurisdiction includes additional
+								rights not granted under this License, these additional rights
+								are granted in this License in order to meet the terms of this
+								License.</p>
+						</div>
+					</article>
+				</div>
+			</div>
+		</div>
+	</div>
+</body>
+</html>
Index: /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-summary-1.0-fr.htm
===================================================================
--- /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-summary-1.0-fr.htm	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-summary-1.0-fr.htm	(revision 28113)
@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"
+	dir="ltr">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>Résumé de la licence ODbL 1.0 fr | Veni, Vidi, Libri</title>
+<style type="text/css">
+/* ===== Global =================================== */
+* { 
+    margin:  0;
+    padding: 0;
+    border:  0;
+  } 
+ 
+body {  
+    font-family: sans-serif;
+     }
+/* ===== page =================================== */
+
+#page {
+    clear: both;
+    }
+
+.nofloat { clear: both; }
+
+a { color: #b93615; }
+li { list-style-position: inside;}
+/* ===== contenu ============================= */
+/* taille en fonction du nb de colonnes */
+body.sidebar-left #contenu {
+    margin-left: -289px;
+    }
+body.sidebar-left #recentre {
+    margin-left: 289px;
+    margin-right: 24px;
+    }
+
+body.sidebar-right #contenu {
+    margin-right: -230px;
+    }
+body.sidebar-right #recentre {
+    margin-right: 224px;
+    margin-left: 20px;
+    }
+
+body.sidebars #contenu {
+    margin-left: -289px;
+    margin-right: -230px;
+    }
+body.sidebars #recentre {
+    margin-left: 289px;
+    margin-right: 224px;
+    }
+
+/* === */ 
+
+#contenu {
+    float:left;
+    width: 100%;
+    /* max-width: 800px;  */
+    line-height: 1.4em;
+    color: #383838;
+    text-align: justify;
+    }
+
+#recentre {
+    padding-left: 30px;
+    padding-right: 30px;
+    padding-top: 0.7em;
+    }
+
+#contenu p , #contenu ul, #contenu ol {
+    margin-bottom: 1em;
+    }
+
+#contenu a.new { 
+    color: #f00; 
+    text-decoration: none; 
+}
+
+#texte {
+    padding-bottom: 100px;
+    border-bottom: 1px dotted #d0d0d0;
+    }
+
+.encadre {
+    border: 1px dotted #ccc;
+    background: #ffefdf;
+    }
+
+/* ===== Les contenus speciaux ===== */
+#texte .field {
+    margin-bottom: 2em;
+    }
+#texte .field-label {
+    margin: 0.5em 0;
+    padding-bottom: 2px;
+    font-size: 1.6em;
+    font-weight: normal;
+    border-bottom: 1px solid #ccc;
+    }
+
+.book-navigation .menu {
+    padding-left: 60px;
+    background: url(img/livre.png) no-repeat left 1em;
+    padding-bottom: 1em;
+    border-top: 1px solid #ccc;
+    }
+.book-navigation .page-links {
+    border-top: 1px solid #ccc;
+    border-bottom: 1px solid #ccc;
+    }
+
+.terms .links li {
+    background: url(img/tag.gif) no-repeat left;
+    padding-left: 17px;
+    padding-top: 1px;
+    }
+/* ===== titres ===== */
+#contenu h1, #contenu h2, #contenu h3, 
+    #contenu h4, #contenu h5, #contenu h6 {
+    margin: 1.2em 0 0.5em;
+    padding-bottom: 2px;
+    text-align: justify;
+    font-weight: normal;
+    color: #000;
+    border-bottom: 1px solid #ccc;
+    line-height: 1.2em;
+    }
+
+#contenu h1 {   font-size: 1.8em; }
+#contenu h2 {   font-size: 1.6em; }
+#contenu h3 {   font-size: 1.4em; }
+#contenu h4 {   font-size: 1.2em;  font-weight: bold; }
+#contenu h5 {   font-size: 1em;    font-weight: bold; }
+#contenu h6 {   font-size: 0.8em;  font-weight: bold; }
+/* ===== styles particuliers (pre, tableaux, ... ) ===== */
+pre {
+    background: #f5f5f5;
+    border: #ccc 1px dashed;
+    line-height: 1.6em;
+    padding-left: 0.3em;
+    }
+
+table { 
+    border: 1px solid #888;
+    border-collapse: collapse;
+    margin-bottom: 1em;
+    }
+td, th {
+    border: 1px solid #888;
+    padding: 3px 5px;
+    }
+th { background-color: #f5f5f5; }
+
+hr { 
+    height: 1px;
+    background-color: #ccc;
+    color: #ccc;
+    margin-bottom: 1em;
+    }
+blockquote {
+    background: #f5f5f5;
+    padding: 0.5em 1em 0.5em 1em;
+    border: 1px solid #ccc;
+    margin-bottom: 1em;
+    }
+
+#contenu li li {
+    margin-left: 1em;
+    }
+#contenu li ul, #contenu li ol {
+    margin-bottom: 0;
+    }
+</style>
+</head>
+<body class="sidebar-left tableHeader-processed">
+	<div id="page">
+		<div id="container">
+			<div id="contenu">
+				<div id="recentre">
+					<h2>Résumé de la licence ODbL 1.0</h2>
+					<div id="texte">
+						<div id="node-59" class="node">
+							<div class="content clear-block">
+								<p>
+									Ceci est le résumé explicatif de <a
+										href="http://www.vvlibri.org/fr/licence/odbl/10/fr/legalcode"
+										class="bb-url">la licence ODbL 1.0</a>. Merci de lire
+									l'avertissement ci-dessous.
+								</p>
+
+								<p></p>
+								<h2 id="Vous_etes_libres_:">
+									<a name="Vous_tes_libres_">Vous êtes libres :</a>
+								</h2>
+								<p></p>
+
+								<ul class="bb-list" style="list-style-type: circle;">
+									<li><img src="http://drupal.vvlibri.org/sites/default/files/share.png"
+										alt="" class="bb-image" /> <span style="font-style: italic">De
+											partager :</span> copier, distribuer et utiliser la base de données.</li>
+									<li><img src="http://drupal.vvlibri.org/sites/default/files/create.png"
+										alt="" class="bb-image" /> <span style="font-style: italic">De
+											créer :</span> produire des créations à partir de cette base de
+										données.</li>
+									<li><img src="http://drupal.vvlibri.org/sites/default/files/adapt.png"
+										alt="" class="bb-image" /> <span style="font-style: italic">D'adapter
+											:</span> modifier, transformer et construire à partir de cette base
+										de données.</li>
+								</ul>
+
+								<p></p>
+								<h2 id="Aussi_longtemps_que_:">
+									<a name="Aussi_longtemps_que_">Aussi longtemps que :</a>
+								</h2>
+								<p></p>
+
+								<ul class="bb-list" style="list-style-type: circle;">
+									<li><img src="http://drupal.vvlibri.org/sites/default/files/attribute.png"
+										alt="" class="bb-image" /> <span style="font-style: italic">Vous
+											mentionnez la paternité :</span> vous devez mentionnez la source de
+										la base de données pour toute utilisation publique de la base
+										de données, ou pour toute création produite à partir de la
+										base de données, de la manière indiquée dans l'ODbL. Pour
+										toute utilisation ou redistribution de la base de données, ou
+										création produite à partir de cette base de données, vous
+										devez clairement mentionner aux tiers la licence de la base de
+										données et garder intacte toute mention légale sur la base de
+										données originaire.</li>
+									<li><img
+										src="http://drupal.vvlibri.org/sites/default/files/share_alike2.png" alt=""
+										class="bb-image" /> <span style="font-style: italic">Vous
+											partagez aux conditions identiques :</span> si vous utilisez
+										publiquement une version adaptée de cette base de données, ou
+										que vous produisiez une création à partir d'une base de
+										données adaptée, vous devez aussi offrir cette base de données
+										adaptée selon les termes de la licence ODbL.</li>
+									<li><img src="http://drupal.vvlibri.org/sites/default/files/keep_open.png"
+										alt="" class="bb-image" /> <span style="font-style: italic">Gardez
+											ouvert :</span> si vous redistribuez la base de données, ou une
+										version modifiée de celle-ci, alors vous ne pouvez utiliser de
+										mesure technique restreignant la création que si vous
+										distribuez aussi une version sans ces restrictions.
+
+										<p></p>
+										<h2 id="Avertissement">
+											<a name="Avertissement">Avertissement</a>
+										</h2>
+										<p></p>
+
+										<p>
+											Le résumé explicatif n'est pas un contrat, mais simplement
+											une source pratique pour faciliter la compréhension de la
+											version complète de la licence ODbL 1.0 — il exprime en
+											termes courants les principales notions juridiques du
+											contrat. Ce résumé explicatif n'a pas de valeur juridique,
+											son contenu n'apparaît pas sous cette forme dans le contrat.
+											Seul le <a
+												href="http://www.vvlibri.org/fr/licence/odbl/10/fr/legalcode"
+												class="bb-url">texte complet du contrat de licence</a> fait
+											loi.
+										</p></li>
+								</ul>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+</body>
+</html>
Index: /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-summary-1.0.htm
===================================================================
--- /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-summary-1.0.htm	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/resources/org/openstreetmap/josm/plugins/opendata/core/resources/odbl-summary-1.0.htm	(revision 28113)
@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en-US">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width">
+<title>ODC Open Database License (ODbL) Summary | Open Data	Commons</title>
+<link rel="canonical" href="http://opendatacommons.org/licenses/odbl/summary/">
+<style type="text/css">
+body, input, textarea {
+    color: #373737;
+    font: 15px "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-weight: 300;
+    line-height: 1.625;
+}
+
+/* Headings */
+h1,h2,h3,h4,h5,h6 {
+    clear: both;
+}
+hr {
+    border: 0;
+    height: 1px;
+    margin-bottom: 1.625em;
+}
+
+/* Text elements */
+p {
+    margin-bottom: 1.625em;
+}
+ul, ol {
+    margin: 0 0 1.625em 2.5em;
+}
+ul {
+    list-style: square;
+}
+ol {
+    list-style-type: decimal;
+}
+ol ol {
+    list-style: upper-alpha;
+}
+ol ol ol {
+    list-style: lower-roman;
+}
+ol ol ol ol {
+    list-style: lower-alpha;
+}
+ul ul, ol ol, ul ol, ol ul {
+    margin-bottom: 0;
+}
+dl {
+    margin: 0 1.625em;
+}
+dt {
+    font-weight: bold;
+}
+dd {
+    margin-bottom: 1.625em;
+}
+strong {
+    font-weight: bold;
+}
+cite, em, i {
+    font-style: italic;
+}
+blockquote {
+    font-family: Georgia, "Bitstream Charter", serif;
+    font-style: italic;
+    font-weight: normal;
+    margin: 0 3em;
+}
+.entry-content,
+.entry-summary {
+    padding: 1.625em 0 0;
+}
+.entry-content h1,
+.entry-content h2,
+.comment-content h1,
+.comment-content h2 {
+    color: #000;
+    font-weight: bold;
+    margin: 0 0 .8125em;
+}
+.entry-content h3,
+.comment-content h3 {
+    font-size: 10px;
+    letter-spacing: 0.1em;
+    line-height: 2.6em;
+    text-transform: uppercase;
+}
+.entry-content #s {
+    width: 75%;
+}
+.human-readable p.disclaimer {
+    font-size: small;
+}
+.human-readable ul li {
+    list-style-image:none;
+    list-style-position:outside;
+    list-style-type:none;
+    padding-bottom:25px;
+    padding-left:70px;
+    padding-top:10px;
+}
+.human-readable li.share {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/share.png) no-repeat scroll 0 0;
+}
+.human-readable li.create {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/create.png) no-repeat scroll 0 0;
+}
+.human-readable li.open {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/keep_open.png) no-repeat scroll 0 0;
+}
+.human-readable li.attribute {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/attribute.png) no-repeat scroll 0 0;
+}
+.human-readable li.adapt {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/adapt.png) no-repeat scroll 0 0;
+}
+.human-readable li.alike {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/share_alike2.png) no-repeat scroll 0 0;
+}
+.human-readable li.intentionallyblank {
+  background:transparent url(http://assets.okfn.org/p/opendatacommons/img/share_alike2.png) no-repeat scroll 0 0;
+}
+</style>
+</head>
+
+<body
+	class="page page-id-315 page-child parent-pageid-90 page-template-default singular two-column right-sidebar">
+	<div id="page" class="hfeed">
+		<div id="main">
+			<div id="primary">
+				<div id="content" role="main">
+					<article id="post-315"
+						class="post-315 page type-page status-publish hentry">
+						<header class="entry-header">
+							<h1 class="entry-title">ODC Open Database License (ODbL) Summary</h1>
+						</header>
+						<!-- .entry-header -->
+
+						<div class="entry-content">
+							<div class="human-readable">
+								<p>
+									This is a human-readable summary of the <a
+										href="http://www.opendatacommons.org/licenses/odbl/1.0/">ODbL
+										1.0 license</a>. Please see the disclaimer below.
+								</p>
+
+								<a class="toc-anchor" name="you-are-free"></a><a
+									class="toc-anchor" name="toc-anchor-315-1"></a>
+								<h2>
+									<strong>You are free:</strong>
+								</h2>
+								<ul>
+									<li class="share"><em>To Share:</em> To copy, distribute
+										and use the database.</li>
+									<li class="create"><em>To Create:</em> To produce works
+										from the database.</li>
+									<li class="adapt"><em>To Adapt:</em> To modify, transform
+										and build upon the database.</li>
+								</ul>
+
+								<a class="toc-anchor" name="as-long-as-you"></a><a
+									class="toc-anchor" name="toc-anchor-315-2"></a>
+								<h2>
+									<strong>As long as you:</strong>
+								</h2>
+								<ul>
+									<li class="attribute"><em>Attribute:</em> You must
+										attribute any public use of the database, or works produced
+										from the database, in the manner specified in the ODbL. For
+										any use or redistribution of the database, or works produced
+										from it, you must make clear to others the license of the
+										database and keep intact any notices on the original database.</li>
+
+									<li class="alike"><em>Share-Alike:</em> If you publicly
+										use any adapted version of this database, or works produced
+										from an adapted database, you must also offer that adapted
+										database under the ODbL.</li>
+									<li class="open"><em>Keep open:</em> If you redistribute
+										the database, or an adapted version of it, then you may use
+										technological measures that restrict the work (such as DRM) as
+										long as you also redistribute a version without such measures.</li>
+								</ul>
+
+
+								<a class="toc-anchor" name="disclaimer"></a><a
+									class="toc-anchor" name="toc-anchor-315-3"></a>
+								<h2>
+									<strong>Disclaimer</strong>
+								</h2>
+
+								<p class="disclaimer">
+									This is not a license. It is simply a handy reference for
+									understanding the ODbL 1.0 — it is a human-readable expression
+									of some of its key terms. This document has no legal value, and
+									its contents do not appear in the actual license. Read the full
+									<a href="http://www.opendatacommons.org/licenses/odbl/1.0/">ODbL
+										1.0 license text</a> for the exact terms that apply.
+								</p>
+							</div>
+						</div>
+					</article>
+				</div>
+			</div>
+		</div>
+	</div>
+</body>
+</html>
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/OdConstants.java	(revision 28113)
@@ -87,4 +87,6 @@
 	public static final String ICON_EMPTY_24 = "empty24.png";
 
+	public static final String ICON_LOOL_48 = "lool48.png";
+
     /**
      * File extensions.
@@ -156,4 +158,5 @@
      * Resources
      */
-    public static final String DICTIONARY_FR = "/org/openstreetmap/josm/plugins/opendata/core/resources/dictionary.fr.csv";
+    public static final String RESOURCE_PATH = "/org/openstreetmap/josm/plugins/opendata/core/resources/";
+    public static final String DICTIONARY_FR = RESOURCE_PATH+"dictionary.fr.csv";
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/actions/DownloadDataTask.java	(revision 28113)
@@ -16,7 +16,12 @@
 package org.openstreetmap.josm.plugins.opendata.core.actions;
 
+import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.io.File;
+import java.io.IOException;
 import java.util.concurrent.Future;
 import java.util.regex.Pattern;
+
+import javax.swing.JOptionPane;
 
 import org.openstreetmap.josm.Main;
@@ -25,10 +30,11 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
-import org.openstreetmap.josm.io.AbstractReader;
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.DataSetUpdater;
+import org.openstreetmap.josm.plugins.opendata.core.gui.AskLicenseAgreementDialog;
 import org.openstreetmap.josm.plugins.opendata.core.io.NetworkReader;
 import org.openstreetmap.josm.plugins.opendata.core.layers.OdDataLayer;
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
 import org.openstreetmap.josm.plugins.opendata.core.modules.Module;
 import org.openstreetmap.josm.plugins.opendata.core.modules.ModuleHandler;
@@ -37,4 +43,6 @@
 
 	private AbstractDataSetHandler handler;
+	
+	//private static final PdfEditorKit pdfEditorKit = new PdfEditorKit();
 	
 	@Override
@@ -45,11 +53,11 @@
 	@Override
 	public Future<?> loadUrl(boolean newLayer, String url, ProgressMonitor progressMonitor) {
-		Class<? extends AbstractReader> readerClass = null; // TODO
-        downloadTask = new InternDownloadTasK(newLayer, new NetworkReader(url, handler, readerClass), progressMonitor);
+        downloadTask = new InternalDownloadTasK(newLayer, new NetworkReader(url, handler), progressMonitor);
         currentBounds = null;
-        // Extract .osm filename from URL to set the new layer name
-        //Matcher matcher = Pattern.compile("http://.*/(.*\\.osm)").matcher(url);
-        //newLayerName = matcher.matches() ? matcher.group(1) : null;
-        return Main.worker.submit(downloadTask);
+        if (handler == null || !handler.hasLicenseToBeAccepted() || askLicenseAgreement(handler.getLicense())) {
+        	return Main.worker.submit(downloadTask);
+        } else {
+        	return null;
+        }
 	}
 
@@ -73,7 +81,7 @@
 	}
 	
-	protected class InternDownloadTasK extends DownloadTask {
+	protected class InternalDownloadTasK extends DownloadTask {
 
-		public InternDownloadTasK(boolean newLayer, NetworkReader reader, ProgressMonitor progressMonitor) {
+		public InternalDownloadTasK(boolean newLayer, NetworkReader reader, ProgressMonitor progressMonitor) {
 			super(newLayer, reader, progressMonitor);
 		}
@@ -99,3 +107,19 @@
 		}
 	}
+	
+    /**
+     * returns true if the user accepts the license, false if they refuse
+     */
+    protected final boolean askLicenseAgreement(License license) {
+    	if (license == null || (license.getURL() == null && license.getSummaryURL() == null)) {
+    		return true;
+    	}
+    	try {
+	        return new AskLicenseAgreementDialog(license).showDialog().getValue() == 1;
+	        
+		} catch (IOException e) {
+            JOptionPane.showMessageDialog(Main.parent, tr("License URL not available: {0}", license.toString()));
+            return false;
+		}
+    }
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/AbstractDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/AbstractDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/AbstractDataSetHandler.java	(revision 28113)
@@ -19,5 +19,4 @@
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -25,36 +24,20 @@
 import java.util.regex.Pattern;
 
-import org.geotools.referencing.CRS;
-import org.geotools.referencing.crs.AbstractDerivedCRS;
-import org.geotools.referencing.datum.DefaultEllipsoid;
-import org.geotools.referencing.operation.projection.LambertConformal;
-import org.geotools.referencing.operation.projection.LambertConformal1SP;
-import org.geotools.referencing.operation.projection.LambertConformal2SP;
-import org.geotools.referencing.operation.projection.MapProjection.AbstractProvider;
-import org.opengis.parameter.ParameterDescriptor;
-import org.opengis.parameter.ParameterValueGroup;
-import org.opengis.referencing.FactoryException;
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.opengis.referencing.crs.GeographicCRS;
-import org.opengis.referencing.datum.GeodeticDatum;
-import org.opengis.referencing.operation.MathTransform;
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.IPrimitive;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.projection.AbstractProjection;
-import org.openstreetmap.josm.data.projection.Ellipsoid;
-import org.openstreetmap.josm.data.projection.Projection;
-import org.openstreetmap.josm.data.projection.Projections;
-import org.openstreetmap.josm.data.projection.proj.LambertConformalConic;
-import org.openstreetmap.josm.data.projection.proj.LambertConformalConic.Parameters;
-import org.openstreetmap.josm.data.projection.proj.LambertConformalConic.Parameters1SP;
-import org.openstreetmap.josm.data.projection.proj.LambertConformalConic.Parameters2SP;
 import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry;
 import org.openstreetmap.josm.io.AbstractReader;
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
+import org.openstreetmap.josm.plugins.opendata.core.io.archive.DefaultZipHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.archive.ZipHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.geographic.DefaultShpHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.geographic.ShpHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.CsvHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.SpreadSheetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
 import org.openstreetmap.josm.plugins.opendata.core.util.NamesFrUtils;
 import org.openstreetmap.josm.tools.Pair;
@@ -99,7 +82,9 @@
 	private String sourceDate;
 	private File associatedFile;
-	private URL dataURL;
 
 	public AbstractDataSetHandler() {
+		setShpHandler(new DefaultShpHandler());
+		setZipHandler(new DefaultZipHandler());
+		setCsvHandler(new DefaultCsvHandler());
 	}
 	
@@ -178,20 +163,69 @@
 	}
 	
-	public URL getWikiURL() {return null;}
-	
-	public URL getLocalPortalURL() {return null;}
-	
-	public URL getNationalPortalURL() {return null;}
-
-	public URL getLicenseURL() {return null;}
-
-	public URL getDataURL() {return dataURL;}
-	
-	public final void setDataURL(String url) throws MalformedURLException {
-		this.dataURL = new URL(url);
-	}
-	
-	public final void setDataURL(URL url) {
-		this.dataURL = url;
+	// -------------------- License --------------------
+	
+	private License license;
+	
+	public License getLicense() {
+		return license;
+	}
+
+	public final void setLicense(License license) {
+		this.license = license;
+	}
+
+	// --------------------- URLs ---------------------
+	
+	private URL dataURL;
+	private URL wikiURL;
+	private URL localPortalURL;
+	private URL nationalPortalURL;
+	
+	public URL getDataURL() {
+		return dataURL;
+	}
+
+	public final void setDataURL(URL dataURL) {
+		this.dataURL = dataURL;
+	}
+
+	public final void setDataURL(String dataURL) throws MalformedURLException {
+		setDataURL(new URL(dataURL));
+	}
+
+	public URL getWikiURL() {
+		return wikiURL;
+	}
+
+	public final void setWikiURL(URL wikiURL) {
+		this.wikiURL = wikiURL;
+	}
+
+	public final void setWikiURL(String wikiURL) throws MalformedURLException {
+		setWikiURL(new URL(wikiURL));
+	}
+
+	public URL getLocalPortalURL() {
+		return localPortalURL;
+	}
+
+	public final void setLocalPortalURL(URL localPortalURL) {
+		this.localPortalURL = localPortalURL;
+	}
+
+	public final void setLocalPortalURL(String localPortalURL) throws MalformedURLException {
+		setLocalPortalURL(new URL(localPortalURL));
+	}
+
+	public URL getNationalPortalURL() {
+		return nationalPortalURL;
+	}
+
+	public final void setNationalPortalURL(URL nationalPortalURL) {
+		this.nationalPortalURL = nationalPortalURL;
+	}
+
+	public final void setNationalPortalURL(String nationalPortalURL) throws MalformedURLException {
+		setNationalPortalURL(new URL(nationalPortalURL));
 	}
 
@@ -199,4 +233,14 @@
 
 	public AbstractReader getReaderForUrl(String url) {return null;}
+	
+	private boolean hasLicenseToBeAccepted = true;
+
+	public final boolean hasLicenseToBeAccepted() {
+		return hasLicenseToBeAccepted;
+	}
+
+	public final void setHasLicenseToBeAccepted(boolean hasLicenseToBeAccepted) {
+		this.hasLicenseToBeAccepted = hasLicenseToBeAccepted;
+	}
 
 	public final DataSetCategory getCategory() {
@@ -226,79 +270,6 @@
 	}
 
-	public enum OaQueryType {
-		NODE ("node"),
-		WAY ("way"),
-		RELATION ("relation");
-		@Override
-		public String toString() { return this.value; }
-		private OaQueryType(final String value) { this.value = value; }
-		private final String value;
-	}
-
-	public enum OaRecurseType {
-		RELATION_RELATION ("relation-relation"),
-		RELATION_BACKWARDS ("relation-backwards"),
-		RELATION_WAY ("relation-way"),
-		RELATION_NODE ("relation-node"),
-		WAY_NODE ("way-node"),
-		WAY_RELATION ("way-relation"),
-		NODE_RELATION ("node-relation"),
-		NODE_WAY ("node-way");
-		@Override
-		public String toString() { return this.value; }
-		private OaRecurseType(final String value) { this.value = value; }
-		private final String value;
-	}
 
 	protected String getOverpassApiRequest(String bbox) {return null;}
-	
-	protected final String oaUnion(String ... queries) {
-		String result = "<union>\n";
-		for (String query : queries) {
-			if (query != null) {
-				result += query + "\n";
-			}
-		}
-		result += "</union>";
-		return result;
-	}
-	
-	protected final String oaQuery(String bbox, OaQueryType type, String ... conditions) {
-		String result = "<query type=\""+type+"\" >\n";
-		if (bbox != null) {
-			result += "<bbox-query "+bbox+"/>\n";
-		}
-		for (String condition : conditions) {
-			if (condition != null) {
-				result += condition + "\n";
-			}
-		}
-		result += "</query>";
-		return result;
-	}
-
-	protected final String oaRecurse(OaRecurseType type, String into) {
-		return "<recurse type=\""+type+"\" into=\""+into+"\"/>\n";
-	}
-
-	protected final String oaRecurse(OaRecurseType ... types) {
-		String result = "";
-		for (OaRecurseType type : types) {
-			result += "<recurse type=\""+type+"\"/>\n";
-		}
-		return result;
-	}
-	
-	protected final String oaPrint() {
-		return "<print mode=\"meta\"/>";
-	}
-	
-	protected final String oaHasKey(String key) {
-		return oaHasKey(key, null);
-	}
-
-	protected final String oaHasKey(String key, String value) {
-		return "<has-kv k=\""+key+"\" "+(value != null && !value.isEmpty() ? "v=\""+value+"\"" : "")+" />";
-	}
 
 	public boolean equals(IPrimitive p1, IPrimitive p2) {return false;}
@@ -405,28 +376,4 @@
 	}
 	
-	public boolean handlesSpreadSheetProjection() {
-		return false;
-	}
-	
-	public List<Projection> getSpreadSheetProjections() {
-		return null;
-	}
-
-	public LatLon getSpreadSheetCoor(EastNorth en, String[] fields) {
-		return null;
-	}
-	
-	public Charset getCsvCharset() {
-		return null;
-	}
-	
-	public String getCsvSeparator() {
-		return null;
-	}
-	
-	public int getSheetNumber() {
-		return -1;
-	}
-	
 	public ExtendedSourceEntry getMapPaintStyle() {
 		return null;
@@ -446,9 +393,5 @@
 				fileNameWithoutExtension+"."+MAPCSS_EXT);
 	}
-	
-	public boolean preferMultipolygonToSimpleWay() {
-		return false;
-	}
-	
+		
 	public final void setAssociatedFile(File associatedFile) {
 		this.associatedFile = associatedFile;
@@ -457,87 +400,4 @@
 	public final File getAssociatedFile() {
 		return this.associatedFile;
-	}
-	
-	private static final List<Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>> 
-		ellipsoids = new ArrayList<Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>>();
-	static {
-		ellipsoids.add(new Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>(DefaultEllipsoid.GRS80, Ellipsoid.GRS80));
-		ellipsoids.add(new Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>(DefaultEllipsoid.WGS84, Ellipsoid.WGS84));
-	}
-	
-	private static final Double get(ParameterValueGroup values, ParameterDescriptor desc) {
-		return (Double) values.parameter(desc.getName().getCode()).getValue();
-	}
-	
-	private static final boolean equals(Double a, Double b) {
-		boolean res = Math.abs(a - b) <= Main.pref.getDouble(PREF_CRS_COMPARISON_TOLERANCE, DEFAULT_CRS_COMPARISON_TOLERANCE);
-		if (Main.pref.getBoolean(PREF_CRS_COMPARISON_DEBUG, false)) {
-			System.out.println("Comparing "+a+" and "+b+" -> "+res);
-		}
-		return res; 
-	}
-	
-	public MathTransform findMathTransform(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, boolean lenient) throws FactoryException {
-		if (sourceCRS instanceof GeographicCRS && sourceCRS.getName().getCode().equalsIgnoreCase("GCS_ETRS_1989")) {
-			return CRS.findMathTransform(CRS.decode("EPSG:4258"), targetCRS, lenient);
-		} else if (sourceCRS instanceof AbstractDerivedCRS && sourceCRS.getName().getCode().equalsIgnoreCase("Lambert_Conformal_Conic")) {
-			List<MathTransform> result = new ArrayList<MathTransform>();
-			AbstractDerivedCRS crs = (AbstractDerivedCRS) sourceCRS;
-			MathTransform transform = crs.getConversionFromBase().getMathTransform();
-			if (transform instanceof LambertConformal && crs.getDatum() instanceof GeodeticDatum) {
-				LambertConformal lambert = (LambertConformal) transform;
-				GeodeticDatum geo = (GeodeticDatum) crs.getDatum();
-				for (Projection p : Projections.getProjections()) {
-					if (p instanceof AbstractProjection) {
-						AbstractProjection ap = (AbstractProjection) p;
-						if (ap.getProj() instanceof LambertConformalConic) {
-							for (Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid> pair : ellipsoids) {
-								if (pair.a.equals(geo.getEllipsoid()) && pair.b.equals(ap.getEllipsoid())) {
-									boolean ok = true;
-									ParameterValueGroup values = lambert.getParameterValues();
-									Parameters params = ((LambertConformalConic) ap.getProj()).getParameters();
-									
-									ok = ok ? equals(get(values, AbstractProvider.LATITUDE_OF_ORIGIN), params.latitudeOrigin) : ok;
-									ok = ok ? equals(get(values, AbstractProvider.CENTRAL_MERIDIAN), ap.getCentralMeridian()) : ok;
-									ok = ok ? equals(get(values, AbstractProvider.SCALE_FACTOR), ap.getScaleFactor()) : ok;
-									ok = ok ? equals(get(values, AbstractProvider.FALSE_EASTING), ap.getFalseEasting()) : ok;
-									ok = ok ? equals(get(values, AbstractProvider.FALSE_NORTHING), ap.getFalseNorthing()) : ok;
-									
-									if (lambert instanceof LambertConformal2SP && params instanceof Parameters2SP) {
-										Parameters2SP param = (Parameters2SP) params;
-										ok = ok ? equals(Math.min(get(values, AbstractProvider.STANDARD_PARALLEL_1),get(values, AbstractProvider.STANDARD_PARALLEL_2)), 
-														 Math.min(param.standardParallel1, param.standardParallel2)) : ok;
-										ok = ok ? equals(Math.max(get(values, AbstractProvider.STANDARD_PARALLEL_1), get(values, AbstractProvider.STANDARD_PARALLEL_2)),
-												         Math.max(param.standardParallel1, param.standardParallel2)) : ok;
-										
-									} else if (!(lambert instanceof LambertConformal1SP && params instanceof Parameters1SP)) {
-										ok = false;
-									}
-
-									if (ok) {
-										try {
-											result.add(CRS.findMathTransform(CRS.decode(p.toCode()), targetCRS, lenient));
-										} catch (FactoryException e) {
-											System.err.println(e.getMessage());
-										}
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-			if (!result.isEmpty()) {
-				if (result.size() > 1) {
-					System.err.println("Found multiple projections !"); // TODO: something
-				}
-				return result.get(0);
-			}
-		}
-		return null;
-	}
-
-	public boolean checkShpNodeProximity() {
-		return false;
 	}
 	
@@ -555,17 +415,51 @@
 		return false;
 	}
-
-	private boolean setSkipXsdValidationInZipReading = false;
-	
-	public final void setSkipXsdValidationInZipReading(boolean skip) {
-		setSkipXsdValidationInZipReading = skip;
-	}
-	
-	public boolean skipXsdValidationInZipReading() {
-		return setSkipXsdValidationInZipReading;
-	}
-
-	public void notifyTempFileWritten(File file) {
-		// Do nothing, let handler overload this method if they need it
+	
+	// --------- Shapefile handling ---------
+	
+	private ShpHandler shpHandler;
+
+	public final void setShpHandler(ShpHandler handler) {
+		shpHandler = handler;
+	}
+	
+	public final ShpHandler getShpHandler() {
+		return shpHandler;
+	}
+
+	// ------------ Zip handling ------------
+	
+	private ZipHandler zipHandler;
+
+	public final void setZipHandler(ZipHandler handler) {
+		zipHandler = handler;
+	}
+	
+	public ZipHandler getZipHandler() {
+		return zipHandler;
+	}
+	
+	// ------ Spreadsheet handling ----------
+
+	private SpreadSheetHandler ssHandler;
+
+	public final void setSpreadSheetHandler(SpreadSheetHandler handler) {
+		ssHandler = handler;
+	}
+	
+	public final SpreadSheetHandler getSpreadSheetHandler() {
+		return ssHandler;
+	}
+
+	public final void setCsvHandler(CsvHandler handler) {
+		setSpreadSheetHandler(handler);
+	}
+	
+	public final CsvHandler getCsvHandler() {
+		if (ssHandler instanceof CsvHandler) {
+			return (CsvHandler) ssHandler;
+		} else {
+			return null;
+		}
 	}
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/SimpleDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/SimpleDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/SimpleDataSetHandler.java	(revision 28113)
@@ -1,11 +1,18 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 package org.openstreetmap.josm.plugins.opendata.core.datasets;
-
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaQueryType.NODE;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaQueryType.WAY;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaQueryType.RELATION;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.NODE_RELATION;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.RELATION_WAY;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.WAY_NODE;
-import static org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler.OaRecurseType.WAY_RELATION;
 
 import java.util.ArrayList;
@@ -17,4 +24,8 @@
 import org.openstreetmap.josm.data.osm.Tag;
 import org.openstreetmap.josm.data.projection.Projection;
+import org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi;
+
+import static org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi.OaQueryType.*;
+import static org.openstreetmap.josm.plugins.opendata.core.io.OverpassApi.OaRecurseType.*;
 
 public abstract class SimpleDataSetHandler extends AbstractDataSetHandler {
@@ -155,5 +166,5 @@
 		List<String> conditions = new ArrayList<String>();
 		for (Tag tag : this.relevantTags) {
-			conditions.add(oaHasKey(tag.getKey(), tag.getValue()));
+			conditions.add(OverpassApi.hasKey(tag.getKey(), tag.getValue()));
 		}
 		return conditions.toArray(new String[0]);
@@ -162,15 +173,15 @@
 	protected String getOverpassApiQueries(String bbox, String ... conditions) {
 		String[] mpconditions = new String[conditions.length+1];
-		mpconditions[0] = oaHasKey("type", "multipolygon");
+		mpconditions[0] = OverpassApi.hasKey("type", "multipolygon");
 		for (int i=0; i<conditions.length; i++) {
 			mpconditions[i+1] = conditions[i];
 		}
-		return oaQuery(bbox, NODE, conditions) + "\n" + // Nodes 
-				oaRecurse(NODE_RELATION, RELATION_WAY, WAY_NODE) + "\n" +
-				oaQuery(bbox, WAY, conditions) + "\n" + // Full ways and their full relations 
-				oaRecurse(WAY_NODE, "nodes") + "\n" +
-				oaRecurse(WAY_RELATION, RELATION_WAY, WAY_NODE) + "\n" +
-				oaQuery(bbox, RELATION, mpconditions) + "\n" + // Full multipolygons
-				oaRecurse(RELATION_WAY, WAY_NODE);
+		return OverpassApi.query(bbox, NODE, conditions) + "\n" + // Nodes 
+			OverpassApi.recurse(NODE_RELATION, RELATION_WAY, WAY_NODE) + "\n" +
+			OverpassApi.query(bbox, WAY, conditions) + "\n" + // Full ways and their full relations 
+			OverpassApi.recurse(WAY_NODE, "nodes") + "\n" +
+			OverpassApi.recurse(WAY_RELATION, RELATION_WAY, WAY_NODE) + "\n" +
+			OverpassApi.query(bbox, RELATION, mpconditions) + "\n" + // Full multipolygons
+			OverpassApi.recurse(RELATION_WAY, WAY_NODE);
 	}
 	
@@ -183,11 +194,11 @@
 		if (this.relevantUnion) {
 			for (Tag tag : this.relevantTags) {
-				result += getOverpassApiQueries(bbox, oaHasKey(tag.getKey(), tag.getValue())); 
-			}
-			result = oaUnion(result);
+				result += getOverpassApiQueries(bbox, OverpassApi.hasKey(tag.getKey(), tag.getValue())); 
+			}
+			result = OverpassApi.union(result);
 		} else {
-			result = oaUnion(getOverpassApiQueries(bbox, getOverpassApiConditions()));
-		}
-		return result + oaPrint();
+			result = OverpassApi.union(getOverpassApiQueries(bbox, getOverpassApiConditions()));
+		}
+		return result + OverpassApi.print();
 	}
 
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/be/BelgianDataSetHandler.java	(revision 28113)
@@ -18,6 +18,4 @@
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Locale;
 
@@ -28,4 +26,5 @@
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.SimpleDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
 
 public abstract class BelgianDataSetHandler extends SimpleDataSetHandler implements BelgianConstants {
@@ -45,21 +44,48 @@
 		lambert2008
 	};
+	
+	protected class InternalCsvHandler extends DefaultCsvHandler {
+		/*@Override
+		public List<Projection> getSpreadSheetProjections() {
+			if (singleProjection != null) {
+				return Arrays.asList(new Projection[]{singleProjection});
+			} else {
+				return Arrays.asList(projections);
+			}
+		}*/
+		
+		@Override
+		public LatLon getCoor(EastNorth en, String[] fields) {
+			if (singleProjection != null) {
+				return singleProjection.eastNorth2latlon(en);
+			} else {
+				return super.getCoor(en, fields);
+			}
+		}
+	}
 
 	public BelgianDataSetHandler() {
-		
+		init();
 	}
 
 	public BelgianDataSetHandler(String relevantTag) {
 		super(relevantTag);
+		init();
 	}
 
 	public BelgianDataSetHandler(boolean relevantUnion, String[] relevantTags) {
 		super(relevantUnion, relevantTags);
+		init();
 	}
 
 	public BelgianDataSetHandler(boolean relevantUnion, Tag[] relevantTags) {
 		super(relevantUnion, relevantTags);
+		init();
 	}
 	
+	private void init() {
+		setCsvHandler(new InternalCsvHandler());
+	}
+
 	protected final void setNationalPortalPath(String nationalPortalPathDe, String nationalPortalPathEn, String nationalPortalPathFr, String nationalPortalPathNl) {
 		this.nationalPortalPathDe = nationalPortalPathDe;
@@ -71,4 +97,5 @@
 	protected final void setSingleProjection(Projection singleProjection) {
 		this.singleProjection = singleProjection;
+		getCsvHandler().setHandlesProjection(singleProjection != null);
 	}
 
@@ -116,35 +143,3 @@
 		return ICON_BE_24;
 	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#handlesCsvProjection()
-	 */
-	@Override
-	public boolean handlesSpreadSheetProjection() {
-		return singleProjection != null ? true : super.handlesSpreadSheetProjection();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvProjections()
-	 */
-	@Override
-	public List<Projection> getSpreadSheetProjections() {
-		if (singleProjection != null) {
-			return Arrays.asList(new Projection[]{singleProjection});
-		} else {
-			return Arrays.asList(projections);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCoor(org.openstreetmap.josm.data.coor.EastNorth, java.lang.String[])
-	 */
-	@Override
-	public LatLon getSpreadSheetCoor(EastNorth en, String[] fields) {
-		if (singleProjection != null) {
-			return singleProjection.eastNorth2latlon(en);
-		} else {
-			return super.getSpreadSheetCoor(en, fields);
-		}
-	}
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchDataSetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchDataSetHandler.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchDataSetHandler.java	(revision 28113)
@@ -21,12 +21,7 @@
 import java.net.URL;
 import java.util.Arrays;
-import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.geotools.referencing.CRS;
-import org.opengis.referencing.FactoryException;
-import org.opengis.referencing.crs.CoordinateReferenceSystem;
-import org.opengis.referencing.operation.MathTransform;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -38,4 +33,5 @@
 import org.openstreetmap.josm.data.projection.UTM.Hemisphere;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.SimpleDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.DefaultCsvHandler;
 
 public abstract class FrenchDataSetHandler extends SimpleDataSetHandler implements FrenchConstants {
@@ -66,21 +62,54 @@
 		utm40, // Reunion
 	};
+	
+	protected class InternalCsvHandler extends DefaultCsvHandler {
+		/*@Override
+		public List<Projection> getSpreadSheetProjections() {
+			if (singleProjection != null) {
+				return Arrays.asList(new Projection[]{singleProjection});
+			} else {
+				return Arrays.asList(projections);
+			}
+		}*/
+		
+		@Override
+		public LatLon getCoor(EastNorth en, String[] fields) {
+			if (singleProjection != null) {
+				return singleProjection.eastNorth2latlon(en);
+			} else {
+				return super.getCoor(en, fields);
+			}
+		}
+
+		@Override
+		public boolean handlesProjection() {
+			return singleProjection != null;
+		}
+	}
 
 	public FrenchDataSetHandler() {
-		
+		init();
 	}
 
 	public FrenchDataSetHandler(String relevantTag) {
 		super(relevantTag);
+		init();
 	}
 
 	public FrenchDataSetHandler(boolean relevantUnion, String[] relevantTags) {
 		super(relevantUnion, relevantTags);
+		init();
 	}
 
 	public FrenchDataSetHandler(boolean relevantUnion, Tag[] relevantTags) {
 		super(relevantUnion, relevantTags);
-	}
-	
+		init();
+	}
+	
+	private void init() {
+		setShpHandler(new FrenchShpHandler());
+		setCsvHandler(new InternalCsvHandler());
+	}
+
 	protected final void setNationalPortalPath(String nationalPortalPath) {
 		this.nationalPortalPath = nationalPortalPath;
@@ -120,36 +149,4 @@
 	public String getNationalPortalIconName() {
 		return ICON_FR_24;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#handlesCsvProjection()
-	 */
-	@Override
-	public boolean handlesSpreadSheetProjection() {
-		return singleProjection != null ? true : super.handlesSpreadSheetProjection();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvProjections()
-	 */
-	@Override
-	public List<Projection> getSpreadSheetProjections() {
-		if (singleProjection != null) {
-			return Arrays.asList(new Projection[]{singleProjection});
-		} else {
-			return Arrays.asList(projections);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getCsvCoor(org.openstreetmap.josm.data.coor.EastNorth, java.lang.String[])
-	 */
-	@Override
-	public LatLon getSpreadSheetCoor(EastNorth en, String[] fields) {
-		if (singleProjection != null) {
-			return singleProjection.eastNorth2latlon(en);
-		} else {
-			return super.getSpreadSheetCoor(en, fields);
-		}
 	}
 	
@@ -258,18 +255,3 @@
 		return "";
 	}
-
-	/* (non-Javadoc)
-	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#findMathTransform(org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.crs.CoordinateReferenceSystem, boolean)
-	 */
-	@Override
-	public MathTransform findMathTransform(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, boolean lenient)
-			throws FactoryException {
-		if (sourceCRS.getName().getCode().equalsIgnoreCase("RGM04")) {
-			return CRS.findMathTransform(CRS.decode("EPSG:4471"), targetCRS, lenient);
-		} else if (sourceCRS.getName().getCode().equalsIgnoreCase("RGFG95_UTM_Zone_22N")) {
-			return CRS.findMathTransform(CRS.decode("EPSG:2972"), targetCRS, lenient);
-		} else {
-			return super.findMathTransform(sourceCRS, targetCRS, lenient);
-		}
-	}
 }
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchShpHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchShpHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/datasets/fr/FrenchShpHandler.java	(revision 28113)
@@ -0,0 +1,40 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.datasets.fr;
+
+import org.geotools.referencing.CRS;
+import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.operation.MathTransform;
+import org.openstreetmap.josm.plugins.opendata.core.io.geographic.DefaultShpHandler;
+
+public class FrenchShpHandler extends DefaultShpHandler {
+
+	/* (non-Javadoc)
+	 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#findMathTransform(org.opengis.referencing.crs.CoordinateReferenceSystem, org.opengis.referencing.crs.CoordinateReferenceSystem, boolean)
+	 */
+	@Override
+	public MathTransform findMathTransform(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, boolean lenient)
+			throws FactoryException {
+		if (sourceCRS.getName().getCode().equalsIgnoreCase("RGM04")) {
+			return CRS.findMathTransform(CRS.decode("EPSG:4471"), targetCRS, lenient);
+		} else if (sourceCRS.getName().getCode().equalsIgnoreCase("RGFG95_UTM_Zone_22N")) {
+			return CRS.findMathTransform(CRS.decode("EPSG:2972"), targetCRS, lenient);
+		} else {
+			return super.findMathTransform(sourceCRS, targetCRS, lenient);
+		}
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/AskLicenseAgreementDialog.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/AskLicenseAgreementDialog.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/AskLicenseAgreementDialog.java	(revision 28113)
@@ -0,0 +1,91 @@
+package org.openstreetmap.josm.plugins.opendata.core.gui;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.io.IOException;
+
+import javax.swing.Icon;
+import javax.swing.JEditorPane;
+import javax.swing.JOptionPane;
+import javax.swing.JScrollPane;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
+import org.openstreetmap.josm.tools.ImageProvider;
+
+public class AskLicenseAgreementDialog extends ExtendedDialog {
+
+	private final License license;
+	private final JEditorPane htmlPane;
+	private boolean summary;
+	
+	public AskLicenseAgreementDialog(License license) throws IOException {
+		super(Main.parent, tr("License Agreement"), new String[] {tr("Accept"), "", tr("Refuse")});
+		
+		this.license = license;
+		this.htmlPane = new JEditorPane();
+		//htmlPane.setEditorKitForContentType(pdfEditorKit.getContentType(), pdfEditorKit);
+		htmlPane.setEditable(false);
+		if (license.getSummaryURL() != null) {
+			htmlPane.setPage(license.getSummaryURL());
+			summary = true;
+		} else {
+			htmlPane.setPage(license.getURL());
+			summary = false;
+		}
+		JScrollPane scrollPane = new JScrollPane(htmlPane);
+		scrollPane.setPreferredSize(new Dimension(800, 600));
+        
+        setButtonIcons(new Icon[] {
+                ImageProvider.get("ok"),
+                ImageProvider.get("agreement24"),
+                ImageProvider.get("cancel"),
+                });
+        setToolTipTexts(new String[] {
+                tr("I understand and accept these terms and conditions"),
+                tr("View the full text of this license"),
+                tr("I refuse these terms and conditions. Cancel download.")});
+        if (license.getIcon() != null) {
+        	setIcon(license.getIcon());
+        } else {
+        	setIcon(JOptionPane.INFORMATION_MESSAGE);
+        }
+        setCancelButton(3);
+        setMinimumSize(new Dimension(300, 200));
+        setContent(scrollPane, false);
+	}
+
+	@Override
+	protected void buttonAction(int buttonIndex, ActionEvent evt) {
+		if (buttonIndex == 1) {
+			try {
+				if (summary) {
+					buttons.get(1).setText(tr("View summary"));
+					htmlPane.setPage(license.getURL());
+				} else {
+					buttons.get(1).setText(tr("View full text"));
+					htmlPane.setPage(license.getSummaryURL());
+				}
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+			summary = !summary;
+		} else {
+			super.buttonAction(buttonIndex, evt);
+		}
+	}
+
+	@Override
+	public void setupDialog() {
+		super.setupDialog();
+		buttons.get(1).setEnabled(license.getSummaryURL() != null && license.getURL() != null);
+		if (summary) {
+			buttons.get(1).setText(tr("View full text"));
+		} else {
+			buttons.get(1).setText(tr("View summary"));
+		}
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/NetworkReader.java	(revision 28113)
@@ -50,10 +50,9 @@
 	private String filename;
 	
-    public NetworkReader(String url, AbstractDataSetHandler handler, Class<? extends AbstractReader> readerClass) {
+    public NetworkReader(String url, AbstractDataSetHandler handler) {
         CheckParameterUtil.ensureParameterNotNull(url, "url");
-        //CheckParameterUtil.ensureParameterNotNull(readerClass, "readerClass");
     	this.url = url;
-        this.readerClass = readerClass;
         this.handler = handler;
+        this.readerClass = null;
     }
     
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/OverpassApi.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/OverpassApi.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/OverpassApi.java	(revision 28113)
@@ -0,0 +1,93 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io;
+
+public abstract class OverpassApi {
+
+	public enum OaQueryType {
+		NODE ("node"),
+		WAY ("way"),
+		RELATION ("relation");
+		@Override
+		public String toString() { return this.value; }
+		private OaQueryType(final String value) { this.value = value; }
+		private final String value;
+	}
+
+	public enum OaRecurseType {
+		RELATION_RELATION ("relation-relation"),
+		RELATION_BACKWARDS ("relation-backwards"),
+		RELATION_WAY ("relation-way"),
+		RELATION_NODE ("relation-node"),
+		WAY_NODE ("way-node"),
+		WAY_RELATION ("way-relation"),
+		NODE_RELATION ("node-relation"),
+		NODE_WAY ("node-way");
+		@Override
+		public String toString() { return this.value; }
+		private OaRecurseType(final String value) { this.value = value; }
+		private final String value;
+	}
+	
+	public static final String union(String ... queries) {
+		String result = "<union>\n";
+		for (String query : queries) {
+			if (query != null) {
+				result += query + "\n";
+			}
+		}
+		result += "</union>";
+		return result;
+	}
+	
+	public static final String query(String bbox, OaQueryType type, String ... conditions) {
+		String result = "<query type=\""+type+"\" >\n";
+		if (bbox != null) {
+			result += "<bbox-query "+bbox+"/>\n";
+		}
+		for (String condition : conditions) {
+			if (condition != null) {
+				result += condition + "\n";
+			}
+		}
+		result += "</query>";
+		return result;
+	}
+
+	public static final String recurse(OaRecurseType type, String into) {
+		return "<recurse type=\""+type+"\" into=\""+into+"\"/>\n";
+	}
+
+	public static final String recurse(OaRecurseType ... types) {
+		String result = "";
+		for (OaRecurseType type : types) {
+			result += "<recurse type=\""+type+"\"/>\n";
+		}
+		return result;
+	}
+	
+	public static final String print() {
+		return "<print mode=\"meta\"/>";
+	}
+	
+	public static final String hasKey(String key) {
+		return hasKey(key, null);
+	}
+
+	public static final String hasKey(String key, String value) {
+		return "<has-kv k=\""+key+"\" "+(value != null && !value.isEmpty() ? "v=\""+value+"\"" : "")+" />";
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/DefaultZipHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/DefaultZipHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/DefaultZipHandler.java	(revision 28113)
@@ -0,0 +1,38 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.archive;
+
+import java.io.File;
+
+public class DefaultZipHandler implements ZipHandler {
+
+	private boolean skipXsdValidation = false;
+	
+	@Override
+	public final void setSkipXsdValidation(boolean skip) {
+		skipXsdValidation = skip;
+	}
+	
+	@Override
+	public boolean skipXsdValidation() {
+		return skipXsdValidation;
+	}
+	
+	@Override
+	public void notifyTempFileWritten(File file) {
+		// Do nothing, let subclass override this method if they need it
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipHandler.java	(revision 28113)
@@ -0,0 +1,27 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.archive;
+
+import java.io.File;
+
+public interface ZipHandler {
+
+	public void notifyTempFileWritten(File file);
+
+	public boolean skipXsdValidation();
+
+	public void setSkipXsdValidation(boolean skip);
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/archive/ZipReader.java	(revision 28113)
@@ -50,4 +50,5 @@
 	private final ZipInputStream zis;
 	private final AbstractDataSetHandler handler;
+	private final ZipHandler zipHandler;
 	
 	private File file;
@@ -56,4 +57,5 @@
         this.zis = in instanceof ZipInputStream ? (ZipInputStream) in : new ZipInputStream(in);
         this.handler = handler;
+        this.zipHandler = handler != null ? handler.getZipHandler() : null;
     }
 
@@ -116,6 +118,6 @@
 					fos.close();
 					// Allow handler to perform specific treatments (for example, fix invalid .prj files)
-					if (handler != null) {
-						handler.notifyTempFileWritten(file);
+					if (zipHandler != null) {
+						zipHandler.notifyTempFileWritten(file);
 					}
 					// Set last modification date
@@ -135,5 +137,5 @@
 					}
 					// Special treatment for XML files (check supported XSD), unless handler explicitely skip it
-					if (XML_FILE_FILTER.accept(file) && ((handler != null && handler.skipXsdValidationInZipReading()) 
+					if (XML_FILE_FILTER.accept(file) && ((zipHandler != null && zipHandler.skipXsdValidation()) 
 							|| OdPlugin.getInstance().xmlImporter.acceptFile(file))) {
 						candidates.add(file);
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/DefaultShpHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/DefaultShpHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/DefaultShpHandler.java	(revision 28113)
@@ -0,0 +1,153 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.geotools.referencing.CRS;
+import org.geotools.referencing.crs.AbstractDerivedCRS;
+import org.geotools.referencing.datum.DefaultEllipsoid;
+import org.geotools.referencing.operation.projection.LambertConformal;
+import org.geotools.referencing.operation.projection.LambertConformal1SP;
+import org.geotools.referencing.operation.projection.LambertConformal2SP;
+import org.geotools.referencing.operation.projection.MapProjection.AbstractProvider;
+import org.opengis.parameter.ParameterDescriptor;
+import org.opengis.parameter.ParameterValueGroup;
+import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.crs.GeographicCRS;
+import org.opengis.referencing.datum.GeodeticDatum;
+import org.opengis.referencing.operation.MathTransform;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.projection.AbstractProjection;
+import org.openstreetmap.josm.data.projection.Ellipsoid;
+import org.openstreetmap.josm.data.projection.Projection;
+import org.openstreetmap.josm.data.projection.Projections;
+import org.openstreetmap.josm.data.projection.proj.LambertConformalConic;
+import org.openstreetmap.josm.data.projection.proj.LambertConformalConic.Parameters;
+import org.openstreetmap.josm.data.projection.proj.LambertConformalConic.Parameters1SP;
+import org.openstreetmap.josm.data.projection.proj.LambertConformalConic.Parameters2SP;
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
+import org.openstreetmap.josm.tools.Pair;
+
+public class DefaultShpHandler implements ShpHandler, OdConstants {
+
+	private static final List<Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>> 
+		ellipsoids = new ArrayList<Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>>();
+	static {
+		ellipsoids.add(new Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>(DefaultEllipsoid.GRS80, Ellipsoid.GRS80));
+		ellipsoids.add(new Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid>(DefaultEllipsoid.WGS84, Ellipsoid.WGS84));
+	}
+	
+	private static final Double get(ParameterValueGroup values, ParameterDescriptor desc) {
+		return (Double) values.parameter(desc.getName().getCode()).getValue();
+	}
+	
+	private static final boolean equals(Double a, Double b) {
+		boolean res = Math.abs(a - b) <= Main.pref.getDouble(PREF_CRS_COMPARISON_TOLERANCE, DEFAULT_CRS_COMPARISON_TOLERANCE);
+		if (Main.pref.getBoolean(PREF_CRS_COMPARISON_DEBUG, false)) {
+			System.out.println("Comparing "+a+" and "+b+" -> "+res);
+		}
+		return res; 
+	}
+	
+	private boolean checkNodeProximity = false;
+	private boolean preferMultipolygonToSimpleWay = false;
+
+	@Override
+	public MathTransform findMathTransform(CoordinateReferenceSystem sourceCRS,
+			CoordinateReferenceSystem targetCRS, boolean lenient)
+			throws FactoryException {
+		if (sourceCRS instanceof GeographicCRS && sourceCRS.getName().getCode().equalsIgnoreCase("GCS_ETRS_1989")) {
+			return CRS.findMathTransform(CRS.decode("EPSG:4258"), targetCRS, lenient);
+		} else if (sourceCRS instanceof AbstractDerivedCRS && sourceCRS.getName().getCode().equalsIgnoreCase("Lambert_Conformal_Conic")) {
+			List<MathTransform> result = new ArrayList<MathTransform>();
+			AbstractDerivedCRS crs = (AbstractDerivedCRS) sourceCRS;
+			MathTransform transform = crs.getConversionFromBase().getMathTransform();
+			if (transform instanceof LambertConformal && crs.getDatum() instanceof GeodeticDatum) {
+				LambertConformal lambert = (LambertConformal) transform;
+				GeodeticDatum geo = (GeodeticDatum) crs.getDatum();
+				for (Projection p : Projections.getProjections()) {
+					if (p instanceof AbstractProjection) {
+						AbstractProjection ap = (AbstractProjection) p;
+						if (ap.getProj() instanceof LambertConformalConic) {
+							for (Pair<org.opengis.referencing.datum.Ellipsoid, Ellipsoid> pair : ellipsoids) {
+								if (pair.a.equals(geo.getEllipsoid()) && pair.b.equals(ap.getEllipsoid())) {
+									boolean ok = true;
+									ParameterValueGroup values = lambert.getParameterValues();
+									Parameters params = ((LambertConformalConic) ap.getProj()).getParameters();
+									
+									ok = ok ? equals(get(values, AbstractProvider.LATITUDE_OF_ORIGIN), params.latitudeOrigin) : ok;
+									ok = ok ? equals(get(values, AbstractProvider.CENTRAL_MERIDIAN), ap.getCentralMeridian()) : ok;
+									ok = ok ? equals(get(values, AbstractProvider.SCALE_FACTOR), ap.getScaleFactor()) : ok;
+									ok = ok ? equals(get(values, AbstractProvider.FALSE_EASTING), ap.getFalseEasting()) : ok;
+									ok = ok ? equals(get(values, AbstractProvider.FALSE_NORTHING), ap.getFalseNorthing()) : ok;
+									
+									if (lambert instanceof LambertConformal2SP && params instanceof Parameters2SP) {
+										Parameters2SP param = (Parameters2SP) params;
+										ok = ok ? equals(Math.min(get(values, AbstractProvider.STANDARD_PARALLEL_1),get(values, AbstractProvider.STANDARD_PARALLEL_2)), 
+														 Math.min(param.standardParallel1, param.standardParallel2)) : ok;
+										ok = ok ? equals(Math.max(get(values, AbstractProvider.STANDARD_PARALLEL_1), get(values, AbstractProvider.STANDARD_PARALLEL_2)),
+												         Math.max(param.standardParallel1, param.standardParallel2)) : ok;
+										
+									} else if (!(lambert instanceof LambertConformal1SP && params instanceof Parameters1SP)) {
+										ok = false;
+									}
+
+									if (ok) {
+										try {
+											result.add(CRS.findMathTransform(CRS.decode(p.toCode()), targetCRS, lenient));
+										} catch (FactoryException e) {
+											System.err.println(e.getMessage());
+										}
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+			if (!result.isEmpty()) {
+				if (result.size() > 1) {
+					System.err.println("Found multiple projections !"); // TODO: something
+				}
+				return result.get(0);
+			}
+		}
+		return null;
+	}
+
+	@Override
+	public boolean preferMultipolygonToSimpleWay() {
+		return preferMultipolygonToSimpleWay;
+	}
+
+	@Override
+	public void setPreferMultipolygonToSimpleWay(boolean prefer) {
+		preferMultipolygonToSimpleWay = prefer;
+	}
+
+	@Override
+	public boolean checkNodeProximity() {
+		return checkNodeProximity;
+	}
+
+	@Override
+	public void setCheckNodeProximity(boolean check) {
+		checkNodeProximity = check;
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpHandler.java	(revision 28113)
@@ -0,0 +1,33 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.geographic;
+
+import org.opengis.referencing.FactoryException;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.opengis.referencing.operation.MathTransform;
+
+public interface ShpHandler {
+
+	public MathTransform findMathTransform(CoordinateReferenceSystem sourceCRS, CoordinateReferenceSystem targetCRS, boolean lenient) throws FactoryException;
+
+	public void setPreferMultipolygonToSimpleWay(boolean prefer);
+
+	public boolean preferMultipolygonToSimpleWay();
+
+	public void setCheckNodeProximity(boolean check);
+	
+	public boolean checkNodeProximity();
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/ShpReader.java	(revision 28113)
@@ -84,5 +84,5 @@
 public class ShpReader extends AbstractReader implements OdConstants {
 
-	private final AbstractDataSetHandler handler;
+	private final ShpHandler handler;
 	
 	private final CoordinateReferenceSystem wgs84;
@@ -93,5 +93,5 @@
 	private MathTransform transform;
 	
-	public ShpReader(AbstractDataSetHandler handler) throws NoSuchAuthorityCodeException, FactoryException {
+	public ShpReader(ShpHandler handler) throws NoSuchAuthorityCodeException, FactoryException {
 		this.handler = handler;
 		this.wgs84 = CRS.decode("EPSG:4326");
@@ -105,5 +105,5 @@
 		}
 		try {
-			return new ShpReader(handler).parse(file, instance);
+			return new ShpReader(handler != null ? handler.getShpHandler() : null).parse(file, instance);
 		} catch (IOException e) {
 			throw e;
@@ -373,5 +373,5 @@
 	private Node getNode(Point p, String key) {
 		Node n = nodes.get(key);
-		if (n == null && handler != null && handler.checkShpNodeProximity()) {
+		if (n == null && handler != null && handler.checkNodeProximity()) {
 			LatLon ll = new LatLon(p.getY(), p.getX());
 			for (Node node : nodes.values()) {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/geographic/TabReader.java	(revision 28113)
@@ -34,4 +34,5 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
+import org.openstreetmap.josm.plugins.opendata.core.io.tabular.SpreadSheetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.io.tabular.SpreadSheetReader;
 
@@ -76,5 +77,5 @@
 
 		private final DbaseFileReader dbfReader;
-		public TabOsmReader(AbstractDataSetHandler handler, TabFiles tabFiles) throws IOException {
+		public TabOsmReader(SpreadSheetHandler handler, TabFiles tabFiles) throws IOException {
 			super(handler);
 			this.dbfReader = new DbaseFileReader(tabFiles, false, datCharset, null);
@@ -111,5 +112,5 @@
         try {
         	File dataFile = getDataFile(file, ".dat");
-        	ds.mergeFrom(new TabOsmReader(handler, new TabFiles(file, dataFile)).
+        	ds.mergeFrom(new TabOsmReader(handler != null ? handler.getSpreadSheetHandler() : null, new TabFiles(file, dataFile)).
         			doParse(columns.toArray(new String[0]), instance));
         } catch (IOException e) {
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvHandler.java	(revision 28113)
@@ -0,0 +1,31 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import java.nio.charset.Charset;
+
+public interface CsvHandler extends SpreadSheetHandler {
+
+	public void setCharset(Charset charset);
+
+	public void setCharset(String charset);
+
+	public Charset getCharset();
+
+	public void setSeparator(String sep);
+	
+	public String getSeparator();
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/CsvReader.java	(revision 28113)
@@ -35,23 +35,27 @@
 	private String line;
 
-	public CsvReader(AbstractDataSetHandler handler) {
+	public CsvReader(CsvHandler handler) {
 		this(handler, ";");
 	}
 
-	public CsvReader(AbstractDataSetHandler handler, String defaultSep) {
+	public CsvReader(CsvHandler handler, String defaultSep) {
 		super(handler);
-		this.charset = handler != null && handler.getCsvCharset() != null ? handler.getCsvCharset() : Charset.forName(UTF8);
-		this.sep = handler != null && handler.getCsvSeparator() != null ? handler.getCsvSeparator() : defaultSep;
+		this.charset = handler != null && handler.getCharset() != null ? handler.getCharset() : Charset.forName(UTF8);
+		this.sep = handler != null && handler.getSeparator() != null ? handler.getSeparator() : defaultSep;
 	}
 	
 	public static DataSet parseDataSet(InputStream in, AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException {
-		CsvReader csvReader = new CsvReader(handler);
+		CsvHandler csvHandler = null;
+		if (handler.getSpreadSheetHandler() instanceof CsvHandler) {
+			csvHandler = (CsvHandler) handler.getSpreadSheetHandler();
+		}
+		CsvReader csvReader = new CsvReader(csvHandler);
 		try {
 			return csvReader.parse(in, instance);
 		} catch (IllegalArgumentException e) {
-			if (handler == null) {
+			if (csvHandler == null || (csvHandler.getSeparator() != null && csvHandler.getSeparator().equals(";"))) {
 				// If default sep has been used, try comma
 				System.out.println(e.getMessage());
-				CsvReader newReader = new CsvReader(handler, ",");
+				CsvReader newReader = new CsvReader(csvHandler, ",");
 				newReader.initResources(in, instance);
 				newReader.line = csvReader.line;
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/DefaultCsvHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/DefaultCsvHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/DefaultCsvHandler.java	(revision 28113)
@@ -0,0 +1,49 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import java.nio.charset.Charset;
+
+public class DefaultCsvHandler extends DefaultSpreadSheetHandler implements CsvHandler {
+
+	private Charset charset = null;
+	private String separator = null;
+	
+	@Override
+	public void setCharset(Charset cs) {
+		charset = cs;
+	}
+
+	@Override
+	public void setCharset(String charset) {
+		setCharset(Charset.forName(charset));
+	}
+
+	@Override
+	public Charset getCharset() {
+		return charset;
+	}
+
+	@Override
+	public void setSeparator(String sep) {
+		separator = sep;
+	}
+
+	@Override
+	public String getSeparator() {
+		return separator;
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/DefaultSpreadSheetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/DefaultSpreadSheetHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/DefaultSpreadSheetHandler.java	(revision 28113)
@@ -0,0 +1,50 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
+
+public class DefaultSpreadSheetHandler implements SpreadSheetHandler {
+
+	private int sheetNumber = -1;
+	private boolean handlesProjection = false;
+	
+	@Override
+	public int getSheetNumber() {
+		return sheetNumber;
+	}
+
+	@Override
+	public void setSheetNumber(int n) {
+		sheetNumber = n;
+	}
+	
+	@Override
+	public boolean handlesProjection() {
+		return handlesProjection;
+	}
+
+	@Override
+	public void setHandlesProjection(boolean handle) {
+		handlesProjection = handle;
+	}
+
+	@Override
+	public LatLon getCoor(EastNorth en, String[] fields) {
+		return null;
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsReader.java	(revision 28113)
@@ -38,5 +38,5 @@
 	private static final String SEP = "TextP:\\[";
 	
-	public OdsReader(AbstractDataSetHandler handler) {
+	public OdsReader(SpreadSheetHandler handler) {
 		super(handler);
 	}
@@ -44,5 +44,5 @@
 	public static DataSet parseDataSet(InputStream in,
 			AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException {
-		return new OdsReader(handler).parse(in, instance);
+		return new OdsReader(handler != null ? handler.getSpreadSheetHandler() : null).parse(in, instance);
 	}
 
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetHandler.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetHandler.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetHandler.java	(revision 28113)
@@ -0,0 +1,32 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.io.tabular;
+
+import org.openstreetmap.josm.data.coor.EastNorth;
+import org.openstreetmap.josm.data.coor.LatLon;
+
+public interface SpreadSheetHandler {
+
+	public void setSheetNumber(int n);
+	
+	public int getSheetNumber();
+
+	public void setHandlesProjection(boolean handle);
+	
+	public boolean handlesProjection();
+
+	public LatLon getCoor(EastNorth en, String[] fields);
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java	(revision 28113)
@@ -37,5 +37,4 @@
 import org.openstreetmap.josm.io.AbstractReader;
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
-import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.io.ProjectionChooser;
 import org.openstreetmap.josm.plugins.opendata.core.io.ProjectionPatterns;
@@ -53,7 +52,7 @@
 	}
 
-	protected final AbstractDataSetHandler handler;
-
-	public SpreadSheetReader(AbstractDataSetHandler handler) {
+	protected final SpreadSheetHandler handler;
+
+	public SpreadSheetReader(SpreadSheetHandler handler) {
 		this.handler = handler;
 	}
@@ -122,5 +121,5 @@
 		}
 
-		final boolean handlerOK = handler != null && handler.handlesSpreadSheetProjection();
+		final boolean handlerOK = handler != null && handler.handlesProjection();
 
 		if (proj != null) {
@@ -168,5 +167,5 @@
 			}
 			if (en.isValid()) {
-				n.setCoor(proj != null && !handlerOK ? proj.eastNorth2latlon(en) : handler.getSpreadSheetCoor(en, fields));
+				n.setCoor(proj != null && !handlerOK ? proj.eastNorth2latlon(en) : handler.getCoor(en, fields));
 			} else {
 				System.err.println("Warning: Skipping line "+lineNumber+" because no valid coordinates have been found.");
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/XlsReader.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/XlsReader.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/XlsReader.java	(revision 28113)
@@ -38,5 +38,5 @@
 	private int rowIndex;
 	
-	public XlsReader(AbstractDataSetHandler handler) {
+	public XlsReader(SpreadSheetHandler handler) {
 		super(handler);
 	}
@@ -44,5 +44,5 @@
 	public static DataSet parseDataSet(InputStream in,
 			AbstractDataSetHandler handler, ProgressMonitor instance) throws IOException {
-		return new XlsReader(handler).parse(in, instance);
+		return new XlsReader(handler != null ? handler.getSpreadSheetHandler() : null).parse(in, instance);
 	}
 
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java	(revision 28113)
@@ -38,4 +38,5 @@
 import org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler;
 import org.openstreetmap.josm.plugins.opendata.core.io.OsmDownloader;
+import org.openstreetmap.josm.plugins.opendata.core.licenses.License;
 import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
 
@@ -155,8 +156,15 @@
 					tr("View National Portal page"), tr("Launch browser to the national portal page of the selected data set")));
 		}
-		if (this.handler.getLicenseURL() != null) {
-			if (this.handler.getLicenseURL().getProtocol().startsWith("http")) {
-				result.add(new OpenLinkAction(this.handler.getLicenseURL(), ICON_AGREEMENT_24, 
+		if (this.handler.getLicense() != null) {
+			License lic = this.handler.getLicense();
+			if (lic.getURL() != null && lic.getURL().getProtocol().startsWith("http")) {
+				result.add(new OpenLinkAction(lic.getURL(), ICON_AGREEMENT_24, 
 						tr("View License"), tr("Launch browser to the license page of the selected data set")));
+			} else {
+				// TODO: view embedded licenses
+			}
+			if (lic.getSummaryURL() != null && lic.getSummaryURL().getProtocol().startsWith("http")) {
+				result.add(new OpenLinkAction(lic.getSummaryURL(), ICON_AGREEMENT_24, 
+						tr("View License (summary)"), tr("Launch browser to the summary license page of the selected data set")));
 			} else {
 				// TODO: view embedded licenses
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/LOOL.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/LOOL.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/LOOL.java	(revision 28113)
@@ -0,0 +1,30 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.licenses;
+
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
+import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
+
+public class LOOL extends License implements OdConstants {
+	
+    //public static final String URL_FR = "http://www.data.gouv.fr/Licence-Ouverte-Open-Licence";
+    
+	public LOOL() {
+		setIcon(OdUtils.getImageIcon(ICON_LOOL_48, true));
+		setURL(LOOL.class.getResource(RESOURCE_PATH+"Licence-Ouverte-Open-Licence-ENG.rtf"), "en");
+		setURL(LOOL.class.getResource(RESOURCE_PATH+"Licence-Ouverte-Open-Licence.rtf"), "fr");
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/License.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/License.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/License.java	(revision 28113)
@@ -0,0 +1,122 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.licenses;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.swing.Icon;
+
+import org.openstreetmap.josm.plugins.opendata.core.util.OdUtils;
+
+public abstract class License {
+	
+	public static final ODbL ODbL = new ODbL();
+	public static final LOOL LOOL = new LOOL();
+	
+	private final Map<String, URL> urls = new HashMap<String, URL>();
+	private final Map<String, URL> summaryURLs = new HashMap<String, URL>();
+	
+	private Icon icon;
+	
+	private static final URL getURL(Map<String, URL> map) {
+		// Find URL for current language
+		String lang = OdUtils.getJosmLanguage();
+		for (String l : map.keySet()) {
+			if (lang.startsWith(l)) {
+				return map.get(l);
+			}
+		}
+		// If not found, return english URL
+		URL url = map.get("en");
+		if (url != null) {
+			return url;
+		}
+		// If not found, return first non-null url
+		if (map.keySet().size() > 0) {
+			for (Iterator<String> it=map.keySet().iterator(); it.hasNext(); ) {
+				url = map.get(it.next());
+				if (url != null) {
+					return url;
+				}
+			}
+		}
+		// If empty, return null
+		return null;
+	}
+
+	public URL getURL() {
+		return getURL(urls);
+	}
+
+	public URL getSummaryURL() {
+		return getURL(summaryURLs);
+	}
+	
+	public final void setURL(URL url) {
+		setURL(url, "en");
+	}
+
+	public final void setURL(String url, String lang) throws MalformedURLException {
+		setURL(new URL(url), lang);
+	}
+
+	public final void setURL(String url) throws MalformedURLException {
+		setURL(new URL(url), "en");
+	}
+
+	public final void setURL(URL url, String lang) {
+		if (url != null) {
+			urls.put(lang, url);
+		}
+	}
+
+	public final void setSummaryURL(URL url) {
+		setSummaryURL(url, "en");
+	}
+
+	public final void setSummaryURL(String url, String lang) throws MalformedURLException {
+		setSummaryURL(new URL(url), lang);
+	}
+
+	public final void setSummaryURL(String url) throws MalformedURLException {
+		setSummaryURL(new URL(url), "en");
+	}
+
+	public final void setSummaryURL(URL url, String lang) {
+		if (url != null) {
+			summaryURLs.put(lang, url);
+		}
+	}
+
+	public final Icon getIcon() {
+		return icon;
+	}
+
+	public final void setIcon(Icon icon) {
+		this.icon = icon;
+	}
+
+	@Override
+	public String toString() {
+		return "License [" + (urls != null ? "urls=" + urls + ", " : "")
+				+ (summaryURLs != null ? "summaryURLs=" + summaryURLs : "")
+				+ "]";
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/ODbL.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/ODbL.java	(revision 28113)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/licenses/ODbL.java	(revision 28113)
@@ -0,0 +1,38 @@
+//    JOSM opendata plugin.
+//    Copyright (C) 2011-2012 Don-vip
+//
+//    This program is free software: you can redistribute it and/or modify
+//    it under the terms of the GNU General Public License as published by
+//    the Free Software Foundation, either version 3 of the License, or
+//    (at your option) any later version.
+//
+//    This program is distributed in the hope that it will be useful,
+//    but WITHOUT ANY WARRANTY; without even the implied warranty of
+//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//    GNU General Public License for more details.
+//
+//    You should have received a copy of the GNU General Public License
+//    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+package org.openstreetmap.josm.plugins.opendata.core.licenses;
+
+import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
+
+public class ODbL extends License implements OdConstants {
+	
+    //public static final String URL            = "http://opendatacommons.org/licenses/odbl/1-0";
+    //public static final String SUMMARY_URL    = "http://opendatacommons.org/licenses/odbl/summary";
+    //public static final String URL_FR         = "http://vvlibri.org/fr/licence/odbl/10/fr/legalcode#La_Licence_ODbL";
+    //public static final String SUMMARY_URL_FR = "http://vvlibri.org/fr/licence/odbl/10/fr";
+    
+	public ODbL() {
+		for (String lang : new String[]{"", "fr"}) {
+			if (lang.isEmpty()) {
+				setURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-1.0.htm"));
+				setSummaryURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-summary-1.0.htm"));
+			} else {
+				setURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-1.0-"+lang+".htm"), lang);
+				setSummaryURL(ODbL.class.getResource(RESOURCE_PATH+"odbl-summary-1.0-"+lang+".htm"), lang);
+			}
+		}
+	}
+}
Index: /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/OdUtils.java
===================================================================
--- /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/OdUtils.java	(revision 28112)
+++ /applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/util/OdUtils.java	(revision 28113)
@@ -18,8 +18,10 @@
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 
 import javax.swing.ImageIcon;
 
 import org.apache.commons.lang3.StringUtils;
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.Relation;
@@ -56,5 +58,17 @@
 	
 	public static final ImageIcon getImageIcon(String iconName) {
-		return new ImageProvider(iconName).setAdditionalClassLoaders(ModuleHandler.getResourceClassLoaders()).get();
+		return getImageIcon(iconName, false);
+	}
+	
+	public static final ImageIcon getImageIcon(String iconName, boolean optional) {
+		return new ImageProvider(iconName).setOptional(optional).setAdditionalClassLoaders(ModuleHandler.getResourceClassLoaders()).get();
+	}
+	
+	public static final String getJosmLanguage() {
+		String lang = Main.pref.get("language");
+		if (lang == null || lang.isEmpty()) {
+			lang = Locale.getDefault().toString();
+		}
+		return lang;
 	}
 }
