515344: Integrate new UCUM version 

Change-Id: I578aa98d7298ead9ab6a1aca074b6b5d7cebe744
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=515344
Signed-off-by: Werner Keil <werner.keil@gmx.net>
diff --git a/bundles/org.eclipse.uomo.business.tests/.classpath b/bundles/org.eclipse.uomo.business.tests/.classpath
index 0b1bcf9..cf36b56 100644
--- a/bundles/org.eclipse.uomo.business.tests/.classpath
+++ b/bundles/org.eclipse.uomo.business.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.business.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.business.tests/META-INF/MANIFEST.MF
index ffb82e8..2d0195d 100644
--- a/bundles/org.eclipse.uomo.business.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.business.tests/META-INF/MANIFEST.MF
@@ -5,5 +5,5 @@
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse Org
 Fragment-Host: org.eclipse.uomo.business;bundle-version="0.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.junit;bundle-version="4.11.0"
diff --git a/bundles/org.eclipse.uomo.business/.classpath b/bundles/org.eclipse.uomo.business/.classpath
index a625c7f..04f0184 100644
--- a/bundles/org.eclipse.uomo.business/.classpath
+++ b/bundles/org.eclipse.uomo.business/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/main/java/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.business/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.business/META-INF/MANIFEST.MF
index 0821101..3e0903b 100644
--- a/bundles/org.eclipse.uomo.business/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.business/META-INF/MANIFEST.MF
@@ -6,4 +6,4 @@
 Bundle-Vendor: Eclipse.org
 Require-Bundle: org.eclipse.uomo.core;bundle-version="0.8.0",
  org.eclipse.uomo.units;bundle-version="0.5.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.uomo.core.tests/.classpath b/bundles/org.eclipse.uomo.core.tests/.classpath
index 0b1bcf9..cf36b56 100644
--- a/bundles/org.eclipse.uomo.core.tests/.classpath
+++ b/bundles/org.eclipse.uomo.core.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.core.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.uomo.core.tests/.settings/org.eclipse.jdt.core.prefs
index f287d53..295926d 100644
--- a/bundles/org.eclipse.uomo.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.uomo.core.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1

 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

-org.eclipse.jdt.core.compiler.compliance=1.6

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8

+org.eclipse.jdt.core.compiler.compliance=1.8

 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

-org.eclipse.jdt.core.compiler.source=1.6

+org.eclipse.jdt.core.compiler.source=1.8

diff --git a/bundles/org.eclipse.uomo.core.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.core.tests/META-INF/MANIFEST.MF
index 3ddcd81..cb2abb7 100644
--- a/bundles/org.eclipse.uomo.core.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.core.tests/META-INF/MANIFEST.MF
@@ -5,6 +5,6 @@
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse org
 Fragment-Host: org.eclipse.uomo.core;bundle-version="0.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.uomo.core.impl;uses:="org.eclipse.uomo.core"
 Require-Bundle: org.junit
diff --git a/bundles/org.eclipse.uomo.core/.classpath b/bundles/org.eclipse.uomo.core/.classpath
index 710ceaa..d97fffd 100644
--- a/bundles/org.eclipse.uomo.core/.classpath
+++ b/bundles/org.eclipse.uomo.core/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry exported="true" kind="lib" path="libs/unit-api-0.6.1.jar"/>
 	<classpathentry kind="src" path="src/main/java/"/>
diff --git a/bundles/org.eclipse.uomo.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.core/META-INF/MANIFEST.MF
index 13df1c6..316f5cc 100644
--- a/bundles/org.eclipse.uomo.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.core/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@
 Tool: Bnd-0.0.160

 Bundle-Name: UOMo Core

 Created-By: 1.6.0_23-ea (Sun Microsystems Inc.)

-Bundle-RequiredExecutionEnvironment: JavaSE-1.6

+Bundle-RequiredExecutionEnvironment: JavaSE-1.8

 Require-Bundle: org.eclipse.osgi;bundle-version="3.6.0";visibility:=reexport,

  org.eclipse.osgi.services;bundle-version="3.2.100";visibility:=reexport

 Bundle-Vendor: Eclipse.org

diff --git a/bundles/org.eclipse.uomo.ucum.tests/.classpath b/bundles/org.eclipse.uomo.ucum.tests/.classpath
index 0b1bcf9..cf36b56 100644
--- a/bundles/org.eclipse.uomo.ucum.tests/.classpath
+++ b/bundles/org.eclipse.uomo.ucum.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.ucum.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.uomo.ucum.tests/.settings/org.eclipse.jdt.core.prefs
index c537b63..0c68a61 100644
--- a/bundles/org.eclipse.uomo.ucum.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.uomo.ucum.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/org.eclipse.uomo.ucum.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.ucum.tests/META-INF/MANIFEST.MF
index 63dad67..5f1cbd2 100644
--- a/bundles/org.eclipse.uomo.ucum.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.ucum.tests/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse.org
 Fragment-Host: org.eclipse.uomo.ucum;bundle-version="0.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.uomo.ucum.tests
 Require-Bundle: org.junit;bundle-version="4.8.2",
  org.eclipse.uomo.util;bundle-version="0.8.0",
diff --git a/bundles/org.eclipse.uomo.ucum.tests/src/org/eclipse/uomo/ucum/tests/UcumServiceTest.java b/bundles/org.eclipse.uomo.ucum.tests/src/org/eclipse/uomo/ucum/tests/UcumServiceTest.java
index 6836d28..149ad94 100644
--- a/bundles/org.eclipse.uomo.ucum.tests/src/org/eclipse/uomo/ucum/tests/UcumServiceTest.java
+++ b/bundles/org.eclipse.uomo.ucum.tests/src/org/eclipse/uomo/ucum/tests/UcumServiceTest.java
@@ -61,7 +61,7 @@
 				println(prop);
 			}
 		}
-		assertEquals(98, props.size());
+		assertEquals(100, props.size());
 	}
 	
 	
diff --git a/bundles/org.eclipse.uomo.ucum.tests/src/ucum-essence.xml b/bundles/org.eclipse.uomo.ucum.tests/src/ucum-essence.xml
index c6c6c9b..dda12a5 100644
--- a/bundles/org.eclipse.uomo.ucum.tests/src/ucum-essence.xml
+++ b/bundles/org.eclipse.uomo.ucum.tests/src/ucum-essence.xml
@@ -1,290 +1,290 @@
 <?xml version="1.0" encoding="ascii"?>
-<root xmlns="http://unitsofmeasure.org/ucum-essence" version="1.9"
-      revision="$Revision: 16410 $"
-      revision-date="$Date: 2013-10-21 21:24:43 -0700 (Mon, 21 Oct 2013) $">
-   <prefix xmlns="" Code="Y" CODE="YA">
+<root xmlns="http://unitsofmeasure.org/ucum-essence" version="2.0.1"
+      revision="$Revision: 439 $"
+      revision-date="$Date: 2015-11-13 15:13:19 -0500 (Fri, 13 Nov 2015) $">
+   <prefix Code="Y" CODE="YA">
       <name>yotta</name>
       <printSymbol>Y</printSymbol>
       <value value="1e24">1 &#215; 10<sup>24</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="Z" CODE="ZA">
+   <prefix Code="Z" CODE="ZA">
       <name>zetta</name>
       <printSymbol>Z</printSymbol>
       <value value="1e21">1 &#215; 10<sup>21</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="E" CODE="EX">
+   <prefix Code="E" CODE="EX">
       <name>exa</name>
       <printSymbol>E</printSymbol>
       <value value="1e18">1 &#215; 10<sup>18</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="P" CODE="PT">
+   <prefix Code="P" CODE="PT">
       <name>peta</name>
       <printSymbol>P</printSymbol>
       <value value="1e15">1 &#215; 10<sup>15</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="T" CODE="TR">
+   <prefix Code="T" CODE="TR">
       <name>tera</name>
       <printSymbol>T</printSymbol>
       <value value="1e12">1 &#215; 10<sup>12</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="G" CODE="GA">
+   <prefix Code="G" CODE="GA">
       <name>giga</name>
       <printSymbol>G</printSymbol>
       <value value="1e9">1 &#215; 10<sup>9</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="M" CODE="MA">
+   <prefix Code="M" CODE="MA">
       <name>mega</name>
       <printSymbol>M</printSymbol>
       <value value="1e6">1 &#215; 10<sup>6</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="k" CODE="K">
+   <prefix Code="k" CODE="K">
       <name>kilo</name>
       <printSymbol>k</printSymbol>
       <value value="1e3">1 &#215; 10<sup>3</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="h" CODE="H">
+   <prefix Code="h" CODE="H">
       <name>hecto</name>
       <printSymbol>h</printSymbol>
       <value value="1e2">1 &#215; 10<sup>2</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="da" CODE="DA">
+   <prefix Code="da" CODE="DA">
       <name>deka</name>
       <printSymbol>da</printSymbol>
       <value value="1e1">1 &#215; 10<sup>1</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="d" CODE="D">
+   <prefix Code="d" CODE="D">
       <name>deci</name>
       <printSymbol>d</printSymbol>
       <value value="1e-1">1 &#215; 10<sup>-1</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="c" CODE="C">
+   <prefix Code="c" CODE="C">
       <name>centi</name>
       <printSymbol>c</printSymbol>
       <value value="1e-2">1 &#215; 10<sup>-2</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="m" CODE="M">
+   <prefix Code="m" CODE="M">
       <name>milli</name>
       <printSymbol>m</printSymbol>
       <value value="1e-3">1 &#215; 10<sup>-3</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="u" CODE="U">
+   <prefix Code="u" CODE="U">
       <name>micro</name>
       <printSymbol>&#956;</printSymbol>
       <value value="1e-6">1 &#215; 10<sup>-6</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="n" CODE="N">
+   <prefix Code="n" CODE="N">
       <name>nano</name>
       <printSymbol>n</printSymbol>
       <value value="1e-9">1 &#215; 10<sup>-9</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="p" CODE="P">
+   <prefix Code="p" CODE="P">
       <name>pico</name>
       <printSymbol>p</printSymbol>
       <value value="1e-12">1 &#215; 10<sup>-12</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="f" CODE="F">
+   <prefix Code="f" CODE="F">
       <name>femto</name>
       <printSymbol>f</printSymbol>
       <value value="1e-15">1 &#215; 10<sup>-15</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="a" CODE="A">
+   <prefix Code="a" CODE="A">
       <name>atto</name>
       <printSymbol>a</printSymbol>
       <value value="1e-18">1 &#215; 10<sup>-18</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="z" CODE="ZO">
+   <prefix Code="z" CODE="ZO">
       <name>zepto</name>
       <printSymbol>z</printSymbol>
       <value value="1e-21">1 &#215; 10<sup>-21</sup>
       </value>
    </prefix>
-   <prefix xmlns="" Code="y" CODE="YO">
+   <prefix Code="y" CODE="YO">
       <name>yocto</name>
       <printSymbol>y</printSymbol>
       <value value="1e-24">1 &#215; 10<sup>-24</sup>
       </value>
    </prefix>
-   <base-unit xmlns="" Code="m" CODE="M" dim="L">
+   <base-unit Code="m" CODE="M" dim="L">
       <name>meter</name>
       <printSymbol>m</printSymbol>
       <property>length</property>
    </base-unit>
-   <base-unit xmlns="" Code="s" CODE="S" dim="T">
+   <base-unit Code="s" CODE="S" dim="T">
       <name>second</name>
       <printSymbol>s</printSymbol>
       <property>time</property>
    </base-unit>
-   <base-unit xmlns="" Code="g" CODE="G" dim="M">
+   <base-unit Code="g" CODE="G" dim="M">
       <name>gram</name>
       <printSymbol>g</printSymbol>
       <property>mass</property>
    </base-unit>
-   <base-unit xmlns="" Code="rad" CODE="RAD" dim="A">
+   <base-unit Code="rad" CODE="RAD" dim="A">
       <name>radian</name>
       <printSymbol>rad</printSymbol>
       <property>plane angle</property>
    </base-unit>
-   <base-unit xmlns="" Code="K" CODE="K" dim="C">
-      <name>Kelvin</name>
+   <base-unit Code="K" CODE="K" dim="C">
+      <name>kelvin</name>
       <printSymbol>K</printSymbol>
       <property>temperature</property>
    </base-unit>
-   <base-unit xmlns="" Code="C" CODE="C" dim="Q">
-      <name>Coulomb</name>
+   <base-unit Code="C" CODE="C" dim="Q">
+      <name>coulomb</name>
       <printSymbol>C</printSymbol>
       <property>electric charge</property>
    </base-unit>
-   <base-unit xmlns="" Code="cd" CODE="CD" dim="F">
+   <base-unit Code="cd" CODE="CD" dim="F">
       <name>candela</name>
       <printSymbol>cd</printSymbol>
       <property>luminous intensity</property>
    </base-unit>
-   <unit xmlns="" Code="10*" CODE="10*" isMetric="no" class="dimless">
+   <unit Code="10*" CODE="10*" isMetric="no" class="dimless">
       <name>the number ten for arbitrary powers</name>
       <printSymbol>10</printSymbol>
       <property>number</property>
       <value Unit="1" UNIT="1" value="10">10</value>
    </unit>
-   <unit xmlns="" Code="10^" CODE="10^" isMetric="no" class="dimless">
+   <unit Code="10^" CODE="10^" isMetric="no" class="dimless">
       <name>the number ten for arbitrary powers</name>
       <printSymbol>10</printSymbol>
       <property>number</property>
       <value Unit="1" UNIT="1" value="10">10</value>
    </unit>
-   <unit xmlns="" Code="[pi]" CODE="[PI]" isMetric="no" class="dimless">
+   <unit Code="[pi]" CODE="[PI]" isMetric="no" class="dimless">
       <name>the number pi</name>
       <printSymbol>&#960;</printSymbol>
       <property>number</property>
       <value Unit="1" UNIT="1"
              value="3.1415926535897932384626433832795028841971693993751058209749445923">&#960;</value>
    </unit>
-   <unit xmlns="" Code="%" CODE="%" isMetric="no" class="dimless">
+   <unit Code="%" CODE="%" isMetric="no" class="dimless">
       <name>percent</name>
       <printSymbol>%</printSymbol>
       <property>fraction</property>
       <value Unit="10*-2" UNIT="10*-2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[ppth]" CODE="[PPTH]" isMetric="no" class="dimless">
+   <unit Code="[ppth]" CODE="[PPTH]" isMetric="no" class="dimless">
       <name>parts per thousand</name>
       <printSymbol>ppth</printSymbol>
       <property>fraction</property>
       <value Unit="10*-3" UNIT="10*-3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[ppm]" CODE="[PPM]" isMetric="no" class="dimless">
+   <unit Code="[ppm]" CODE="[PPM]" isMetric="no" class="dimless">
       <name>parts per million</name>
       <printSymbol>ppm</printSymbol>
       <property>fraction</property>
       <value Unit="10*-6" UNIT="10*-6" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[ppb]" CODE="[PPB]" isMetric="no" class="dimless">
+   <unit Code="[ppb]" CODE="[PPB]" isMetric="no" class="dimless">
       <name>parts per billion</name>
       <printSymbol>ppb</printSymbol>
       <property>fraction</property>
       <value Unit="10*-9" UNIT="10*-9" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pptr]" CODE="[PPTR]" isMetric="no" class="dimless">
+   <unit Code="[pptr]" CODE="[PPTR]" isMetric="no" class="dimless">
       <name>parts per trillion</name>
       <printSymbol>pptr</printSymbol>
       <property>fraction</property>
       <value Unit="10*-12" UNIT="10*-12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="mol" CODE="MOL" isMetric="yes" class="si">
+   <unit Code="mol" CODE="MOL" isMetric="yes" class="si">
       <name>mole</name>
       <printSymbol>mol</printSymbol>
       <property>amount of substance</property>
       <value Unit="10*23" UNIT="10*23" value="6.0221367">6.0221367</value>
    </unit>
-   <unit xmlns="" Code="sr" CODE="SR" isMetric="yes" class="si">
+   <unit Code="sr" CODE="SR" isMetric="yes" class="si">
       <name>steradian</name>
       <printSymbol>sr</printSymbol>
       <property>solid angle</property>
       <value Unit="rad2" UNIT="RAD2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Hz" CODE="HZ" isMetric="yes" class="si">
-      <name>Hertz</name>
+   <unit Code="Hz" CODE="HZ" isMetric="yes" class="si">
+      <name>hertz</name>
       <printSymbol>Hz</printSymbol>
       <property>frequency</property>
       <value Unit="s-1" UNIT="S-1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="N" CODE="N" isMetric="yes" class="si">
-      <name>Newton</name>
+   <unit Code="N" CODE="N" isMetric="yes" class="si">
+      <name>newton</name>
       <printSymbol>N</printSymbol>
       <property>force</property>
       <value Unit="kg.m/s2" UNIT="KG.M/S2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Pa" CODE="PAL" isMetric="yes" class="si">
-      <name>Pascal</name>
+   <unit Code="Pa" CODE="PAL" isMetric="yes" class="si">
+      <name>pascal</name>
       <printSymbol>Pa</printSymbol>
       <property>pressure</property>
       <value Unit="N/m2" UNIT="N/M2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="J" CODE="J" isMetric="yes" class="si">
-      <name>Joule</name>
+   <unit Code="J" CODE="J" isMetric="yes" class="si">
+      <name>joule</name>
       <printSymbol>J</printSymbol>
       <property>energy</property>
       <value Unit="N.m" UNIT="N.M" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="W" CODE="W" isMetric="yes" class="si">
-      <name>Watt</name>
+   <unit Code="W" CODE="W" isMetric="yes" class="si">
+      <name>watt</name>
       <printSymbol>W</printSymbol>
       <property>power</property>
       <value Unit="J/s" UNIT="J/S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="A" CODE="A" isMetric="yes" class="si">
-      <name>Amp&#232;re</name>
+   <unit Code="A" CODE="A" isMetric="yes" class="si">
+      <name>amp&#232;re</name>
       <printSymbol>A</printSymbol>
       <property>electric current</property>
       <value Unit="C/s" UNIT="C/S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="V" CODE="V" isMetric="yes" class="si">
-      <name>Volt</name>
+   <unit Code="V" CODE="V" isMetric="yes" class="si">
+      <name>volt</name>
       <printSymbol>V</printSymbol>
       <property>electric potential</property>
       <value Unit="J/C" UNIT="J/C" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="F" CODE="F" isMetric="yes" class="si">
-      <name>Farad</name>
+   <unit Code="F" CODE="F" isMetric="yes" class="si">
+      <name>farad</name>
       <printSymbol>F</printSymbol>
       <property>electric capacitance</property>
       <value Unit="C/V" UNIT="C/V" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Ohm" CODE="OHM" isMetric="yes" class="si">
-      <name>Ohm</name>
+   <unit Code="Ohm" CODE="OHM" isMetric="yes" class="si">
+      <name>ohm</name>
       <printSymbol>&#937;</printSymbol>
       <property>electric resistance</property>
       <value Unit="V/A" UNIT="V/A" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="S" CODE="SIE" isMetric="yes" class="si">
-      <name>Siemens</name>
+   <unit Code="S" CODE="SIE" isMetric="yes" class="si">
+      <name>siemens</name>
       <printSymbol>S</printSymbol>
       <property>electric conductance</property>
       <value Unit="Ohm-1" UNIT="OHM-1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Wb" CODE="WB" isMetric="yes" class="si">
-      <name>Weber</name>
+   <unit Code="Wb" CODE="WB" isMetric="yes" class="si">
+      <name>weber</name>
       <printSymbol>Wb</printSymbol>
       <property>magentic flux</property>
       <value Unit="V.s" UNIT="V.S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Cel" CODE="CEL" isMetric="yes" isSpecial="yes" class="si">
+   <unit Code="Cel" CODE="CEL" isMetric="yes" isSpecial="yes" class="si">
       <name>degree Celsius</name>
       <printSymbol>&#176;C</printSymbol>
       <property>temperature</property>
@@ -292,49 +292,49 @@
          <function name="Cel" value="1" Unit="K"/>
       </value>
    </unit>
-   <unit xmlns="" Code="T" CODE="T" isMetric="yes" class="si">
-      <name>Tesla</name>
+   <unit Code="T" CODE="T" isMetric="yes" class="si">
+      <name>tesla</name>
       <printSymbol>T</printSymbol>
       <property>magnetic flux density</property>
       <value Unit="Wb/m2" UNIT="WB/M2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="H" CODE="H" isMetric="yes" class="si">
-      <name>Henry</name>
+   <unit Code="H" CODE="H" isMetric="yes" class="si">
+      <name>henry</name>
       <printSymbol>H</printSymbol>
       <property>inductance</property>
       <value Unit="Wb/A" UNIT="WB/A" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="lm" CODE="LM" isMetric="yes" class="si">
+   <unit Code="lm" CODE="LM" isMetric="yes" class="si">
       <name>lumen</name>
       <printSymbol>lm</printSymbol>
       <property>luminous flux</property>
       <value Unit="cd.sr" UNIT="CD.SR" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="lx" CODE="LX" isMetric="yes" class="si">
+   <unit Code="lx" CODE="LX" isMetric="yes" class="si">
       <name>lux</name>
       <printSymbol>lx</printSymbol>
       <property>illuminance</property>
       <value Unit="lm/m2" UNIT="LM/M2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Bq" CODE="BQ" isMetric="yes" class="si">
-      <name>Becquerel</name>
+   <unit Code="Bq" CODE="BQ" isMetric="yes" class="si">
+      <name>becquerel</name>
       <printSymbol>Bq</printSymbol>
       <property>radioactivity</property>
       <value Unit="s-1" UNIT="S-1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Gy" CODE="GY" isMetric="yes" class="si">
-      <name>Gray</name>
+   <unit Code="Gy" CODE="GY" isMetric="yes" class="si">
+      <name>gray</name>
       <printSymbol>Gy</printSymbol>
       <property>energy dose</property>
       <value Unit="J/kg" UNIT="J/KG" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Sv" CODE="SV" isMetric="yes" class="si">
-      <name>Sievert</name>
+   <unit Code="Sv" CODE="SV" isMetric="yes" class="si">
+      <name>sievert</name>
       <printSymbol>Sv</printSymbol>
       <property>dose equivalent</property>
       <value Unit="J/kg" UNIT="J/KG" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="gon" CODE="GON" isMetric="no" class="iso1000">
+   <unit Code="gon" CODE="GON" isMetric="no" class="iso1000">
       <name>gon</name>
       <name>grade</name>
       <printSymbol>&#9633;<sup>g</sup>
@@ -342,161 +342,161 @@
       <property>plane angle</property>
       <value Unit="deg" UNIT="DEG" value="0.9">0.9</value>
    </unit>
-   <unit xmlns="" Code="deg" CODE="DEG" isMetric="no" class="iso1000">
+   <unit Code="deg" CODE="DEG" isMetric="no" class="iso1000">
       <name>degree</name>
       <printSymbol>&#176;</printSymbol>
       <property>plane angle</property>
       <value Unit="[pi].rad/360" UNIT="[PI].RAD/360" value="2">2</value>
    </unit>
-   <unit xmlns="" Code="'" CODE="'" isMetric="no" class="iso1000">
+   <unit Code="'" CODE="'" isMetric="no" class="iso1000">
       <name>minute</name>
       <printSymbol>'</printSymbol>
       <property>plane angle</property>
       <value Unit="deg/60" UNIT="DEG/60" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="''" CODE="''" isMetric="no" class="iso1000">
+   <unit Code="''" CODE="''" isMetric="no" class="iso1000">
       <name>second</name>
       <printSymbol>''</printSymbol>
       <property>plane angle</property>
       <value Unit="'/60" UNIT="'/60" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="l" CODE="L" isMetric="yes" class="iso1000">
+   <unit Code="l" CODE="L" isMetric="yes" class="iso1000">
       <name>liter</name>
       <printSymbol>l</printSymbol>
       <property>volume</property>
       <value Unit="dm3" UNIT="DM3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="L" isMetric="yes" class="iso1000">
+   <unit Code="L" isMetric="yes" class="iso1000">
       <name>liter</name>
       <printSymbol>L</printSymbol>
       <property>volume</property>
       <value Unit="l" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="ar" CODE="AR" isMetric="yes" class="iso1000">
+   <unit Code="ar" CODE="AR" isMetric="yes" class="iso1000">
       <name>are</name>
       <printSymbol>a</printSymbol>
       <property>area</property>
       <value Unit="m2" UNIT="M2" value="100">100</value>
    </unit>
-   <unit xmlns="" Code="min" CODE="MIN" isMetric="no" class="iso1000">
+   <unit Code="min" CODE="MIN" isMetric="no" class="iso1000">
       <name>minute</name>
       <printSymbol>min</printSymbol>
       <property>time</property>
       <value Unit="s" UNIT="S" value="60">60</value>
    </unit>
-   <unit xmlns="" Code="h" CODE="HR" isMetric="no" class="iso1000">
+   <unit Code="h" CODE="HR" isMetric="no" class="iso1000">
       <name>hour</name>
       <printSymbol>h</printSymbol>
       <property>time</property>
       <value Unit="min" UNIT="MIN" value="60">60</value>
    </unit>
-   <unit xmlns="" Code="d" CODE="D" isMetric="no" class="iso1000">
+   <unit Code="d" CODE="D" isMetric="no" class="iso1000">
       <name>day</name>
       <printSymbol>d</printSymbol>
       <property>time</property>
       <value Unit="h" UNIT="HR" value="24">24</value>
    </unit>
-   <unit xmlns="" Code="a_t" CODE="ANN_T" isMetric="no" class="iso1000">
+   <unit Code="a_t" CODE="ANN_T" isMetric="no" class="iso1000">
       <name>tropical year</name>
       <printSymbol>a<sub>t</sub>
       </printSymbol>
       <property>time</property>
       <value Unit="d" UNIT="D" value="365.24219">365.24219</value>
    </unit>
-   <unit xmlns="" Code="a_j" CODE="ANN_J" isMetric="no" class="iso1000">
+   <unit Code="a_j" CODE="ANN_J" isMetric="no" class="iso1000">
       <name>mean Julian year</name>
       <printSymbol>a<sub>j</sub>
       </printSymbol>
       <property>time</property>
       <value Unit="d" UNIT="D" value="365.25">365.25</value>
    </unit>
-   <unit xmlns="" Code="a_g" CODE="ANN_G" isMetric="no" class="iso1000">
+   <unit Code="a_g" CODE="ANN_G" isMetric="no" class="iso1000">
       <name>mean Gregorian year</name>
       <printSymbol>a<sub>g</sub>
       </printSymbol>
       <property>time</property>
       <value Unit="d" UNIT="D" value="365.2425">365.2425</value>
    </unit>
-   <unit xmlns="" Code="a" CODE="ANN" isMetric="no" class="iso1000">
+   <unit Code="a" CODE="ANN" isMetric="no" class="iso1000">
       <name>year</name>
       <printSymbol>a</printSymbol>
       <property>time</property>
       <value Unit="a_j" UNIT="ANN_J" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="wk" CODE="WK" isMetric="no" class="iso1000">
+   <unit Code="wk" CODE="WK" isMetric="no" class="iso1000">
       <name>week</name>
       <printSymbol>wk</printSymbol>
       <property>time</property>
       <value Unit="d" UNIT="D" value="7">7</value>
    </unit>
-   <unit xmlns="" Code="mo_s" CODE="MO_S" isMetric="no" class="iso1000">
+   <unit Code="mo_s" CODE="MO_S" isMetric="no" class="iso1000">
       <name>synodal month</name>
       <printSymbol>mo<sub>s</sub>
       </printSymbol>
       <property>time</property>
       <value Unit="d" UNIT="D" value="29.53059">29.53059</value>
    </unit>
-   <unit xmlns="" Code="mo_j" CODE="MO_J" isMetric="no" class="iso1000">
+   <unit Code="mo_j" CODE="MO_J" isMetric="no" class="iso1000">
       <name>mean Julian month</name>
       <printSymbol>mo<sub>j</sub>
       </printSymbol>
       <property>time</property>
       <value Unit="a_j/12" UNIT="ANN_J/12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="mo_g" CODE="MO_G" isMetric="no" class="iso1000">
+   <unit Code="mo_g" CODE="MO_G" isMetric="no" class="iso1000">
       <name>mean Gregorian month</name>
       <printSymbol>mo<sub>g</sub>
       </printSymbol>
       <property>time</property>
       <value Unit="a_g/12" UNIT="ANN_G/12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="mo" CODE="MO" isMetric="no" class="iso1000">
+   <unit Code="mo" CODE="MO" isMetric="no" class="iso1000">
       <name>month</name>
       <printSymbol>mo</printSymbol>
       <property>time</property>
       <value Unit="mo_j" UNIT="MO_J" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="t" CODE="TNE" isMetric="yes" class="iso1000">
+   <unit Code="t" CODE="TNE" isMetric="yes" class="iso1000">
       <name>tonne</name>
       <printSymbol>t</printSymbol>
       <property>mass</property>
       <value Unit="kg" UNIT="KG" value="1e3">1 &#215; 10<sup>3</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="bar" CODE="BAR" isMetric="yes" class="iso1000">
+   <unit Code="bar" CODE="BAR" isMetric="yes" class="iso1000">
       <name>bar</name>
       <printSymbol>bar</printSymbol>
       <property>pressure</property>
       <value Unit="Pa" UNIT="PAL" value="1e5">1 &#215; 10<sup>5</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="u" CODE="AMU" isMetric="yes" class="iso1000">
+   <unit Code="u" CODE="AMU" isMetric="yes" class="iso1000">
       <name>unified atomic mass unit</name>
       <printSymbol>u</printSymbol>
       <property>mass</property>
       <value Unit="g" UNIT="G" value="1.6605402e-24">1.6605402 &#215; 10<sup>-24</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="eV" CODE="EV" isMetric="yes" class="iso1000">
+   <unit Code="eV" CODE="EV" isMetric="yes" class="iso1000">
       <name>electronvolt</name>
       <printSymbol>eV</printSymbol>
       <property>energy</property>
       <value Unit="[e].V" UNIT="[E].V" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="AU" CODE="ASU" isMetric="no" class="iso1000">
+   <unit Code="AU" CODE="ASU" isMetric="no" class="iso1000">
       <name>astronomic unit</name>
       <printSymbol>AU</printSymbol>
       <property>length</property>
       <value Unit="Mm" UNIT="MAM" value="149597.870691">149597.870691</value>
    </unit>
-   <unit xmlns="" Code="pc" CODE="PRS" isMetric="yes" class="iso1000">
+   <unit Code="pc" CODE="PRS" isMetric="yes" class="iso1000">
       <name>parsec</name>
       <printSymbol>pc</printSymbol>
       <property>length</property>
       <value Unit="m" UNIT="M" value="3.085678e16">3.085678 &#215; 10<sup>16</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[c]" CODE="[C]" isMetric="yes" class="const">
+   <unit Code="[c]" CODE="[C]" isMetric="yes" class="const">
       <name>velocity of light</name>
       <printSymbol>
          <i>c</i>
@@ -504,16 +504,16 @@
       <property>velocity</property>
       <value Unit="m/s" UNIT="M/S" value="299792458">299792458</value>
    </unit>
-   <unit xmlns="" Code="[h]" CODE="[H]" isMetric="yes" class="const">
+   <unit Code="[h]" CODE="[H]" isMetric="yes" class="const">
       <name>Planck constant</name>
       <printSymbol>
          <i>h</i>
       </printSymbol>
       <property>action</property>
-      <value Unit="J.s" UNIT="J.S" value="6.6260755e-24">6.6260755 &#215; 10<sup>-24</sup>
+      <value Unit="J.s" UNIT="J.S" value="6.6260755e-34">6.6260755 &#215; 10<sup>-34</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[k]" CODE="[K]" isMetric="yes" class="const">
+   <unit Code="[k]" CODE="[K]" isMetric="yes" class="const">
       <name>Boltzmann constant</name>
       <printSymbol>
          <i>k</i>
@@ -522,7 +522,7 @@
       <value Unit="J/K" UNIT="J/K" value="1.380658e-23">1.380658 &#215; 10<sup>-23</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[eps_0]" CODE="[EPS_0]" isMetric="yes" class="const">
+   <unit Code="[eps_0]" CODE="[EPS_0]" isMetric="yes" class="const">
       <name>permittivity of vacuum</name>
       <printSymbol>
          <i>&#949;<sub>
@@ -534,7 +534,7 @@
       <value Unit="F/m" UNIT="F/M" value="8.854187817e-12">8.854187817 &#215; 10<sup>-12</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[mu_0]" CODE="[MU_0]" isMetric="yes" class="const">
+   <unit Code="[mu_0]" CODE="[MU_0]" isMetric="yes" class="const">
       <name>permeability of vacuum</name>
       <printSymbol>
          <i>&#956;<sub>
@@ -545,7 +545,7 @@
       <property>magnetic permeability</property>
       <value Unit="4.[pi].10*-7.N/A2" UNIT="4.[PI].10*-7.N/A2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[e]" CODE="[E]" isMetric="yes" class="const">
+   <unit Code="[e]" CODE="[E]" isMetric="yes" class="const">
       <name>elementary charge</name>
       <printSymbol>
          <i>e</i>
@@ -554,7 +554,7 @@
       <value Unit="C" UNIT="C" value="1.60217733e-19">1.60217733 &#215; 10<sup>-19</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[m_e]" CODE="[M_E]" isMetric="yes" class="const">
+   <unit Code="[m_e]" CODE="[M_E]" isMetric="yes" class="const">
       <name>electron mass</name>
       <printSymbol>
          <i>m<sub>
@@ -566,7 +566,7 @@
       <value Unit="g" UNIT="g" value="9.1093897e-28">9.1093897 &#215; 10<sup>-28</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[m_p]" CODE="[M_P]" isMetric="yes" class="const">
+   <unit Code="[m_p]" CODE="[M_P]" isMetric="yes" class="const">
       <name>proton mass</name>
       <printSymbol>
          <i>m<sub>
@@ -578,7 +578,7 @@
       <value Unit="g" UNIT="g" value="1.6726231e-24">1.6726231 &#215; 10<sup>-24</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[G]" CODE="[GC]" isMetric="yes" class="const">
+   <unit Code="[G]" CODE="[GC]" isMetric="yes" class="const">
       <name>Newtonian constant of gravitation</name>
       <printSymbol>
          <i>G</i>
@@ -587,7 +587,7 @@
       <value Unit="m3.kg-1.s-2" UNIT="M3.KG-1.S-2" value="6.67259e-11">6.67259 &#215; 10<sup>-11</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[g]" CODE="[G]" isMetric="yes" class="const">
+   <unit Code="[g]" CODE="[G]" isMetric="yes" class="const">
       <name>standard acceleration of free fall</name>
       <printSymbol>
          <i>g<sub>n</sub>
@@ -596,696 +596,696 @@
       <property>acceleration</property>
       <value Unit="m/s2" UNIT="M/S2" value="980665e-5">9.80665</value>
    </unit>
-   <unit xmlns="" Code="atm" CODE="ATM" isMetric="no" class="const">
+   <unit Code="atm" CODE="ATM" isMetric="no" class="const">
       <name>standard atmosphere</name>
       <printSymbol>atm</printSymbol>
       <property>pressure</property>
       <value Unit="Pa" UNIT="PAL" value="101325">101325</value>
    </unit>
-   <unit xmlns="" Code="[ly]" CODE="[LY]" isMetric="yes" class="const">
+   <unit Code="[ly]" CODE="[LY]" isMetric="yes" class="const">
       <name>light-year</name>
       <printSymbol>l.y.</printSymbol>
       <property>length</property>
       <value Unit="[c].a_j" UNIT="[C].ANN_J" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="gf" CODE="GF" isMetric="yes" class="const">
+   <unit Code="gf" CODE="GF" isMetric="yes" class="const">
       <name>gram-force</name>
       <printSymbol>gf</printSymbol>
       <property>force</property>
       <value Unit="g.[g]" UNIT="G.[G]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[lbf_av]" CODE="[LBF_AV]" isMetric="no" class="const">
+   <unit Code="[lbf_av]" CODE="[LBF_AV]" isMetric="no" class="const">
       <name>pound force</name>
       <printSymbol>lbf</printSymbol>
       <property>force</property>
       <value Unit="[lb_av].[g]" UNIT="[LB_AV].[G]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Ky" CODE="KY" isMetric="yes" class="cgs">
+   <unit Code="Ky" CODE="KY" isMetric="yes" class="cgs">
       <name>Kayser</name>
       <printSymbol>K</printSymbol>
       <property>lineic number</property>
       <value Unit="cm-1" UNIT="CM-1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Gal" CODE="GL" isMetric="yes" class="cgs">
+   <unit Code="Gal" CODE="GL" isMetric="yes" class="cgs">
       <name>Gal</name>
       <printSymbol>Gal</printSymbol>
       <property>acceleration</property>
       <value Unit="cm/s2" UNIT="CM/S2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="dyn" CODE="DYN" isMetric="yes" class="cgs">
+   <unit Code="dyn" CODE="DYN" isMetric="yes" class="cgs">
       <name>dyne</name>
       <printSymbol>dyn</printSymbol>
       <property>force</property>
       <value Unit="g.cm/s2" UNIT="G.CM/S2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="erg" CODE="ERG" isMetric="yes" class="cgs">
+   <unit Code="erg" CODE="ERG" isMetric="yes" class="cgs">
       <name>erg</name>
       <printSymbol>erg</printSymbol>
       <property>energy</property>
       <value Unit="dyn.cm" UNIT="DYN.CM" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="P" CODE="P" isMetric="yes" class="cgs">
+   <unit Code="P" CODE="P" isMetric="yes" class="cgs">
       <name>Poise</name>
       <printSymbol>P</printSymbol>
       <property>dynamic viscosity</property>
       <value Unit="dyn.s/cm2" UNIT="DYN.S/CM2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Bi" CODE="BI" isMetric="yes" class="cgs">
+   <unit Code="Bi" CODE="BI" isMetric="yes" class="cgs">
       <name>Biot</name>
       <printSymbol>Bi</printSymbol>
       <property>electric current</property>
       <value Unit="A" UNIT="A" value="10">10</value>
    </unit>
-   <unit xmlns="" Code="St" CODE="ST" isMetric="yes" class="cgs">
+   <unit Code="St" CODE="ST" isMetric="yes" class="cgs">
       <name>Stokes</name>
       <printSymbol>St</printSymbol>
       <property>kinematic viscosity</property>
       <value Unit="cm2/s" UNIT="CM2/S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Mx" CODE="MX" isMetric="yes" class="cgs">
+   <unit Code="Mx" CODE="MX" isMetric="yes" class="cgs">
       <name>Maxwell</name>
       <printSymbol>Mx</printSymbol>
       <property>flux of magnetic induction</property>
       <value Unit="Wb" UNIT="WB" value="1e-8">1 &#215; 10<sup>-8</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="G" CODE="GS" isMetric="yes" class="cgs">
+   <unit Code="G" CODE="GS" isMetric="yes" class="cgs">
       <name>Gauss</name>
       <printSymbol>Gs</printSymbol>
       <property>magnetic flux density</property>
       <value Unit="T" UNIT="T" value="1e-4">1 &#215; 10<sup>-4</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="Oe" CODE="OE" isMetric="yes" class="cgs">
+   <unit Code="Oe" CODE="OE" isMetric="yes" class="cgs">
       <name>Oersted</name>
       <printSymbol>Oe</printSymbol>
       <property>magnetic field intensity</property>
       <value Unit="/[pi].A/m" UNIT="/[PI].A/M" value="250">250</value>
    </unit>
-   <unit xmlns="" Code="Gb" CODE="GB" isMetric="yes" class="cgs">
+   <unit Code="Gb" CODE="GB" isMetric="yes" class="cgs">
       <name>Gilbert</name>
       <printSymbol>Gb</printSymbol>
       <property>magnetic tension</property>
       <value Unit="Oe.cm" UNIT="OE.CM" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="sb" CODE="SB" isMetric="yes" class="cgs">
+   <unit Code="sb" CODE="SB" isMetric="yes" class="cgs">
       <name>stilb</name>
       <printSymbol>sb</printSymbol>
       <property>lum. intensity density</property>
       <value Unit="cd/cm2" UNIT="CD/CM2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Lmb" CODE="LMB" isMetric="yes" class="cgs">
+   <unit Code="Lmb" CODE="LMB" isMetric="yes" class="cgs">
       <name>Lambert</name>
       <printSymbol>L</printSymbol>
       <property>brightness</property>
       <value Unit="cd/cm2/[pi]" UNIT="CD/CM2/[PI]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="ph" CODE="PHT" isMetric="yes" class="cgs">
+   <unit Code="ph" CODE="PHT" isMetric="yes" class="cgs">
       <name>phot</name>
       <printSymbol>ph</printSymbol>
       <property>illuminance</property>
       <value Unit="lx" UNIT="LX" value="1e-4">1 &#215; 10<sup>-4</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="Ci" CODE="CI" isMetric="yes" class="cgs">
+   <unit Code="Ci" CODE="CI" isMetric="yes" class="cgs">
       <name>Curie</name>
       <printSymbol>Ci</printSymbol>
       <property>radioactivity</property>
       <value Unit="Bq" UNIT="BQ" value="37e9">3.7 &#215; 10<sup>10</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="R" CODE="ROE" isMetric="yes" class="cgs">
+   <unit Code="R" CODE="ROE" isMetric="yes" class="cgs">
       <name>Roentgen</name>
       <printSymbol>R</printSymbol>
       <property>ion dose</property>
       <value Unit="C/kg" UNIT="C/KG" value="2.58e-4">2.58 &#215; 10<sup>-4</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="RAD" CODE="[RAD]" isMetric="yes" class="cgs">
+   <unit Code="RAD" CODE="[RAD]" isMetric="yes" class="cgs">
       <name>radiation absorbed dose</name>
       <printSymbol>RAD</printSymbol>
       <property>energy dose</property>
       <value Unit="erg/g" UNIT="ERG/G" value="100">100</value>
    </unit>
-   <unit xmlns="" Code="REM" CODE="[REM]" isMetric="yes" class="cgs">
+   <unit Code="REM" CODE="[REM]" isMetric="yes" class="cgs">
       <name>radiation equivalent man</name>
       <printSymbol>REM</printSymbol>
       <property>dose equivalent</property>
       <value Unit="RAD" UNIT="[RAD]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[in_i]" CODE="[IN_I]" isMetric="no" class="intcust">
+   <unit Code="[in_i]" CODE="[IN_I]" isMetric="no" class="intcust">
       <name>inch</name>
       <printSymbol>in</printSymbol>
       <property>length</property>
       <value Unit="cm" UNIT="CM" value="254e-2">2.54</value>
    </unit>
-   <unit xmlns="" Code="[ft_i]" CODE="[FT_I]" isMetric="no" class="intcust">
+   <unit Code="[ft_i]" CODE="[FT_I]" isMetric="no" class="intcust">
       <name>foot</name>
       <printSymbol>ft</printSymbol>
       <property>length</property>
       <value Unit="[in_i]" UNIT="[IN_I]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[yd_i]" CODE="[YD_I]" isMetric="no" class="intcust">
+   <unit Code="[yd_i]" CODE="[YD_I]" isMetric="no" class="intcust">
       <name>yard</name>
       <printSymbol>yd</printSymbol>
       <property>length</property>
       <value Unit="[ft_i]" UNIT="[FT_I]" value="3">3</value>
    </unit>
-   <unit xmlns="" Code="[mi_i]" CODE="[MI_I]" isMetric="no" class="intcust">
-      <name>statute mile</name>
+   <unit Code="[mi_i]" CODE="[MI_I]" isMetric="no" class="intcust">
+      <name>mile</name>
       <printSymbol>mi</printSymbol>
       <property>length</property>
       <value Unit="[ft_i]" UNIT="[FT_I]" value="5280">5280</value>
    </unit>
-   <unit xmlns="" Code="[fth_i]" CODE="[FTH_I]" isMetric="no" class="intcust">
+   <unit Code="[fth_i]" CODE="[FTH_I]" isMetric="no" class="intcust">
       <name>fathom</name>
       <printSymbol>fth</printSymbol>
       <property>depth of water</property>
       <value Unit="[ft_i]" UNIT="[FT_I]" value="6">6</value>
    </unit>
-   <unit xmlns="" Code="[nmi_i]" CODE="[NMI_I]" isMetric="no" class="intcust">
+   <unit Code="[nmi_i]" CODE="[NMI_I]" isMetric="no" class="intcust">
       <name>nautical mile</name>
       <printSymbol>n.mi</printSymbol>
       <property>length</property>
       <value Unit="m" UNIT="M" value="1852">1852</value>
    </unit>
-   <unit xmlns="" Code="[kn_i]" CODE="[KN_I]" isMetric="no" class="intcust">
+   <unit Code="[kn_i]" CODE="[KN_I]" isMetric="no" class="intcust">
       <name>knot</name>
       <printSymbol>knot</printSymbol>
       <property>velocity</property>
       <value Unit="[nmi_i]/h" UNIT="[NMI_I]/H" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[sin_i]" CODE="[SIN_I]" isMetric="no" class="intcust">
+   <unit Code="[sin_i]" CODE="[SIN_I]" isMetric="no" class="intcust">
       <name>square inch</name>
       <property>area</property>
       <value Unit="[in_i]2" UNIT="[IN_I]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[sft_i]" CODE="[SFT_I]" isMetric="no" class="intcust">
+   <unit Code="[sft_i]" CODE="[SFT_I]" isMetric="no" class="intcust">
       <name>square foot</name>
       <property>area</property>
       <value Unit="[ft_i]2" UNIT="[FT_I]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[syd_i]" CODE="[SYD_I]" isMetric="no" class="intcust">
+   <unit Code="[syd_i]" CODE="[SYD_I]" isMetric="no" class="intcust">
       <name>square yard</name>
       <property>area</property>
       <value Unit="[yd_i]2" UNIT="[YD_I]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[cin_i]" CODE="[CIN_I]" isMetric="no" class="intcust">
+   <unit Code="[cin_i]" CODE="[CIN_I]" isMetric="no" class="intcust">
       <name>cubic inch</name>
       <property>volume</property>
       <value Unit="[in_i]3" UNIT="[IN_I]3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[cft_i]" CODE="[CFT_I]" isMetric="no" class="intcust">
+   <unit Code="[cft_i]" CODE="[CFT_I]" isMetric="no" class="intcust">
       <name>cubic foot</name>
       <property>volume</property>
       <value Unit="[ft_i]3" UNIT="[FT_I]3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[cyd_i]" CODE="[CYD_I]" isMetric="no" class="intcust">
+   <unit Code="[cyd_i]" CODE="[CYD_I]" isMetric="no" class="intcust">
       <name>cubic yard</name>
       <printSymbol>cu.yd</printSymbol>
       <property>volume</property>
       <value Unit="[yd_i]3" UNIT="[YD_I]3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[bf_i]" CODE="[BF_I]" isMetric="no" class="intcust">
+   <unit Code="[bf_i]" CODE="[BF_I]" isMetric="no" class="intcust">
       <name>board foot</name>
       <property>volume</property>
       <value Unit="[in_i]3" UNIT="[IN_I]3" value="144">144</value>
    </unit>
-   <unit xmlns="" Code="[cr_i]" CODE="[CR_I]" isMetric="no" class="intcust">
+   <unit Code="[cr_i]" CODE="[CR_I]" isMetric="no" class="intcust">
       <name>cord</name>
       <property>volume</property>
       <value Unit="[ft_i]3" UNIT="[FT_I]3" value="128">128</value>
    </unit>
-   <unit xmlns="" Code="[mil_i]" CODE="[MIL_I]" isMetric="no" class="intcust">
+   <unit Code="[mil_i]" CODE="[MIL_I]" isMetric="no" class="intcust">
       <name>mil</name>
       <printSymbol>mil</printSymbol>
       <property>length</property>
       <value Unit="[in_i]" UNIT="[IN_I]" value="1e-3">1 &#215; 10<sup>-3</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[cml_i]" CODE="[CML_I]" isMetric="no" class="intcust">
+   <unit Code="[cml_i]" CODE="[CML_I]" isMetric="no" class="intcust">
       <name>circular mil</name>
       <printSymbol>circ.mil</printSymbol>
       <property>area</property>
       <value Unit="[pi]/4.[mil_i]2" UNIT="[PI]/4.[MIL_I]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[hd_i]" CODE="[HD_I]" isMetric="no" class="intcust">
+   <unit Code="[hd_i]" CODE="[HD_I]" isMetric="no" class="intcust">
       <name>hand</name>
       <printSymbol>hd</printSymbol>
       <property>height of horses</property>
       <value Unit="[in_i]" UNIT="[IN_I]" value="4">4</value>
    </unit>
-   <unit xmlns="" Code="[ft_us]" CODE="[FT_US]" isMetric="no" class="us-lengths">
+   <unit Code="[ft_us]" CODE="[FT_US]" isMetric="no" class="us-lengths">
       <name>foot</name>
       <printSymbol>ft<sub>us</sub>
       </printSymbol>
       <property>length</property>
       <value Unit="m/3937" UNIT="M/3937" value="1200">1200</value>
    </unit>
-   <unit xmlns="" Code="[yd_us]" CODE="[YD_US]" isMetric="no" class="us-lengths">
+   <unit Code="[yd_us]" CODE="[YD_US]" isMetric="no" class="us-lengths">
       <name>yard</name>
       <property>length</property>
       <value Unit="[ft_us]" UNIT="[FT_US]" value="3">3</value>
    </unit>
-   <unit xmlns="" Code="[in_us]" CODE="[IN_US]" isMetric="no" class="us-lengths">
+   <unit Code="[in_us]" CODE="[IN_US]" isMetric="no" class="us-lengths">
       <name>inch</name>
       <property>length</property>
       <value Unit="[ft_us]/12" UNIT="[FT_US]/12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[rd_us]" CODE="[RD_US]" isMetric="no" class="us-lengths">
+   <unit Code="[rd_us]" CODE="[RD_US]" isMetric="no" class="us-lengths">
       <name>rod</name>
       <property>length</property>
       <value Unit="[ft_us]" UNIT="[FT_US]" value="16.5">16.5</value>
    </unit>
-   <unit xmlns="" Code="[ch_us]" CODE="[CH_US]" isMetric="no" class="us-lengths">
+   <unit Code="[ch_us]" CODE="[CH_US]" isMetric="no" class="us-lengths">
       <name>Gunter's chain</name>
       <name>Surveyor's chain</name>
       <property>length</property>
       <value Unit="[rd_us]" UNIT="[RD_US]" value="4">4</value>
    </unit>
-   <unit xmlns="" Code="[lk_us]" CODE="[LK_US]" isMetric="no" class="us-lengths">
+   <unit Code="[lk_us]" CODE="[LK_US]" isMetric="no" class="us-lengths">
       <name>link for Gunter's chain</name>
       <property>length</property>
       <value Unit="[ch_us]/100" UNIT="[CH_US]/100" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[rch_us]" CODE="[RCH_US]" isMetric="no" class="us-lengths">
+   <unit Code="[rch_us]" CODE="[RCH_US]" isMetric="no" class="us-lengths">
       <name>Ramden's chain</name>
       <name>Engineer's chain</name>
       <property>length</property>
       <value Unit="[ft_us]" UNIT="[FT_US]" value="100">100</value>
    </unit>
-   <unit xmlns="" Code="[rlk_us]" CODE="[RLK_US]" isMetric="no" class="us-lengths">
+   <unit Code="[rlk_us]" CODE="[RLK_US]" isMetric="no" class="us-lengths">
       <name>link for Ramden's chain</name>
       <property>length</property>
       <value Unit="[rch_us]/100" UNIT="[RCH_US]/100" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[fth_us]" CODE="[FTH_US]" isMetric="no" class="us-lengths">
+   <unit Code="[fth_us]" CODE="[FTH_US]" isMetric="no" class="us-lengths">
       <name>fathom</name>
       <property>length</property>
       <value Unit="[ft_us]" UNIT="[FT_US]" value="6">6</value>
    </unit>
-   <unit xmlns="" Code="[fur_us]" CODE="[FUR_US]" isMetric="no" class="us-lengths">
+   <unit Code="[fur_us]" CODE="[FUR_US]" isMetric="no" class="us-lengths">
       <name>furlong</name>
       <property>length</property>
       <value Unit="[rd_us]" UNIT="[RD_US]" value="40">40</value>
    </unit>
-   <unit xmlns="" Code="[mi_us]" CODE="[MI_US]" isMetric="no" class="us-lengths">
+   <unit Code="[mi_us]" CODE="[MI_US]" isMetric="no" class="us-lengths">
       <name>mile</name>
       <property>length</property>
       <value Unit="[fur_us]" UNIT="[FUR_US]" value="8">8</value>
    </unit>
-   <unit xmlns="" Code="[acr_us]" CODE="[ACR_US]" isMetric="no" class="us-lengths">
+   <unit Code="[acr_us]" CODE="[ACR_US]" isMetric="no" class="us-lengths">
       <name>acre</name>
       <property>area</property>
       <value Unit="[rd_us]2" UNIT="[RD_US]2" value="160">160</value>
    </unit>
-   <unit xmlns="" Code="[srd_us]" CODE="[SRD_US]" isMetric="no" class="us-lengths">
+   <unit Code="[srd_us]" CODE="[SRD_US]" isMetric="no" class="us-lengths">
       <name>square rod</name>
       <property>area</property>
       <value Unit="[rd_us]2" UNIT="[RD_US]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[smi_us]" CODE="[SMI_US]" isMetric="no" class="us-lengths">
+   <unit Code="[smi_us]" CODE="[SMI_US]" isMetric="no" class="us-lengths">
       <name>square mile</name>
       <property>area</property>
       <value Unit="[mi_us]2" UNIT="[MI_US]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[sct]" CODE="[SCT]" isMetric="no" class="us-lengths">
+   <unit Code="[sct]" CODE="[SCT]" isMetric="no" class="us-lengths">
       <name>section</name>
       <property>area</property>
       <value Unit="[mi_us]2" UNIT="[MI_US]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[twp]" CODE="[TWP]" isMetric="no" class="us-lengths">
+   <unit Code="[twp]" CODE="[TWP]" isMetric="no" class="us-lengths">
       <name>township</name>
       <property>area</property>
       <value Unit="[sct]" UNIT="[SCT]" value="36">36</value>
    </unit>
-   <unit xmlns="" Code="[mil_us]" CODE="[MIL_US]" isMetric="no" class="us-lengths">
+   <unit Code="[mil_us]" CODE="[MIL_US]" isMetric="no" class="us-lengths">
       <name>mil</name>
       <property>length</property>
       <value Unit="[in_us]" UNIT="[IN_US]" value="1e-3">1 &#215; 10<sup>-3</sup>
       </value>
    </unit>
-   <unit xmlns="" Code="[in_br]" CODE="[IN_BR]" isMetric="no" class="brit-length">
+   <unit Code="[in_br]" CODE="[IN_BR]" isMetric="no" class="brit-length">
       <name>inch</name>
       <property>length</property>
       <value Unit="cm" UNIT="CM" value="2.539998">2.539998</value>
    </unit>
-   <unit xmlns="" Code="[ft_br]" CODE="[FT_BR]" isMetric="no" class="brit-length">
+   <unit Code="[ft_br]" CODE="[FT_BR]" isMetric="no" class="brit-length">
       <name>foot</name>
       <property>length</property>
       <value Unit="[in_br]" UNIT="[IN_BR]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[rd_br]" CODE="[RD_BR]" isMetric="no" class="brit-length">
+   <unit Code="[rd_br]" CODE="[RD_BR]" isMetric="no" class="brit-length">
       <name>rod</name>
       <property>length</property>
       <value Unit="[ft_br]" UNIT="[FT_BR]" value="16.5">16.5</value>
    </unit>
-   <unit xmlns="" Code="[ch_br]" CODE="[CH_BR]" isMetric="no" class="brit-length">
+   <unit Code="[ch_br]" CODE="[CH_BR]" isMetric="no" class="brit-length">
       <name>Gunter's chain</name>
       <property>length</property>
       <value Unit="[rd_br]" UNIT="[RD_BR]" value="4">4</value>
    </unit>
-   <unit xmlns="" Code="[lk_br]" CODE="[LK_BR]" isMetric="no" class="brit-length">
+   <unit Code="[lk_br]" CODE="[LK_BR]" isMetric="no" class="brit-length">
       <name>link for Gunter's chain</name>
       <property>length</property>
       <value Unit="[ch_br]/100" UNIT="[CH_BR]/100" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[fth_br]" CODE="[FTH_BR]" isMetric="no" class="brit-length">
+   <unit Code="[fth_br]" CODE="[FTH_BR]" isMetric="no" class="brit-length">
       <name>fathom</name>
       <property>length</property>
       <value Unit="[ft_br]" UNIT="[FT_BR]" value="6">6</value>
    </unit>
-   <unit xmlns="" Code="[pc_br]" CODE="[PC_BR]" isMetric="no" class="brit-length">
+   <unit Code="[pc_br]" CODE="[PC_BR]" isMetric="no" class="brit-length">
       <name>pace</name>
       <property>length</property>
       <value Unit="[ft_br]" UNIT="[FT_BR]" value="2.5">2.5</value>
    </unit>
-   <unit xmlns="" Code="[yd_br]" CODE="[YD_BR]" isMetric="no" class="brit-length">
+   <unit Code="[yd_br]" CODE="[YD_BR]" isMetric="no" class="brit-length">
       <name>yard</name>
       <property>length</property>
       <value Unit="[ft_br]" UNIT="[FT_BR]" value="3">3</value>
    </unit>
-   <unit xmlns="" Code="[mi_br]" CODE="[MI_BR]" isMetric="no" class="brit-length">
+   <unit Code="[mi_br]" CODE="[MI_BR]" isMetric="no" class="brit-length">
       <name>mile</name>
       <property>length</property>
       <value Unit="[ft_br]" UNIT="[FT_BR]" value="5280">5280</value>
    </unit>
-   <unit xmlns="" Code="[nmi_br]" CODE="[NMI_BR]" isMetric="no" class="brit-length">
+   <unit Code="[nmi_br]" CODE="[NMI_BR]" isMetric="no" class="brit-length">
       <name>nautical mile</name>
       <property>length</property>
       <value Unit="[ft_br]" UNIT="[FT_BR]" value="6080">6080</value>
    </unit>
-   <unit xmlns="" Code="[kn_br]" CODE="[KN_BR]" isMetric="no" class="brit-length">
+   <unit Code="[kn_br]" CODE="[KN_BR]" isMetric="no" class="brit-length">
       <name>knot</name>
       <property>velocity</property>
       <value Unit="[nmi_br]/h" UNIT="[NMI_BR]/H" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[acr_br]" CODE="[ACR_BR]" isMetric="no" class="brit-length">
+   <unit Code="[acr_br]" CODE="[ACR_BR]" isMetric="no" class="brit-length">
       <name>acre</name>
       <property>area</property>
       <value Unit="[yd_br]2" UNIT="[YD_BR]2" value="4840">4840</value>
    </unit>
-   <unit xmlns="" Code="[gal_us]" CODE="[GAL_US]" isMetric="no" class="us-volumes">
+   <unit Code="[gal_us]" CODE="[GAL_US]" isMetric="no" class="us-volumes">
       <name>Queen&#160;Anne's wine gallon</name>
       <property>fluid volume</property>
       <value Unit="[in_i]3" UNIT="[IN_I]3" value="231">231</value>
    </unit>
-   <unit xmlns="" Code="[bbl_us]" CODE="[BBL_US]" isMetric="no" class="us-volumes">
+   <unit Code="[bbl_us]" CODE="[BBL_US]" isMetric="no" class="us-volumes">
       <name>barrel</name>
       <property>fluid volume</property>
       <value Unit="[gal_us]" UNIT="[GAL_US]" value="42">42</value>
    </unit>
-   <unit xmlns="" Code="[qt_us]" CODE="[QT_US]" isMetric="no" class="us-volumes">
+   <unit Code="[qt_us]" CODE="[QT_US]" isMetric="no" class="us-volumes">
       <name>quart</name>
       <property>fluid volume</property>
       <value Unit="[gal_us]/4" UNIT="[GAL_US]/4" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pt_us]" CODE="[PT_US]" isMetric="no" class="us-volumes">
+   <unit Code="[pt_us]" CODE="[PT_US]" isMetric="no" class="us-volumes">
       <name>pint</name>
       <property>fluid volume</property>
       <value Unit="[qt_us]/2" UNIT="[QT_US]/2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[gil_us]" CODE="[GIL_US]" isMetric="no" class="us-volumes">
+   <unit Code="[gil_us]" CODE="[GIL_US]" isMetric="no" class="us-volumes">
       <name>gill</name>
       <property>fluid volume</property>
       <value Unit="[pt_us]/4" UNIT="[PT_US]/4" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[foz_us]" CODE="[FOZ_US]" isMetric="no" class="us-volumes">
+   <unit Code="[foz_us]" CODE="[FOZ_US]" isMetric="no" class="us-volumes">
       <name>fluid ounce</name>
       <printSymbol>oz fl</printSymbol>
       <property>fluid volume</property>
       <value Unit="[gil_us]/4" UNIT="[GIL_US]/4" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[fdr_us]" CODE="[FDR_US]" isMetric="no" class="us-volumes">
+   <unit Code="[fdr_us]" CODE="[FDR_US]" isMetric="no" class="us-volumes">
       <name>fluid dram</name>
       <property>fluid volume</property>
       <value Unit="[foz_us]/8" UNIT="[FOZ_US]/8" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[min_us]" CODE="[MIN_US]" isMetric="no" class="us-volumes">
+   <unit Code="[min_us]" CODE="[MIN_US]" isMetric="no" class="us-volumes">
       <name>minim</name>
       <property>fluid volume</property>
       <value Unit="[fdr_us]/60" UNIT="[FDR_US]/60" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[crd_us]" CODE="[CRD_US]" isMetric="no" class="us-volumes">
+   <unit Code="[crd_us]" CODE="[CRD_US]" isMetric="no" class="us-volumes">
       <name>cord</name>
       <property>fluid volume</property>
       <value Unit="[ft_i]3" UNIT="[FT_I]3" value="128">128</value>
    </unit>
-   <unit xmlns="" Code="[bu_us]" CODE="[BU_US]" isMetric="no" class="us-volumes">
+   <unit Code="[bu_us]" CODE="[BU_US]" isMetric="no" class="us-volumes">
       <name>bushel</name>
       <property>dry volume</property>
       <value Unit="[in_i]3" UNIT="[IN_I]3" value="2150.42">2150.42</value>
    </unit>
-   <unit xmlns="" Code="[gal_wi]" CODE="[GAL_WI]" isMetric="no" class="us-volumes">
+   <unit Code="[gal_wi]" CODE="[GAL_WI]" isMetric="no" class="us-volumes">
       <name>historical winchester gallon</name>
       <property>dry volume</property>
       <value Unit="[bu_us]/8" UNIT="[BU_US]/8" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pk_us]" CODE="[PK_US]" isMetric="no" class="us-volumes">
+   <unit Code="[pk_us]" CODE="[PK_US]" isMetric="no" class="us-volumes">
       <name>peck</name>
       <property>dry volume</property>
       <value Unit="[bu_us]/4" UNIT="[BU_US]/4" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[dqt_us]" CODE="[DQT_US]" isMetric="no" class="us-volumes">
+   <unit Code="[dqt_us]" CODE="[DQT_US]" isMetric="no" class="us-volumes">
       <name>dry quart</name>
       <property>dry volume</property>
       <value Unit="[pk_us]/8" UNIT="[PK_US]/8" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[dpt_us]" CODE="[DPT_US]" isMetric="no" class="us-volumes">
+   <unit Code="[dpt_us]" CODE="[DPT_US]" isMetric="no" class="us-volumes">
       <name>dry pint</name>
       <property>dry volume</property>
       <value Unit="[dqt_us]/2" UNIT="[DQT_US]/2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[tbs_us]" CODE="[TBS_US]" isMetric="no" class="us-volumes">
+   <unit Code="[tbs_us]" CODE="[TBS_US]" isMetric="no" class="us-volumes">
       <name>tablespoon</name>
       <property>volume</property>
       <value Unit="[foz_us]/2" UNIT="[FOZ_US]/2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[tsp_us]" CODE="[TSP_US]" isMetric="no" class="us-volumes">
+   <unit Code="[tsp_us]" CODE="[TSP_US]" isMetric="no" class="us-volumes">
       <name>teaspoon</name>
       <property>volume</property>
       <value Unit="[tbs_us]/3" UNIT="[TBS_US]/3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[cup_us]" CODE="[CUP_US]" isMetric="no" class="us-volumes">
+   <unit Code="[cup_us]" CODE="[CUP_US]" isMetric="no" class="us-volumes">
       <name>cup</name>
       <property>volume</property>
       <value Unit="[tbs_us]" UNIT="[TBS_US]" value="16">16</value>
    </unit>
-   <unit xmlns="" Code="[foz_m]" CODE="[FOZ_M]" isMetric="no" class="us-volumes">
+   <unit Code="[foz_m]" CODE="[FOZ_M]" isMetric="no" class="us-volumes">
       <name>metric fluid ounce</name>
       <printSymbol>oz fl</printSymbol>
       <property>fluid volume</property>
       <value Unit="mL" UNIT="ML" value="30">30</value>
    </unit>
-   <unit xmlns="" Code="[cup_m]" CODE="[CUP_M]" isMetric="no" class="us-volumes">
+   <unit Code="[cup_m]" CODE="[CUP_M]" isMetric="no" class="us-volumes">
       <name>metric cup</name>
       <property>volume</property>
       <value Unit="mL" UNIT="ML" value="240">240</value>
    </unit>
-   <unit xmlns="" Code="[tsp_m]" CODE="[TSP_M]" isMetric="no" class="us-volumes">
+   <unit Code="[tsp_m]" CODE="[TSP_M]" isMetric="no" class="us-volumes">
       <name>metric teaspoon</name>
       <property>volume</property>
       <value Unit="mL" UNIT="mL" value="5">5</value>
    </unit>
-   <unit xmlns="" Code="[tbs_m]" CODE="[TBS_M]" isMetric="no" class="us-volumes">
+   <unit Code="[tbs_m]" CODE="[TBS_M]" isMetric="no" class="us-volumes">
       <name>metric tablespoon</name>
       <property>volume</property>
       <value Unit="mL" UNIT="mL" value="15">15</value>
    </unit>
-   <unit xmlns="" Code="[gal_br]" CODE="[GAL_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[gal_br]" CODE="[GAL_BR]" isMetric="no" class="brit-volumes">
       <name>gallon</name>
       <property>volume</property>
       <value Unit="l" UNIT="L" value="4.54609">4.54609</value>
    </unit>
-   <unit xmlns="" Code="[pk_br]" CODE="[PK_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[pk_br]" CODE="[PK_BR]" isMetric="no" class="brit-volumes">
       <name>peck</name>
       <property>volume</property>
       <value Unit="[gal_br]" UNIT="[GAL_BR]" value="2">2</value>
    </unit>
-   <unit xmlns="" Code="[bu_br]" CODE="[BU_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[bu_br]" CODE="[BU_BR]" isMetric="no" class="brit-volumes">
       <name>bushel</name>
       <property>volume</property>
       <value Unit="[pk_br]" UNIT="[PK_BR]" value="4">4</value>
    </unit>
-   <unit xmlns="" Code="[qt_br]" CODE="[QT_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[qt_br]" CODE="[QT_BR]" isMetric="no" class="brit-volumes">
       <name>quart</name>
       <property>volume</property>
       <value Unit="[gal_br]/4" UNIT="[GAL_BR]/4" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pt_br]" CODE="[PT_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[pt_br]" CODE="[PT_BR]" isMetric="no" class="brit-volumes">
       <name>pint</name>
       <property>volume</property>
       <value Unit="[qt_br]/2" UNIT="[QT_BR]/2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[gil_br]" CODE="[GIL_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[gil_br]" CODE="[GIL_BR]" isMetric="no" class="brit-volumes">
       <name>gill</name>
       <property>volume</property>
       <value Unit="[pt_br]/4" UNIT="[PT_BR]/4" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[foz_br]" CODE="[FOZ_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[foz_br]" CODE="[FOZ_BR]" isMetric="no" class="brit-volumes">
       <name>fluid ounce</name>
       <property>volume</property>
       <value Unit="[gil_br]/5" UNIT="[GIL_BR]/5" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[fdr_br]" CODE="[FDR_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[fdr_br]" CODE="[FDR_BR]" isMetric="no" class="brit-volumes">
       <name>fluid dram</name>
       <property>volume</property>
       <value Unit="[foz_br]/8" UNIT="[FOZ_BR]/8" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[min_br]" CODE="[MIN_BR]" isMetric="no" class="brit-volumes">
+   <unit Code="[min_br]" CODE="[MIN_BR]" isMetric="no" class="brit-volumes">
       <name>minim</name>
       <property>volume</property>
       <value Unit="[fdr_br]/60" UNIT="[FDR_BR]/60" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[gr]" CODE="[GR]" isMetric="no" class="avoirdupois">
+   <unit Code="[gr]" CODE="[GR]" isMetric="no" class="avoirdupois">
       <name>grain</name>
       <property>mass</property>
       <value Unit="mg" UNIT="MG" value="64.79891">64.79891</value>
    </unit>
-   <unit xmlns="" Code="[lb_av]" CODE="[LB_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[lb_av]" CODE="[LB_AV]" isMetric="no" class="avoirdupois">
       <name>pound</name>
       <printSymbol>lb</printSymbol>
       <property>mass</property>
       <value Unit="[gr]" UNIT="[GR]" value="7000">7000</value>
    </unit>
-   <unit xmlns="" Code="[oz_av]" CODE="[OZ_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[oz_av]" CODE="[OZ_AV]" isMetric="no" class="avoirdupois">
       <name>ounce</name>
       <printSymbol>oz</printSymbol>
       <property>mass</property>
       <value Unit="[lb_av]/16" UNIT="[LB_AV]/16" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[dr_av]" CODE="[DR_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[dr_av]" CODE="[DR_AV]" isMetric="no" class="avoirdupois">
       <name>dram</name>
       <property>mass</property>
       <value Unit="[oz_av]/16" UNIT="[OZ_AV]/16" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[scwt_av]" CODE="[SCWT_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[scwt_av]" CODE="[SCWT_AV]" isMetric="no" class="avoirdupois">
       <name>short hundredweight</name>
       <name>U.S. hundredweight</name>
       <property>mass</property>
       <value Unit="[lb_av]" UNIT="[LB_AV]" value="100">100</value>
    </unit>
-   <unit xmlns="" Code="[lcwt_av]" CODE="[LCWT_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[lcwt_av]" CODE="[LCWT_AV]" isMetric="no" class="avoirdupois">
       <name>long hunderdweight</name>
       <name>British hundredweight</name>
       <property>mass</property>
       <value Unit="[lb_av]" UNIT="[LB_AV]" value="112">112</value>
    </unit>
-   <unit xmlns="" Code="[ston_av]" CODE="[STON_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[ston_av]" CODE="[STON_AV]" isMetric="no" class="avoirdupois">
       <name>short ton</name>
       <name>U.S. ton</name>
       <property>mass</property>
       <value Unit="[scwt_av]" UNIT="[SCWT_AV]" value="20">20</value>
    </unit>
-   <unit xmlns="" Code="[lton_av]" CODE="[LTON_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[lton_av]" CODE="[LTON_AV]" isMetric="no" class="avoirdupois">
       <name>long ton</name>
       <name>British ton</name>
       <property>mass</property>
       <value Unit="[lcwt_av]" UNIT="[LCWT_AV]" value="20">20</value>
    </unit>
-   <unit xmlns="" Code="[stone_av]" CODE="[STONE_AV]" isMetric="no" class="avoirdupois">
+   <unit Code="[stone_av]" CODE="[STONE_AV]" isMetric="no" class="avoirdupois">
       <name>stone</name>
       <name>British stone</name>
       <property>mass</property>
       <value Unit="[lb_av]" UNIT="[LB_AV]" value="14">14</value>
    </unit>
-   <unit xmlns="" Code="[pwt_tr]" CODE="[PWT_TR]" isMetric="no" class="troy">
+   <unit Code="[pwt_tr]" CODE="[PWT_TR]" isMetric="no" class="troy">
       <name>pennyweight</name>
       <property>mass</property>
       <value Unit="[gr]" UNIT="[GR]" value="24">24</value>
    </unit>
-   <unit xmlns="" Code="[oz_tr]" CODE="[OZ_TR]" isMetric="no" class="troy">
+   <unit Code="[oz_tr]" CODE="[OZ_TR]" isMetric="no" class="troy">
       <name>ounce</name>
       <property>mass</property>
       <value Unit="[pwt_tr]" UNIT="[PWT_TR]" value="20">20</value>
    </unit>
-   <unit xmlns="" Code="[lb_tr]" CODE="[LB_TR]" isMetric="no" class="troy">
+   <unit Code="[lb_tr]" CODE="[LB_TR]" isMetric="no" class="troy">
       <name>pound</name>
       <property>mass</property>
       <value Unit="[oz_tr]" UNIT="[OZ_TR]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[sc_ap]" CODE="[SC_AP]" isMetric="no" class="apoth">
+   <unit Code="[sc_ap]" CODE="[SC_AP]" isMetric="no" class="apoth">
       <name>scruple</name>
       <property>mass</property>
       <value Unit="[gr]" UNIT="[GR]" value="20">20</value>
    </unit>
-   <unit xmlns="" Code="[dr_ap]" CODE="[DR_AP]" isMetric="no" class="apoth">
+   <unit Code="[dr_ap]" CODE="[DR_AP]" isMetric="no" class="apoth">
       <name>dram</name>
       <name>drachm</name>
       <property>mass</property>
       <value Unit="[sc_ap]" UNIT="[SC_AP]" value="3">3</value>
    </unit>
-   <unit xmlns="" Code="[oz_ap]" CODE="[OZ_AP]" isMetric="no" class="apoth">
+   <unit Code="[oz_ap]" CODE="[OZ_AP]" isMetric="no" class="apoth">
       <name>ounce</name>
       <property>mass</property>
       <value Unit="[dr_ap]" UNIT="[DR_AP]" value="8">8</value>
    </unit>
-   <unit xmlns="" Code="[lb_ap]" CODE="[LB_AP]" isMetric="no" class="apoth">
+   <unit Code="[lb_ap]" CODE="[LB_AP]" isMetric="no" class="apoth">
       <name>pound</name>
       <property>mass</property>
       <value Unit="[oz_ap]" UNIT="[OZ_AP]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[oz_m]" CODE="[OZ_M]" isMetric="no" class="apoth">
+   <unit Code="[oz_m]" CODE="[OZ_M]" isMetric="no" class="apoth">
       <name>metric ounce</name>
       <property>mass</property>
       <value Unit="g" UNIT="g" value="28">28</value>
    </unit>
-   <unit xmlns="" Code="[lne]" CODE="[LNE]" isMetric="no" class="typeset">
+   <unit Code="[lne]" CODE="[LNE]" isMetric="no" class="typeset">
       <name>line</name>
       <property>length</property>
       <value Unit="[in_i]/12" UNIT="[IN_I]/12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pnt]" CODE="[PNT]" isMetric="no" class="typeset">
+   <unit Code="[pnt]" CODE="[PNT]" isMetric="no" class="typeset">
       <name>point</name>
       <property>length</property>
       <value Unit="[lne]/6" UNIT="[LNE]/6" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pca]" CODE="[PCA]" isMetric="no" class="typeset">
+   <unit Code="[pca]" CODE="[PCA]" isMetric="no" class="typeset">
       <name>pica</name>
       <property>length</property>
       <value Unit="[pnt]" UNIT="[PNT]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[pnt_pr]" CODE="[PNT_PR]" isMetric="no" class="typeset">
+   <unit Code="[pnt_pr]" CODE="[PNT_PR]" isMetric="no" class="typeset">
       <name>Printer's point</name>
       <property>length</property>
       <value Unit="[in_i]" UNIT="[IN_I]" value="0.013837">0.013837</value>
    </unit>
-   <unit xmlns="" Code="[pca_pr]" CODE="[PCA_PR]" isMetric="no" class="typeset">
+   <unit Code="[pca_pr]" CODE="[PCA_PR]" isMetric="no" class="typeset">
       <name>Printer's pica</name>
       <property>length</property>
       <value Unit="[pnt_pr]" UNIT="[PNT_PR]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[pied]" CODE="[PIED]" isMetric="no" class="typeset">
+   <unit Code="[pied]" CODE="[PIED]" isMetric="no" class="typeset">
       <name>pied</name>
       <name>French foot</name>
       <property>length</property>
       <value Unit="cm" UNIT="CM" value="32.48">32.48</value>
    </unit>
-   <unit xmlns="" Code="[pouce]" CODE="[POUCE]" isMetric="no" class="typeset">
+   <unit Code="[pouce]" CODE="[POUCE]" isMetric="no" class="typeset">
       <name>pouce</name>
       <name>French inch</name>
       <property>length</property>
       <value Unit="[pied]/12" UNIT="[PIED]/12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[ligne]" CODE="[LIGNE]" isMetric="no" class="typeset">
+   <unit Code="[ligne]" CODE="[LIGNE]" isMetric="no" class="typeset">
       <name>ligne</name>
       <name>French line</name>
       <property>length</property>
       <value Unit="[pouce]/12" UNIT="[POUCE]/12" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[didot]" CODE="[DIDOT]" isMetric="no" class="typeset">
+   <unit Code="[didot]" CODE="[DIDOT]" isMetric="no" class="typeset">
       <name>didot</name>
       <name>Didot's point</name>
       <property>length</property>
       <value Unit="[ligne]/6" UNIT="[LIGNE]/6" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[cicero]" CODE="[CICERO]" isMetric="no" class="typeset">
+   <unit Code="[cicero]" CODE="[CICERO]" isMetric="no" class="typeset">
       <name>cicero</name>
       <name>Didot's pica</name>
       <property>length</property>
       <value Unit="[didot]" UNIT="[DIDOT]" value="12">12</value>
    </unit>
-   <unit xmlns="" Code="[degF]" CODE="[DEGF]" isMetric="no" isSpecial="yes" class="heat">
+   <unit Code="[degF]" CODE="[DEGF]" isMetric="no" isSpecial="yes" class="heat">
       <name>degree Fahrenheit</name>
       <printSymbol>&#176;F</printSymbol>
       <property>temperature</property>
@@ -1293,125 +1293,133 @@
          <function name="degF" value="5" Unit="K/9"/>
       </value>
    </unit>
-   <unit xmlns="" Code="[degR]" CODE="[degR]" isMetric="no" class="heat">
+   <unit Code="[degR]" CODE="[degR]" isMetric="no" class="heat">
       <name>degree Rankine</name>
       <printSymbol>&#176;R</printSymbol>
       <property>temperature</property>
       <value value="5" Unit="K/9" UNIT="K/9">5</value>
    </unit>
-   <unit xmlns="" Code="cal_[15]" CODE="CAL_[15]" isMetric="yes" class="heat">
+   <unit Code="[degRe]" CODE="[degRe]" isMetric="no" isSpecial="yes" class="heat">
+      <name>degree R&#233;aumur</name>
+      <printSymbol>&#176;R&#233;</printSymbol>
+      <property>temperature</property>
+      <value Unit="degre(5 K/4)" UNIT="DEGRE(5 K/4)">
+         <function name="degRe" value="5" Unit="K/4"/>
+      </value>
+   </unit>
+   <unit Code="cal_[15]" CODE="CAL_[15]" isMetric="yes" class="heat">
       <name>calorie at 15&#160;&#176;C</name>
       <printSymbol>cal<sub>15&#176;C</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="J" UNIT="J" value="4.18580">4.18580</value>
    </unit>
-   <unit xmlns="" Code="cal_[20]" CODE="CAL_[20]" isMetric="yes" class="heat">
+   <unit Code="cal_[20]" CODE="CAL_[20]" isMetric="yes" class="heat">
       <name>calorie at 20&#160;&#176;C</name>
       <printSymbol>cal<sub>20&#176;C</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="J" UNIT="J" value="4.18190">4.18190</value>
    </unit>
-   <unit xmlns="" Code="cal_m" CODE="CAL_M" isMetric="yes" class="heat">
+   <unit Code="cal_m" CODE="CAL_M" isMetric="yes" class="heat">
       <name>mean calorie</name>
       <printSymbol>cal<sub>m</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="J" UNIT="J" value="4.19002">4.19002</value>
    </unit>
-   <unit xmlns="" Code="cal_IT" CODE="CAL_IT" isMetric="yes" class="heat">
+   <unit Code="cal_IT" CODE="CAL_IT" isMetric="yes" class="heat">
       <name>international table calorie</name>
       <printSymbol>cal<sub>IT</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="J" UNIT="J" value="4.1868">4.1868</value>
    </unit>
-   <unit xmlns="" Code="cal_th" CODE="CAL_TH" isMetric="yes" class="heat">
+   <unit Code="cal_th" CODE="CAL_TH" isMetric="yes" class="heat">
       <name>thermochemical calorie</name>
       <printSymbol>cal<sub>th</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="J" UNIT="J" value="4.184">4.184</value>
    </unit>
-   <unit xmlns="" Code="cal" CODE="CAL" isMetric="yes" class="heat">
+   <unit Code="cal" CODE="CAL" isMetric="yes" class="heat">
       <name>calorie</name>
       <printSymbol>cal</printSymbol>
       <property>energy</property>
       <value Unit="cal_th" UNIT="CAL_TH" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[Cal]" CODE="[CAL]" isMetric="no" class="heat">
+   <unit Code="[Cal]" CODE="[CAL]" isMetric="no" class="heat">
       <name>nutrition label Calories</name>
       <printSymbol>Cal</printSymbol>
       <property>energy</property>
       <value Unit="kcal_th" UNIT="KCAL_TH" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[Btu_39]" CODE="[BTU_39]" isMetric="no" class="heat">
+   <unit Code="[Btu_39]" CODE="[BTU_39]" isMetric="no" class="heat">
       <name>British thermal unit at 39&#160;&#176;F</name>
       <printSymbol>Btu<sub>39&#176;F</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="kJ" UNIT="kJ" value="1.05967">1.05967</value>
    </unit>
-   <unit xmlns="" Code="[Btu_59]" CODE="[BTU_59]" isMetric="no" class="heat">
+   <unit Code="[Btu_59]" CODE="[BTU_59]" isMetric="no" class="heat">
       <name>British thermal unit at 59&#160;&#176;F</name>
       <printSymbol>Btu<sub>59&#176;F</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="kJ" UNIT="kJ" value="1.05480">1.05480</value>
    </unit>
-   <unit xmlns="" Code="[Btu_60]" CODE="[BTU_60]" isMetric="no" class="heat">
+   <unit Code="[Btu_60]" CODE="[BTU_60]" isMetric="no" class="heat">
       <name>British thermal unit at 60&#160;&#176;F</name>
       <printSymbol>Btu<sub>60&#176;F</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="kJ" UNIT="kJ" value="1.05468">1.05468</value>
    </unit>
-   <unit xmlns="" Code="[Btu_m]" CODE="[BTU_M]" isMetric="no" class="heat">
+   <unit Code="[Btu_m]" CODE="[BTU_M]" isMetric="no" class="heat">
       <name>mean British thermal unit</name>
       <printSymbol>Btu<sub>m</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="kJ" UNIT="kJ" value="1.05587">1.05587</value>
    </unit>
-   <unit xmlns="" Code="[Btu_IT]" CODE="[BTU_IT]" isMetric="no" class="heat">
+   <unit Code="[Btu_IT]" CODE="[BTU_IT]" isMetric="no" class="heat">
       <name>international table British thermal unit</name>
       <printSymbol>Btu<sub>IT</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="kJ" UNIT="kJ" value="1.05505585262">1.05505585262</value>
    </unit>
-   <unit xmlns="" Code="[Btu_th]" CODE="[BTU_TH]" isMetric="no" class="heat">
+   <unit Code="[Btu_th]" CODE="[BTU_TH]" isMetric="no" class="heat">
       <name>thermochemical British thermal unit</name>
       <printSymbol>Btu<sub>th</sub>
       </printSymbol>
       <property>energy</property>
       <value Unit="kJ" UNIT="kJ" value="1.054350">1.054350</value>
    </unit>
-   <unit xmlns="" Code="[Btu]" CODE="[BTU]" isMetric="no" class="heat">
+   <unit Code="[Btu]" CODE="[BTU]" isMetric="no" class="heat">
       <name>British thermal unit</name>
       <printSymbol>btu</printSymbol>
       <property>energy</property>
       <value Unit="[Btu_th]" UNIT="[BTU_TH]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[HP]" CODE="[HP]" isMetric="no" class="heat">
+   <unit Code="[HP]" CODE="[HP]" isMetric="no" class="heat">
       <name>horsepower</name>
       <property>power</property>
       <value Unit="[ft_i].[lbf_av]/s" UNIT="[FT_I].[LBF_AV]/S" value="550">550</value>
    </unit>
-   <unit xmlns="" Code="tex" CODE="TEX" isMetric="yes" class="heat">
+   <unit Code="tex" CODE="TEX" isMetric="yes" class="heat">
       <name>tex</name>
       <printSymbol>tex</printSymbol>
       <property>linear mass density (of textile thread)</property>
       <value value="1" Unit="g/km" UNIT="G/KM">1</value>
    </unit>
-   <unit xmlns="" Code="[den]" CODE="[DEN]" isMetric="no" class="heat">
+   <unit Code="[den]" CODE="[DEN]" isMetric="no" class="heat">
       <name>Denier</name>
       <printSymbol>den</printSymbol>
       <property>linear mass density (of textile thread)</property>
       <value value="1" Unit="g/9/km" UNIT="G/9/KM">1</value>
    </unit>
-   <unit xmlns="" Code="m[H2O]" CODE="M[H2O]" isMetric="yes" class="clinical">
+   <unit Code="m[H2O]" CODE="M[H2O]" isMetric="yes" class="clinical">
       <name>meter of water column</name>
       <printSymbol>m&#160;H<sub>
             <r>2</r>
@@ -1419,13 +1427,13 @@
       <property>pressure</property>
       <value Unit="kPa" UNIT="KPAL" value="980665e-5">9.80665</value>
    </unit>
-   <unit xmlns="" Code="m[Hg]" CODE="M[HG]" isMetric="yes" class="clinical">
+   <unit Code="m[Hg]" CODE="M[HG]" isMetric="yes" class="clinical">
       <name>meter of mercury column</name>
       <printSymbol>m&#160;Hg</printSymbol>
       <property>pressure</property>
       <value Unit="kPa" UNIT="KPAL" value="133.3220">133.3220</value>
    </unit>
-   <unit xmlns="" Code="[in_i'H2O]" CODE="[IN_I'H2O]" isMetric="no" class="clinical">
+   <unit Code="[in_i'H2O]" CODE="[IN_I'H2O]" isMetric="no" class="clinical">
       <name>inch of water column</name>
       <printSymbol>in&#160;H<sub>
             <r>2</r>
@@ -1433,32 +1441,31 @@
       <property>pressure</property>
       <value Unit="m[H2O].[in_i]/m" UNIT="M[H2O].[IN_I]/M" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[in_i'Hg]" CODE="[IN_I'HG]" isMetric="no" class="clinical">
+   <unit Code="[in_i'Hg]" CODE="[IN_I'HG]" isMetric="no" class="clinical">
       <name>inch of mercury column</name>
       <printSymbol>in&#160;Hg</printSymbol>
       <property>pressure</property>
       <value Unit="m[Hg].[in_i]/m" UNIT="M[HG].[IN_I]/M" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[PRU]" CODE="[PRU]" isMetric="no" class="clinical">
+   <unit Code="[PRU]" CODE="[PRU]" isMetric="no" class="clinical">
       <name>peripheral vascular resistance unit</name>
       <printSymbol>P.R.U.</printSymbol>
       <property>fluid resistance</property>
       <value Unit="mm[Hg].s/ml" UNIT="MM[HG].S/ML" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[wood'U]" CODE="[WOOD'U]" isMetric="no" class="clinical">
+   <unit Code="[wood'U]" CODE="[WOOD'U]" isMetric="no" class="clinical">
       <name>Wood unit</name>
       <printSymbol>Wood U.</printSymbol>
       <property>fluid resistance</property>
       <value Unit="mm[Hg].min/L" UNIT="MM[HG].MIN/L" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[diop]" CODE="[DIOP]" isMetric="no" class="clinical">
+   <unit Code="[diop]" CODE="[DIOP]" isMetric="no" class="clinical">
       <name>diopter</name>
       <printSymbol>dpt</printSymbol>
       <property>refraction of a lens</property>
       <value Unit="/m" UNIT="/M" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[p'diop]" CODE="[P'DIOP]" isMetric="no" isSpecial="yes"
-         class="clinical">
+   <unit Code="[p'diop]" CODE="[P'DIOP]" isMetric="no" isSpecial="yes" class="clinical">
       <name>prism diopter</name>
       <printSymbol>PD</printSymbol>
       <property>refraction of a prism</property>
@@ -1466,8 +1473,7 @@
          <function name="tanTimes100" value="1" Unit="deg"/>
       </value>
    </unit>
-   <unit xmlns="" Code="%[slope]" CODE="%[SLOPE]" isMetric="no" isSpecial="yes"
-         class="clinical">
+   <unit Code="%[slope]" CODE="%[SLOPE]" isMetric="no" isSpecial="yes" class="clinical">
       <name>percent of slope</name>
       <printSymbol>%</printSymbol>
       <property>slope</property>
@@ -1475,38 +1481,37 @@
          <function name="100tan" value="1" Unit="deg"/>
       </value>
    </unit>
-   <unit xmlns="" Code="[mesh_i]" CODE="[MESH_I]" isMetric="no" class="clinical">
+   <unit Code="[mesh_i]" CODE="[MESH_I]" isMetric="no" class="clinical">
       <name>mesh</name>
       <property>lineic number</property>
       <value Unit="/[in_i]" UNIT="/[IN_I]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[Ch]" CODE="[CH]" isMetric="no" class="clinical">
+   <unit Code="[Ch]" CODE="[CH]" isMetric="no" class="clinical">
       <name>Charri&#232;re</name>
       <name>french</name>
       <printSymbol>Ch</printSymbol>
       <property>gauge of catheters</property>
       <value Unit="mm/3" UNIT="MM/3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[drp]" CODE="[DRP]" isMetric="no" class="clinical">
+   <unit Code="[drp]" CODE="[DRP]" isMetric="no" class="clinical">
       <name>drop</name>
       <printSymbol>drp</printSymbol>
       <property>volume</property>
       <value Unit="ml/20" UNIT="ML/20" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[hnsf'U]" CODE="[HNSF'U]" isMetric="no" class="clinical">
+   <unit Code="[hnsf'U]" CODE="[HNSF'U]" isMetric="no" class="clinical">
       <name>Hounsfield unit</name>
       <printSymbol>HF</printSymbol>
       <property>x-ray attenuation</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[MET]" CODE="[MET]" isMetric="no" class="clinical">
+   <unit Code="[MET]" CODE="[MET]" isMetric="no" class="clinical">
       <name>metabolic equivalent</name>
       <printSymbol>MET</printSymbol>
       <property>metabolic cost of physical activity</property>
       <value Unit="mL/min/kg" UNIT="ML/MIN/KG" value="3.5">3.5</value>
    </unit>
-   <unit xmlns="" Code="[hp'_X]" CODE="[HP'_X]" isMetric="no" isSpecial="yes"
-         class="clinical">
+   <unit Code="[hp'_X]" CODE="[HP'_X]" isMetric="no" isSpecial="yes" class="clinical">
       <name>homeopathic potency of decimal series (retired)</name>
       <printSymbol>X</printSymbol>
       <property>homeopathic potency (retired)</property>
@@ -1514,8 +1519,7 @@
          <function name="hpX" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="[hp'_C]" CODE="[HP'_C]" isMetric="no" isSpecial="yes"
-         class="clinical">
+   <unit Code="[hp'_C]" CODE="[HP'_C]" isMetric="no" isSpecial="yes" class="clinical">
       <name>homeopathic potency of centesimal series (retired)</name>
       <printSymbol>C</printSymbol>
       <property>homeopathic potency (retired)</property>
@@ -1523,8 +1527,7 @@
          <function name="hpC" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="[hp'_M]" CODE="[HP'_M]" isMetric="no" isSpecial="yes"
-         class="clinical">
+   <unit Code="[hp'_M]" CODE="[HP'_M]" isMetric="no" isSpecial="yes" class="clinical">
       <name>homeopathic potency of millesimal series (retired)</name>
       <printSymbol>M</printSymbol>
       <property>homeopathic potency (retired)</property>
@@ -1532,8 +1535,7 @@
          <function name="hpM" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="[hp'_Q]" CODE="[HP'_Q]" isMetric="no" isSpecial="yes"
-         class="clinical">
+   <unit Code="[hp'_Q]" CODE="[HP'_Q]" isMetric="no" isSpecial="yes" class="clinical">
       <name>homeopathic potency of quintamillesimal series (retired)</name>
       <printSymbol>Q</printSymbol>
       <property>homeopathic potency (retired)</property>
@@ -1541,75 +1543,67 @@
          <function name="hpQ" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="[hp_X]" CODE="[HP_X]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[hp_X]" CODE="[HP_X]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of decimal hahnemannian series</name>
       <printSymbol>X</printSymbol>
       <property>homeopathic potency (Hahnemann)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[hp_C]" CODE="[HP_C]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[hp_C]" CODE="[HP_C]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of centesimal hahnemannian series</name>
       <printSymbol>C</printSymbol>
       <property>homeopathic potency (Hahnemann)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[hp_M]" CODE="[HP_M]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[hp_M]" CODE="[HP_M]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of millesimal hahnemannian series</name>
       <printSymbol>M</printSymbol>
       <property>homeopathic potency (Hahnemann)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[hp_Q]" CODE="[HP_Q]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[hp_Q]" CODE="[HP_Q]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of quintamillesimal hahnemannian series</name>
       <printSymbol>Q</printSymbol>
       <property>homeopathic potency (Hahnemann)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[kp_X]" CODE="[KP_X]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[kp_X]" CODE="[KP_X]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of decimal korsakovian series</name>
       <printSymbol>X</printSymbol>
       <property>homeopathic potency (Korsakov)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[kp_C]" CODE="[KP_C]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[kp_C]" CODE="[KP_C]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of centesimal korsakovian series</name>
       <printSymbol>C</printSymbol>
       <property>homeopathic potency (Korsakov)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[kp_M]" CODE="[KP_M]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[kp_M]" CODE="[KP_M]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of millesimal korsakovian series</name>
       <printSymbol>M</printSymbol>
       <property>homeopathic potency (Korsakov)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[kp_Q]" CODE="[KP_Q]" isMetric="no" isArbitrary="yes"
-         class="clinical">
+   <unit Code="[kp_Q]" CODE="[KP_Q]" isMetric="no" isArbitrary="yes" class="clinical">
       <name>homeopathic potency of quintamillesimal korsakovian series</name>
       <printSymbol>Q</printSymbol>
       <property>homeopathic potency (Korsakov)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="eq" CODE="EQ" isMetric="yes" class="chemical">
+   <unit Code="eq" CODE="EQ" isMetric="yes" class="chemical">
       <name>equivalents</name>
       <printSymbol>eq</printSymbol>
       <property>amount of substance</property>
       <value Unit="mol" UNIT="MOL" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="osm" CODE="OSM" isMetric="yes" class="chemical">
+   <unit Code="osm" CODE="OSM" isMetric="yes" class="chemical">
       <name>osmole</name>
       <printSymbol>osm</printSymbol>
       <property>amount of substance (dissolved particles)</property>
       <value Unit="mol" UNIT="MOL" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[pH]" CODE="[PH]" isMetric="no" isSpecial="yes" class="chemical">
+   <unit Code="[pH]" CODE="[PH]" isMetric="no" isSpecial="yes" class="chemical">
       <name>pH</name>
       <printSymbol>pH</printSymbol>
       <property>acidity</property>
@@ -1617,149 +1611,138 @@
          <function name="pH" value="1" Unit="mol/l"/>
       </value>
    </unit>
-   <unit xmlns="" Code="g%" CODE="G%" isMetric="yes" class="chemical">
+   <unit Code="g%" CODE="G%" isMetric="yes" class="chemical">
       <name>gram percent</name>
       <printSymbol>g%</printSymbol>
       <property>mass concentration</property>
       <value Unit="g/dl" UNIT="G/DL" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[S]" CODE="[S]" isMetric="no" class="chemical">
+   <unit Code="[S]" CODE="[S]" isMetric="no" class="chemical">
       <name>Svedberg unit</name>
       <printSymbol>S</printSymbol>
       <property>sedimentation coefficient</property>
       <value Unit="10*-13.s" UNIT="10*-13.S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[HPF]" CODE="[HPF]" isMetric="no" class="chemical">
+   <unit Code="[HPF]" CODE="[HPF]" isMetric="no" class="chemical">
       <name>high power field</name>
       <printSymbol>HPF</printSymbol>
       <property>view area in microscope</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[LPF]" CODE="[LPF]" isMetric="no" class="chemical">
+   <unit Code="[LPF]" CODE="[LPF]" isMetric="no" class="chemical">
       <name>low power field</name>
       <printSymbol>LPF</printSymbol>
       <property>view area in microscope</property>
       <value Unit="1" UNIT="1" value="100">100</value>
    </unit>
-   <unit xmlns="" Code="kat" CODE="KAT" isMetric="yes" class="chemical">
+   <unit Code="kat" CODE="KAT" isMetric="yes" class="chemical">
       <name>katal</name>
       <printSymbol>kat</printSymbol>
       <property>catalytic activity</property>
       <value Unit="mol/s" UNIT="MOL/S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="U" CODE="U" isMetric="yes" class="chemical">
+   <unit Code="U" CODE="U" isMetric="yes" class="chemical">
       <name>Unit</name>
       <printSymbol>U</printSymbol>
       <property>catalytic activity</property>
       <value Unit="umol/min" UNIT="UMOL/MIN" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[iU]" CODE="[IU]" isMetric="yes" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[iU]" CODE="[IU]" isMetric="yes" isArbitrary="yes" class="chemical">
       <name>international unit</name>
       <printSymbol>IU</printSymbol>
       <property>arbitrary</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[IU]" CODE="[IU]" isMetric="yes" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[IU]" CODE="[IU]" isMetric="yes" isArbitrary="yes" class="chemical">
       <name>international unit</name>
       <printSymbol>i.U.</printSymbol>
       <property>arbitrary</property>
       <value Unit="[iU]" UNIT="[IU]" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[arb'U]" CODE="[ARB'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[arb'U]" CODE="[ARB'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>arbitary unit</name>
       <printSymbol>arb. U</printSymbol>
       <property>arbitrary</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[USP'U]" CODE="[USP'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[USP'U]" CODE="[USP'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>United States Pharmacopeia unit</name>
       <printSymbol>U.S.P.</printSymbol>
       <property>arbitrary</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[GPL'U]" CODE="[GPL'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[GPL'U]" CODE="[GPL'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>GPL unit</name>
       <property>biologic activity of anticardiolipin IgG</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[MPL'U]" CODE="[MPL'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[MPL'U]" CODE="[MPL'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>MPL unit</name>
       <property>biologic activity of anticardiolipin IgM</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[APL'U]" CODE="[APL'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[APL'U]" CODE="[APL'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>APL unit</name>
       <property>biologic activity of anticardiolipin IgA</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[beth'U]" CODE="[BETH'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[beth'U]" CODE="[BETH'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>Bethesda unit</name>
       <property>biologic activity of factor VIII inhibitor</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[anti'Xa'U]" CODE="[ANTI'XA'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[anti'Xa'U]" CODE="[ANTI'XA'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>anti factor Xa unit</name>
       <property>biologic activity of factor Xa inhibitor (heparin)</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[todd'U]" CODE="[TODD'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[todd'U]" CODE="[TODD'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>Todd unit</name>
       <property>biologic activity antistreptolysin O</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[dye'U]" CODE="[DYE'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[dye'U]" CODE="[DYE'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>Dye unit</name>
       <property>biologic activity of amylase</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[smgy'U]" CODE="[SMGY'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[smgy'U]" CODE="[SMGY'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>Somogyi unit</name>
       <property>biologic activity of amylase</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[bdsk'U]" CODE="[BDSK'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[bdsk'U]" CODE="[BDSK'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>Bodansky unit</name>
       <property>biologic activity of phosphatase</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[ka'U]" CODE="[KA'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[ka'U]" CODE="[KA'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>King-Armstrong unit</name>
       <property>biologic activity of phosphatase</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[knk'U]" CODE="[KNK'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[knk'U]" CODE="[KNK'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>Kunkel unit</name>
       <property>arbitrary biologic activity</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[mclg'U]" CODE="[MCLG'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[mclg'U]" CODE="[MCLG'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>Mac Lagan unit</name>
       <property>arbitrary biologic activity</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[tb'U]" CODE="[TB'U]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[tb'U]" CODE="[TB'U]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>tuberculin unit</name>
       <property>biologic activity of tuberculin</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[CCID_50]" CODE="[CCID_50]" isMetric="no" isArbitrary="yes"
+   <unit Code="[CCID_50]" CODE="[CCID_50]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>50% cell culture infectious dose</name>
       <printSymbol>CCID<sub>50</sub>
@@ -1767,7 +1750,7 @@
       <property>biologic activity (infectivity) of an infectious agent preparation</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[TCID_50]" CODE="[TCID_50]" isMetric="no" isArbitrary="yes"
+   <unit Code="[TCID_50]" CODE="[TCID_50]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>50% tissue culture infectious dose</name>
       <printSymbol>TCID<sub>50</sub>
@@ -1775,7 +1758,7 @@
       <property>biologic activity (infectivity) of an infectious agent preparation</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[EID_50]" CODE="[EID_50]" isMetric="no" isArbitrary="yes"
+   <unit Code="[EID_50]" CODE="[EID_50]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>50% embryo infectious dose</name>
       <printSymbol>EID<sub>50</sub>
@@ -1783,91 +1766,87 @@
       <property>biologic activity (infectivity) of an infectious agent preparation</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[PFU]" CODE="[PFU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[PFU]" CODE="[PFU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>plaque forming units</name>
       <printSymbol>PFU</printSymbol>
       <property>amount of an infectious agent</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[FFU]" CODE="[FFU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[FFU]" CODE="[FFU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>focus forming units</name>
       <printSymbol>FFU</printSymbol>
       <property>amount of an infectious agent</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[CFU]" CODE="[CFU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[CFU]" CODE="[CFU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>colony forming units</name>
       <printSymbol>CFU</printSymbol>
       <property>amount of a proliferating organism</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[BAU]" CODE="[BAU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[IR]" CODE="[IR]" isMetric="no" isArbitrary="yes" class="chemical">
+      <name>index of reactivity</name>
+      <printSymbol>IR</printSymbol>
+      <property>amount of an allergen callibrated through in-vivo testing using the Stallergenes&#174; method.</property>
+      <value Unit="1" UNIT="1" value="1">1</value>
+   </unit>
+   <unit Code="[BAU]" CODE="[BAU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>bioequivalent allergen unit</name>
       <printSymbol>BAU</printSymbol>
       <property>amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[AU]" CODE="[AU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[AU]" CODE="[AU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>allergen unit</name>
       <printSymbol>AU</printSymbol>
       <property>procedure defined amount of an allergen using some reference standard</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[Amb'a'1'U]" CODE="[AMB'A'1'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[Amb'a'1'U]" CODE="[AMB'A'1'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>allergen unit for Ambrosia artemisiifolia</name>
       <printSymbol>Amb a 1 U</printSymbol>
       <property>procedure defined amount of the major allergen of ragweed.</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[PNU]" CODE="[PNU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[PNU]" CODE="[PNU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>protein nitrogen unit</name>
       <printSymbol>PNU</printSymbol>
       <property>procedure defined amount of a protein substance</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[Lf]" CODE="[LF]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[Lf]" CODE="[LF]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>Limit of flocculation</name>
       <printSymbol>Lf</printSymbol>
       <property>procedure defined amount of an antigen substance</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[D'ag'U]" CODE="[D'AG'U]" isMetric="no" isArbitrary="yes"
+   <unit Code="[D'ag'U]" CODE="[D'AG'U]" isMetric="no" isArbitrary="yes"
          class="chemical">
       <name>D-antigen unit</name>
       <printSymbol/>
       <property>procedure defined amount of a poliomyelitis d-antigen substance</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[FEU]" CODE="[FEU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[FEU]" CODE="[FEU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>fibrinogen equivalent unit</name>
       <printSymbol/>
       <property>amount of fibrinogen broken down into the measured d-dimers</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[ELU]" CODE="[ELU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[ELU]" CODE="[ELU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>ELISA unit</name>
       <printSymbol/>
       <property>arbitrary ELISA unit</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[EU]" CODE="[EU]" isMetric="no" isArbitrary="yes"
-         class="chemical">
+   <unit Code="[EU]" CODE="[EU]" isMetric="no" isArbitrary="yes" class="chemical">
       <name>Ehrlich unit</name>
       <printSymbol/>
       <property>Ehrlich unit</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Np" CODE="NEP" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="Np" CODE="NEP" isMetric="yes" isSpecial="yes" class="levels">
       <name>neper</name>
       <printSymbol>Np</printSymbol>
       <property>level</property>
@@ -1875,7 +1854,7 @@
          <function name="ln" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B" CODE="B" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="B" CODE="B" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel</name>
       <printSymbol>B</printSymbol>
       <property>level</property>
@@ -1883,8 +1862,7 @@
          <function name="lg" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[SPL]" CODE="B[SPL]" isMetric="yes" isSpecial="yes"
-         class="levels">
+   <unit Code="B[SPL]" CODE="B[SPL]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel sound pressure</name>
       <printSymbol>B(SPL)</printSymbol>
       <property>pressure level</property>
@@ -1892,7 +1870,7 @@
          <function name="lgTimes2" value="2" Unit="10*-5.Pa"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[V]" CODE="B[V]" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="B[V]" CODE="B[V]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel volt</name>
       <printSymbol>B(V)</printSymbol>
       <property>electric potential level</property>
@@ -1900,7 +1878,7 @@
          <function name="lgTimes2" value="1" Unit="V"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[mV]" CODE="B[MV]" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="B[mV]" CODE="B[MV]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel millivolt</name>
       <printSymbol>B(mV)</printSymbol>
       <property>electric potential level</property>
@@ -1908,7 +1886,7 @@
          <function name="lgTimes2" value="1" Unit="mV"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[uV]" CODE="B[UV]" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="B[uV]" CODE="B[UV]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel microvolt</name>
       <printSymbol>B(&#956;V)</printSymbol>
       <property>electric potential level</property>
@@ -1916,8 +1894,7 @@
          <function name="lgTimes2" value="1" Unit="uV"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[10.nV]" CODE="B[10.NV]" isMetric="yes" isSpecial="yes"
-         class="levels">
+   <unit Code="B[10.nV]" CODE="B[10.NV]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel 10 nanovolt</name>
       <printSymbol>B(10 nV)</printSymbol>
       <property>electric potential level</property>
@@ -1925,7 +1902,7 @@
          <function name="lgTimes2" value="10" Unit="nV"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[W]" CODE="B[W]" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="B[W]" CODE="B[W]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel watt</name>
       <printSymbol>B(W)</printSymbol>
       <property>power level</property>
@@ -1933,7 +1910,7 @@
          <function name="lg" value="1" Unit="W"/>
       </value>
    </unit>
-   <unit xmlns="" Code="B[kW]" CODE="B[KW]" isMetric="yes" isSpecial="yes" class="levels">
+   <unit Code="B[kW]" CODE="B[KW]" isMetric="yes" isSpecial="yes" class="levels">
       <name>bel kilowatt</name>
       <printSymbol>B(kW)</printSymbol>
       <property>power level</property>
@@ -1941,62 +1918,62 @@
          <function name="lg" value="1" Unit="kW"/>
       </value>
    </unit>
-   <unit xmlns="" Code="st" CODE="STR" isMetric="yes" class="misc">
+   <unit Code="st" CODE="STR" isMetric="yes" class="misc">
       <name>stere</name>
       <printSymbol>st</printSymbol>
       <property>volume</property>
       <value Unit="m3" UNIT="M3" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="Ao" CODE="AO" isMetric="no" class="misc">
+   <unit Code="Ao" CODE="AO" isMetric="no" class="misc">
       <name>&#197;ngstr&#246;m</name>
       <printSymbol>&#197;</printSymbol>
       <property>length</property>
       <value Unit="nm" UNIT="NM" value="0.1">0.1</value>
    </unit>
-   <unit xmlns="" Code="b" CODE="BRN" isMetric="no" class="misc">
+   <unit Code="b" CODE="BRN" isMetric="no" class="misc">
       <name>barn</name>
       <printSymbol>b</printSymbol>
       <property>action area</property>
       <value Unit="fm2" UNIT="FM2" value="100">100</value>
    </unit>
-   <unit xmlns="" Code="att" CODE="ATT" isMetric="no" class="misc">
+   <unit Code="att" CODE="ATT" isMetric="no" class="misc">
       <name>technical atmosphere</name>
       <printSymbol>at</printSymbol>
       <property>pressure</property>
       <value Unit="kgf/cm2" UNIT="KGF/CM2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="mho" CODE="MHO" isMetric="yes" class="misc">
+   <unit Code="mho" CODE="MHO" isMetric="yes" class="misc">
       <name>mho</name>
       <printSymbol>mho</printSymbol>
       <property>electric conductance</property>
       <value Unit="S" UNIT="S" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[psi]" CODE="[PSI]" isMetric="no" class="misc">
+   <unit Code="[psi]" CODE="[PSI]" isMetric="no" class="misc">
       <name>pound per sqare inch</name>
       <printSymbol>psi</printSymbol>
       <property>pressure</property>
       <value Unit="[lbf_av]/[in_i]2" UNIT="[LBF_AV]/[IN_I]2" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="circ" CODE="CIRC" isMetric="no" class="misc">
+   <unit Code="circ" CODE="CIRC" isMetric="no" class="misc">
       <name>circle</name>
       <printSymbol>circ</printSymbol>
       <property>plane angle</property>
       <value Unit="[pi].rad" UNIT="[PI].RAD" value="2">2</value>
    </unit>
-   <unit xmlns="" Code="sph" CODE="SPH" isMetric="no" class="misc">
+   <unit Code="sph" CODE="SPH" isMetric="no" class="misc">
       <name>spere</name>
       <printSymbol>sph</printSymbol>
       <property>solid angle</property>
       <value Unit="[pi].sr" UNIT="[PI].SR" value="4">4</value>
    </unit>
-   <unit xmlns="" Code="[car_m]" CODE="[CAR_M]" isMetric="no" class="misc">
+   <unit Code="[car_m]" CODE="[CAR_M]" isMetric="no" class="misc">
       <name>metric carat</name>
       <printSymbol>ct<sub>m</sub>
       </printSymbol>
       <property>mass</property>
       <value Unit="g" UNIT="G" value="2e-1">0.2</value>
    </unit>
-   <unit xmlns="" Code="[car_Au]" CODE="[CAR_AU]" isMetric="no" class="misc">
+   <unit Code="[car_Au]" CODE="[CAR_AU]" isMetric="no" class="misc">
       <name>carat of gold alloys</name>
       <printSymbol>ct<sub>
             <r>Au</r>
@@ -2005,14 +1982,22 @@
       <property>mass fraction</property>
       <value Unit="/24" UNIT="/24" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="[smoot]" CODE="[SMOOT]" isMetric="no" class="misc">
+   <unit Code="[smoot]" CODE="[SMOOT]" isMetric="no" class="misc">
       <name>Smoot</name>
       <printSymbol/>
       <property>length</property>
       <value Unit="[in_i]" UNIT="[IN_I]" value="67">67</value>
    </unit>
-   <unit xmlns="" Code="bit_s" CODE="BIT_S" isMetric="no" isSpecial="yes"
-         class="infotech">
+   <unit Code="[m/s2/Hz^(1/2)]" CODE="[M/S2/HZ^(1/2)]" isMetric="no" isSpecial="yes"
+         class="misc">
+      <name>meter per square seconds per square root of hertz</name>
+      <printSymbol/>
+      <property>amplitude spectral density</property>
+      <value Unit="sqrt(1 m2/s4/Hz)" UNIT="SQRT(1 M2/S4/HZ)">
+         <function name="sqrt" value="1" Unit="m2/s4/Hz"/>
+      </value>
+   </unit>
+   <unit Code="bit_s" CODE="BIT_S" isMetric="no" isSpecial="yes" class="infotech">
       <name>bit</name>
       <printSymbol>bit<sub>s</sub>
       </printSymbol>
@@ -2021,40 +2006,40 @@
          <function name="ld" value="1" Unit="1"/>
       </value>
    </unit>
-   <unit xmlns="" Code="bit" CODE="BIT" isMetric="yes" class="infotech">
+   <unit Code="bit" CODE="BIT" isMetric="yes" class="infotech">
       <name>bit</name>
       <printSymbol>bit</printSymbol>
       <property>amount of information</property>
       <value Unit="1" UNIT="1" value="1">1</value>
    </unit>
-   <unit xmlns="" Code="By" CODE="BY" isMetric="yes" class="infotech">
+   <unit Code="By" CODE="BY" isMetric="yes" class="infotech">
       <name>byte</name>
       <printSymbol>B</printSymbol>
       <property>amount of information</property>
       <value Unit="bit" UNIT="bit" value="8">8</value>
    </unit>
-   <unit xmlns="" Code="Bd" CODE="BD" isMetric="yes" class="infotech">
+   <unit Code="Bd" CODE="BD" isMetric="yes" class="infotech">
       <name>baud</name>
       <printSymbol>Bd</printSymbol>
       <property>signal transmission rate</property>
       <value Unit="/s" UNIT="/s" value="1">1</value>
    </unit>
-   <prefix xmlns="" Code="Ki" CODE="KIB">
+   <prefix Code="Ki" CODE="KIB">
       <name>kibi</name>
       <printSymbol>Ki</printSymbol>
       <value value="1024">1024</value>
    </prefix>
-   <prefix xmlns="" Code="Mi" CODE="MIB">
+   <prefix Code="Mi" CODE="MIB">
       <name>mebi</name>
       <printSymbol>Mi</printSymbol>
       <value value="1048576">1048576</value>
    </prefix>
-   <prefix xmlns="" Code="Gi" CODE="GIB">
+   <prefix Code="Gi" CODE="GIB">
       <name>gibi</name>
       <printSymbol>Gi</printSymbol>
       <value value="1073741824">1073741824</value>
    </prefix>
-   <prefix xmlns="" Code="Ti" CODE="TIB">
+   <prefix Code="Ti" CODE="TIB">
       <name>tebi</name>
       <printSymbol>Ti</printSymbol>
       <value value="1099511627776">1099511627776</value>
diff --git a/bundles/org.eclipse.uomo.ucum/.classpath b/bundles/org.eclipse.uomo.ucum/.classpath
index a625c7f..04f0184 100644
--- a/bundles/org.eclipse.uomo.ucum/.classpath
+++ b/bundles/org.eclipse.uomo.ucum/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/main/java/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.ucum/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.ucum/META-INF/MANIFEST.MF
index 801f5b8..a0f9c3a 100644
--- a/bundles/org.eclipse.uomo.ucum/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.ucum/META-INF/MANIFEST.MF
@@ -16,4 +16,4 @@
  org.eclipse.uomo.units;bundle-version="0.8.0",

  org.apache.commons.lang;bundle-version="2.3.0"

 Bundle-Vendor: Eclipse.org

-Bundle-RequiredExecutionEnvironment: JavaSE-1.6

+Bundle-RequiredExecutionEnvironment: JavaSE-1.8

diff --git a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumConverter.java b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumConverter.java
index 442480f..a5065df 100644
--- a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumConverter.java
+++ b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumConverter.java
@@ -1,327 +1,327 @@
-/*******************************************************************************
- * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2008 Kestral Computing P/L.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    Kestral Computing P/L - initial implementation
- *    
- *******************************************************************************/
-
-package org.eclipse.uomo.ucum.impl;
-
-import static org.eclipse.uomo.core.impl.OutputHelper.isConsoleOutput;
-import static org.eclipse.uomo.core.impl.OutputHelper.println;
-import static org.eclipse.uomo.ucum.model.ConceptKind.*;
-import static org.eclipse.uomo.ucum.expression.Operator.*;
-
-import java.math.BigDecimal;
-import java.math.MathContext;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.uomo.core.UOMoRuntimeException;
-import org.eclipse.uomo.ucum.expression.Component;
-import org.eclipse.uomo.ucum.expression.Factor;
-import org.eclipse.uomo.ucum.expression.Symbol;
-import org.eclipse.uomo.ucum.expression.Term;
-import org.eclipse.uomo.ucum.model.DefinedUnit;
-import org.eclipse.uomo.ucum.model.UcumModel;
-import org.eclipse.uomo.ucum.parsers.ExpressionComposer;
-import org.eclipse.uomo.ucum.parsers.ExpressionParser;
-import org.eclipse.uomo.ucum.special.SpecialUnitHandler;
-import org.eclipse.uomo.units.AbstractConverter;
-import org.eclipse.uomo.util.Registry;
-import org.unitsofmeasurement.unit.UnitConverter;
-
-/**
- * = [mu_0] = 4.[pi].10*-7.N/A2 = (g.m/s2)/(C/s)2? = g.m/s2/(C2/s2) =
- * g.m/s2/C2.s2 = g.m/C2.s2/s2 = g.m/C2 = m.g.C-2
- * 
- * @author Grahame Grieve
- * @author Werner Keil
- */
-class UcumConverter extends AbstractConverter {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = -895607408258138526L;
-	private final UcumModel model;
-	@SuppressWarnings("rawtypes")
-	private final Registry<SpecialUnitHandler> handlers;
-	private final UnitConverter compound;
-	
-	private Factor one = new Factor(1);
-
-	/**
-	 * @param model
-	 */
-	public UcumConverter(UcumModel model, Registry handlers) {
-		super();
-		this.model = model;
-		this.handlers = handlers;
-		List<UnitConverter> compounds = getCompoundConverters();
-		compound = compounds.get(0);
-	}
-
-	public Canonical convert(Term term) throws UOMoRuntimeException {
-		return convertTerm(term);
-	}
-
-	private Canonical convertTerm(Term term) throws UOMoRuntimeException {
-		Canonical res = new Canonical(BigDecimal.ONE, new Term());
-		if (term.hasComp())
-			res.getUnit().setComp(convertComp(res, term.getComp()));
-		if (term.hasOp())
-			res.getUnit().setOp(term.getOp());
-		if (term.hasTerm()) {
-			Canonical t = convertTerm(term.getTerm());
-			res.setValue(res.getValue().multiply(t.getValue()));
-			if (t.hasUnit())
-				res.getUnit().setTermCheckOp(t.getUnit());
-			else
-				res.getUnit().setOp(null);
-		}
-
-		// normalise
-		debug("normalise", res.getUnit()); //$NON-NLS-1$
-		if (res.getUnit().hasOp() && res.getUnit().getOp() == DIVISION) {
-			res.getUnit().setOp(MULTIPLICATION);
-			flipExponents(res.getUnit().getTerm());
-			debug("flipped", res.getUnit()); //$NON-NLS-1$
-		}
-
-		if (!res.getUnit().hasComp() || res.getUnit().getComp() == one) {
-			res.setUnit(res.getUnit().getTerm());
-			debug("trimmed", res.getUnit()); //$NON-NLS-1$
-		}
-
-		// everything in scope is a multiplication operation. If comp is a term,
-		// then
-		// we are going to tack our term on the end of that term as a
-		// multiplication, and
-		// make comp our term
-
-		if (res.hasUnit() && res.getUnit().hasComp()
-				&& res.getUnit().getComp() instanceof Term) {
-			Term end = getEndTerm((Term) res.getUnit().getComp());
-			assert end.getOp() == null;
-			end.setOp(MULTIPLICATION);
-			end.setTermCheckOp(res.getUnit().getTerm());
-			res.setUnit((Term) res.getUnit().getComp());
-			debug("reorged", res.getUnit()); //$NON-NLS-1$
-		}
-
-		if (res.hasUnit()
-				&& (!res.getUnit().hasComp() || res.getUnit().getComp() == one)) {
-			res.setUnit(res.getUnit().getTerm());
-			debug("trimmed", res.getUnit()); //$NON-NLS-1$
-		}
-		// now we have a linear list of terms, each with one component.
-		// we scan through the list looking for common components to factor out
-		// we have to scan into the list because we may have deep duplicates
-		// from the previous flattening operation. we also remove anything
-		// that's
-		// ended up with an exponent of 0 during this operation
-		if (res.hasUnit())
-			res.setUnit(removeDuplicateComponents(res.getUnit()));
-
-		if (res.hasUnit() && !res.getUnit().hasTerm())
-			res.getUnit().setOp(null);
-		debug("norm finished", res.getUnit()); //$NON-NLS-1$
-		// System.out.println("value: "+res.getValue().toPlainString()+"; units: "+new
-		// ExpressionComposer().compose(res.getUnit()));
-		return res;
-	}
-
-	private void debug(String state, Term unit) {
-		if (isConsoleOutput()) { // avoiding any call if no debug output set
-			println(state + ": " + new ExpressionComposer().compose(unit)); //$NON-NLS-1$
-		}
-	}
-
-	private Term getEndTerm(Term term) {
-		if (term.hasTerm())
-			return getEndTerm(term.getTerm());
-		else
-			return term;
-	}
-
-	private Term removeDuplicateComponents(Term unit) {
-		if (unit == null)
-			return null;
-		assert unit.getComp() instanceof Symbol; // because that should be all
-													// that's left
-		Symbol symO = (Symbol) unit.getComp();
-		Term inner = findDuplicateCompOwner(unit.getTerm(), symO);
-		if (inner != null) {
-			Symbol symI = (Symbol) inner.getComp();
-			symI.setExponent(symI.getExponent() + symO.getExponent());
-			return removeDuplicateComponents(unit.getTerm());
-		}
-		if (symO.getExponent() == 0)
-			return removeDuplicateComponents(unit.getTerm());
-		unit.setTermCheckOp(removeDuplicateComponents(unit.getTerm()));
-		return unit;
-	}
-
-	private Term findDuplicateCompOwner(Term term, Symbol comp) {
-		if (term == null)
-			return null;
-		if (term.getComp() instanceof Symbol) {
-			Symbol sym = (Symbol) term.getComp();
-			if (sym.getPrefix() == comp.getPrefix() && // i.e. null
-					sym.getUnit() == comp.getUnit())
-				return term;
-		}
-		return findDuplicateCompOwner(term.getTerm(), comp);
-	}
-
-	private void flipExponents(Term term) {
-		if (term.getComp() instanceof Symbol) {
-			((Symbol) term.getComp()).invertExponent();
-		}
-		if (term.hasTerm()) {
-			flipExponents(term.getTerm());
-		}
-	}
-
-	private Component convertComp(Canonical ctxt, Component comp)
-			throws UOMoRuntimeException {
-		if (comp instanceof Term) {
-			Canonical t = convertTerm((Term) comp);
-			ctxt.multiplyValue(t.getValue());
-			return t.getUnit();
-		} else if (comp instanceof Factor) {
-			ctxt.multiplyValue(((Factor) comp).getValue());
-			return one; // nothing to convert
-		} else if (comp instanceof Symbol)
-			return convertSymbol(ctxt, (Symbol) comp);
-		else
-			throw new UOMoRuntimeException("unknown component type " //$NON-NLS-1$
-					+ comp.getClass().toString());
-	}
-
-	private Component convertSymbol(Canonical ctxt, Symbol comp)
-			throws UOMoRuntimeException {
-		if (comp.hasPrefix()) {
-//			ctxt.multiplyValue(comp.getPrefix().getValue());
-			ctxt.multiplyValue(((BigDecimal)comp.getPrefix().getValue()).pow(
-					comp.getExponent(),	MathContext.DECIMAL128));
-		}
-
-		if (comp.getUnit().getKind() == BASEUNIT) {
-			Symbol res = new Symbol();
-			res.setUnit(comp.getUnit());
-			res.setExponent(comp.getExponent());
-			return res;
-		} else {
-			DefinedUnit unit = (DefinedUnit) comp.getUnit();
-			String u = unit.getValue().getUnit();
-			if (unit.isSpecial()) {
-				if (!handlers.exists(unit.getCode()))
-					throw new UOMoRuntimeException("Not handled yet (special unit)"); //$NON-NLS-1$
-				else {
-					u = handlers.get(unit.getCode()).getUnits();
-					ctxt.multiplyValue(handlers.get(unit.getCode()).value());
-				}
-			} else
-				ctxt.multiplyValue(unit.getValue().value());
-			Term canonical = new ExpressionParser(model).parse(u);
-			if (canonical.hasComp() && !canonical.hasOp()
-					&& !canonical.hasTerm()) {
-				Component ret = convertComp(ctxt, canonical.getComp());
-				if (comp.getExponent() == 1)
-					return ret;
-				else if (ret instanceof Factor) {
-					((Factor) ret).setValue(comp.getExponent()
-							+ ((Factor) ret).getValue());
-					return ret;
-				} else if (ret instanceof Symbol) {
-					((Symbol) ret).setExponent(comp.getExponent()
-							* ((Symbol) ret).getExponent());
-					return ret;
-				} else if (ret instanceof Term) {
-					applyExponent((Term) ret, comp.getExponent());
-					return ret;
-				} else
-					throw new UOMoRuntimeException("unknown component type " //$NON-NLS-1$
-							+ comp.getClass().toString());
-			} else {
-				Canonical t1 = convertTerm(canonical);
-				Term ret = t1.getUnit();
-				if (comp.getExponent() == -1 && ret.hasComp() && ret.hasOp()
-						&& ret.hasTerm() && ret.getTerm().hasComp()
-						&& !ret.getTerm().hasOp() && !ret.getTerm().hasTerm()) {
-					Component t = ret.getTerm().getComp();
-					ret.getTerm().setComp(ret.getComp());
-					ret.setComp(t);
-					ctxt.divideValue(t1.getValue());
-					return ret;
-				} else if (comp.getExponent() != 1) {
-					ctxt.multiplyValue(t1.getValue());
-					// what we have to do is push the exponent into the all the
-					// symbols contained herein
-					applyExponent(ret, comp.getExponent());
-					return ret;
-				} else {
-					ctxt.multiplyValue(t1.getValue());
-					return ret;
-				}
-			}
-		}
-	}
-
-	private void applyExponent(Term term, int exponent) {
-		if (term == null)
-			return;
-		if (term.hasComp()) {
-			if (term.getComp() instanceof Term) {
-				applyExponent((Term) term.getComp(), exponent);
-			} else if (term.getComp() instanceof Symbol) {
-				Symbol sym = (Symbol) term.getComp();
-				sym.setExponent(sym.getExponent() * exponent);
-			}
-
-		}
-		applyExponent(term.getTerm(), exponent);
-	}
-
-	public UnitConverter concatenate(UnitConverter converter) {
-		return compound.concatenate(converter);
-	}
-
-	public double convert(double value) {
-		return compound.convert(value);
-	}
-
-	public BigDecimal convert(BigDecimal value, MathContext ctx)
-			throws ArithmeticException {
-		return compound.convert(value, ctx);
-	}
-
-	public List<UnitConverter> getCompoundConverters() {
-		final List<UnitConverter> compound = new ArrayList<UnitConverter>();
-		compound.add(this);
-		return compound;
-	}
-
-	public UnitConverter inverse() {
-		return compound.inverse();
-	}
-
-	public boolean isIdentity() {
-		return false;
-	}
-
-	public boolean isLinear() {
-		return false;
-	}
-
-	public Number convert(Number value) {
-		return compound.convert(value);
-	}
-}
+/*******************************************************************************

+ * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2017 Kestral Computing P/L and others.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Kestral Computing P/L - initial implementation

+ *    

+ *******************************************************************************/

+

+package org.eclipse.uomo.ucum.impl;

+

+import static org.eclipse.uomo.core.impl.OutputHelper.isConsoleOutput;

+import static org.eclipse.uomo.core.impl.OutputHelper.println;

+import static org.eclipse.uomo.ucum.model.ConceptKind.*;

+import static org.eclipse.uomo.ucum.expression.Operator.*;

+

+import java.math.BigDecimal;

+import java.math.MathContext;

+import java.util.ArrayList;

+import java.util.List;

+

+import org.eclipse.uomo.core.UOMoRuntimeException;

+import org.eclipse.uomo.ucum.expression.Component;

+import org.eclipse.uomo.ucum.expression.Factor;

+import org.eclipse.uomo.ucum.expression.Symbol;

+import org.eclipse.uomo.ucum.expression.Term;

+import org.eclipse.uomo.ucum.model.DefinedUnit;

+import org.eclipse.uomo.ucum.model.UcumModel;

+import org.eclipse.uomo.ucum.parsers.ExpressionComposer;

+import org.eclipse.uomo.ucum.parsers.ExpressionParser;

+import org.eclipse.uomo.ucum.special.SpecialUnitHandler;

+import org.eclipse.uomo.units.AbstractConverter;

+import org.eclipse.uomo.util.Registry;

+import org.unitsofmeasurement.unit.UnitConverter;

+

+/**

+ * = [mu_0] = 4.[pi].10*-7.N/A2 = (g.m/s2)/(C/s)2? = g.m/s2/(C2/s2) =

+ * g.m/s2/C2.s2 = g.m/C2.s2/s2 = g.m/C2 = m.g.C-2

+ * 

+ * @author Grahame Grieve

+ * @author Werner Keil

+ */

+class UcumConverter extends AbstractConverter {

+

+	/**

+	 * 

+	 */

+	private static final long serialVersionUID = -895607408258138526L;

+	private final UcumModel model;

+	@SuppressWarnings("rawtypes")

+	private final Registry<SpecialUnitHandler> handlers;

+	private final UnitConverter compound;

+	

+	private Factor one = new Factor(1);

+

+	/**

+	 * @param model

+	 */

+	public UcumConverter(UcumModel model, Registry handlers) {

+		super();

+		this.model = model;

+		this.handlers = handlers;

+		List<UnitConverter> compounds = getCompoundConverters();

+		compound = compounds.get(0);

+	}

+

+	public Canonical convert(Term term) throws UOMoRuntimeException {

+		return convertTerm(term);

+	}

+

+	private Canonical convertTerm(Term term) throws UOMoRuntimeException {

+		Canonical res = new Canonical(BigDecimal.ONE, new Term());

+		if (term.hasComp())

+			res.getUnit().setComp(convertComp(res, term.getComp()));

+		if (term.hasOp())

+			res.getUnit().setOp(term.getOp());

+		if (term.hasTerm()) {

+			Canonical t = convertTerm(term.getTerm());

+			res.setValue(res.getValue().multiply(t.getValue()));

+			if (t.hasUnit())

+				res.getUnit().setTermCheckOp(t.getUnit());

+			else

+				res.getUnit().setOp(null);

+		}

+

+		// normalise

+		debug("normalise", res.getUnit()); //$NON-NLS-1$

+		if (res.getUnit().hasOp() && res.getUnit().getOp() == DIVISION) {

+			res.getUnit().setOp(MULTIPLICATION);

+			flipExponents(res.getUnit().getTerm());

+			debug("flipped", res.getUnit()); //$NON-NLS-1$

+		}

+

+		if (!res.getUnit().hasComp() || res.getUnit().getComp() == one) {

+			res.setUnit(res.getUnit().getTerm());

+			debug("trimmed", res.getUnit()); //$NON-NLS-1$

+		}

+

+		// everything in scope is a multiplication operation. If comp is a term,

+		// then

+		// we are going to tack our term on the end of that term as a

+		// multiplication, and

+		// make comp our term

+

+		if (res.hasUnit() && res.getUnit().hasComp()

+				&& res.getUnit().getComp() instanceof Term) {

+			Term end = getEndTerm((Term) res.getUnit().getComp());

+			assert end.getOp() == null;

+			end.setOp(MULTIPLICATION);

+			end.setTermCheckOp(res.getUnit().getTerm());

+			res.setUnit((Term) res.getUnit().getComp());

+			debug("reorged", res.getUnit()); //$NON-NLS-1$

+		}

+

+		if (res.hasUnit()

+				&& (!res.getUnit().hasComp() || res.getUnit().getComp() == one)) {

+			res.setUnit(res.getUnit().getTerm());

+			debug("trimmed", res.getUnit()); //$NON-NLS-1$

+		}

+		// now we have a linear list of terms, each with one component.

+		// we scan through the list looking for common components to factor out

+		// we have to scan into the list because we may have deep duplicates

+		// from the previous flattening operation. we also remove anything

+		// that's

+		// ended up with an exponent of 0 during this operation

+		if (res.hasUnit())

+			res.setUnit(removeDuplicateComponents(res.getUnit()));

+

+		if (res.hasUnit() && !res.getUnit().hasTerm())

+			res.getUnit().setOp(null);

+		debug("norm finished", res.getUnit()); //$NON-NLS-1$

+		// System.out.println("value: "+res.getValue().toPlainString()+"; units: "+new

+		// ExpressionComposer().compose(res.getUnit()));

+		return res;

+	}

+

+	private void debug(String state, Term unit) {

+		if (isConsoleOutput()) { // avoiding any call if no debug output set

+			println(state + ": " + new ExpressionComposer().compose(unit)); //$NON-NLS-1$

+		}

+	}

+

+	private Term getEndTerm(Term term) {

+		if (term.hasTerm())

+			return getEndTerm(term.getTerm());

+		else

+			return term;

+	}

+

+	private Term removeDuplicateComponents(Term unit) {

+		if (unit == null)

+			return null;

+		assert unit.getComp() instanceof Symbol; // because that should be all

+													// that's left

+		Symbol symO = (Symbol) unit.getComp();

+		Term inner = findDuplicateCompOwner(unit.getTerm(), symO);

+		if (inner != null) {

+			Symbol symI = (Symbol) inner.getComp();

+			symI.setExponent(symI.getExponent() + symO.getExponent());

+			return removeDuplicateComponents(unit.getTerm());

+		}

+		if (symO.getExponent() == 0)

+			return removeDuplicateComponents(unit.getTerm());

+		unit.setTermCheckOp(removeDuplicateComponents(unit.getTerm()));

+		return unit;

+	}

+

+	private Term findDuplicateCompOwner(Term term, Symbol comp) {

+		if (term == null)

+			return null;

+		if (term.getComp() instanceof Symbol) {

+			Symbol sym = (Symbol) term.getComp();

+			if (sym.getPrefix() == comp.getPrefix() && // i.e. null

+					sym.getUnit() == comp.getUnit())

+				return term;

+		}

+		return findDuplicateCompOwner(term.getTerm(), comp);

+	}

+

+	private void flipExponents(Term term) {

+		if (term.getComp() instanceof Symbol) {

+			((Symbol) term.getComp()).invertExponent();

+		}

+		if (term.hasTerm()) {

+			flipExponents(term.getTerm());

+		}

+	}

+

+	private Component convertComp(Canonical ctxt, Component comp)

+			throws UOMoRuntimeException {

+		if (comp instanceof Term) {

+			Canonical t = convertTerm((Term) comp);

+			ctxt.multiplyValue(t.getValue());

+			return t.getUnit();

+		} else if (comp instanceof Factor) {

+			ctxt.multiplyValue(((Factor) comp).getValue());

+			return one; // nothing to convert

+		} else if (comp instanceof Symbol)

+			return convertSymbol(ctxt, (Symbol) comp);

+		else

+			throw new UOMoRuntimeException("unknown component type " //$NON-NLS-1$

+					+ comp.getClass().toString());

+	}

+

+	private Component convertSymbol(Canonical ctxt, Symbol comp)

+			throws UOMoRuntimeException {

+		if (comp.hasPrefix()) {

+//			ctxt.multiplyValue(comp.getPrefix().getValue());

+			ctxt.multiplyValue(((BigDecimal)comp.getPrefix().getValue()).pow(

+					comp.getExponent(),	MathContext.DECIMAL128));

+		}

+

+		if (comp.getUnit().getKind() == BASEUNIT) {

+			Symbol res = new Symbol();

+			res.setUnit(comp.getUnit());

+			res.setExponent(comp.getExponent());

+			return res;

+		} else {

+			DefinedUnit unit = (DefinedUnit) comp.getUnit();

+			String u = unit.getValue().getCode();

+			if (unit.isSpecial()) {

+				if (!handlers.exists(unit.getCode()))

+					throw new UOMoRuntimeException("Not handled yet (special unit)"); //$NON-NLS-1$

+				else {

+					u = handlers.get(unit.getCode()).getUnits();

+					ctxt.multiplyValue(handlers.get(unit.getCode()).value());

+				}

+			} else

+				ctxt.multiplyValue(unit.getValue().value());

+			Term canonical = new ExpressionParser(model).parse(u);

+			if (canonical.hasComp() && !canonical.hasOp()

+					&& !canonical.hasTerm()) {

+				Component ret = convertComp(ctxt, canonical.getComp());

+				if (comp.getExponent() == 1)

+					return ret;

+				else if (ret instanceof Factor) {

+					((Factor) ret).setValue(comp.getExponent()

+							+ ((Factor) ret).getValue());

+					return ret;

+				} else if (ret instanceof Symbol) {

+					((Symbol) ret).setExponent(comp.getExponent()

+							* ((Symbol) ret).getExponent());

+					return ret;

+				} else if (ret instanceof Term) {

+					applyExponent((Term) ret, comp.getExponent());

+					return ret;

+				} else

+					throw new UOMoRuntimeException("unknown component type " //$NON-NLS-1$

+							+ comp.getClass().toString());

+			} else {

+				Canonical t1 = convertTerm(canonical);

+				Term ret = t1.getUnit();

+				if (comp.getExponent() == -1 && ret.hasComp() && ret.hasOp()

+						&& ret.hasTerm() && ret.getTerm().hasComp()

+						&& !ret.getTerm().hasOp() && !ret.getTerm().hasTerm()) {

+					Component t = ret.getTerm().getComp();

+					ret.getTerm().setComp(ret.getComp());

+					ret.setComp(t);

+					ctxt.divideValue(t1.getValue());

+					return ret;

+				} else if (comp.getExponent() != 1) {

+					ctxt.multiplyValue(t1.getValue());

+					// what we have to do is push the exponent into the all the

+					// symbols contained herein

+					applyExponent(ret, comp.getExponent());

+					return ret;

+				} else {

+					ctxt.multiplyValue(t1.getValue());

+					return ret;

+				}

+			}

+		}

+	}

+

+	private void applyExponent(Term term, int exponent) {

+		if (term == null)

+			return;

+		if (term.hasComp()) {

+			if (term.getComp() instanceof Term) {

+				applyExponent((Term) term.getComp(), exponent);

+			} else if (term.getComp() instanceof Symbol) {

+				Symbol sym = (Symbol) term.getComp();

+				sym.setExponent(sym.getExponent() * exponent);

+			}

+

+		}

+		applyExponent(term.getTerm(), exponent);

+	}

+

+	public UnitConverter concatenate(UnitConverter converter) {

+		return compound.concatenate(converter);

+	}

+

+	public double convert(double value) {

+		return compound.convert(value);

+	}

+

+	public BigDecimal convert(BigDecimal value, MathContext ctx)

+			throws ArithmeticException {

+		return compound.convert(value, ctx);

+	}

+

+	public List<UnitConverter> getCompoundConverters() {

+		final List<UnitConverter> compound = new ArrayList<UnitConverter>();

+		compound.add(this);

+		return compound;

+	}

+

+	public UnitConverter inverse() {

+		return compound.inverse();

+	}

+

+	public boolean isIdentity() {

+		return false;

+	}

+

+	public boolean isLinear() {

+		return false;

+	}

+

+	public Number convert(Number value) {

+		return compound.convert(value);

+	}

+}

diff --git a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumValidator.java b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumValidator.java
index 96b3bab..3f22036 100644
--- a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumValidator.java
+++ b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/impl/UcumValidator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2008 Kestral Computing P/L.

+ * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2017 Kestral Computing P/L and others.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -29,7 +29,7 @@
 /**

  * @author Grahame Grieve

  * @author Werner Keil

- * @version 1.1 ($Revision: 306 $), $Date: 2013-03-08 $

+ * @version 1.2, $Date: 2017-04-22 $

  */

 public class UcumValidator implements IListValidator<String> {

 

@@ -62,7 +62,7 @@
 	private void checkUnits() {

 		for (DefinedUnit unit : model.getDefinedUnits()) {

 			if (!unit.isSpecial())

-				checkUnitCode(unit.getValue().getUnit(), false);

+				checkUnitCode(unit.getValue().getCode(), false);

 			else if (!handlers.exists(unit.getCode()))

 				result.add("No Handler for " + unit.getCode().toString());

 		}

diff --git a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Concept.java b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Concept.java
index d41a9ed..28e0802 100644
--- a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Concept.java
+++ b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Concept.java
@@ -1,127 +1,127 @@
-/*******************************************************************************
- * Crown Copyright (c) 2006, 2012, Copyright (c) 2006, 2008 Kestral Computing P/L.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    Kestral Computing P/L - initial implementation
- *    Werner Keil - updates and consolidation with core
- *******************************************************************************/
-
-package org.eclipse.uomo.ucum.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.uomo.core.ICode;
-import org.eclipse.uomo.core.IDescription;
-import org.eclipse.uomo.core.INames;
-import org.eclipse.uomo.core.ISymbol;
-
-public class Concept implements ICode<String>, IDescription, ISymbol, INames {
-
-	private final ConceptKind kind;
-	/**
-	 * case sensitive code for this concept
-	 */
-	private String code;
-	
-	/**
-	 * case insensitive (UPPERCASE) code for this concept
-	 */
-	private String codeUC;
-	
-	/**
-	 * print symbol for this code 
-	 */
-	private String printSymbol;
-	
-	/**
-	 * names for the concept
-	 */
-	private List<String> names = new ArrayList<String>();
-	
-	
-	/**
-	 * @param code
-	 * @param codeUC
-	 */
-	public Concept(ConceptKind kind, String code, String codeUC) {
-		super();
-		this.kind = kind;
-		this.code = code;
-		this.codeUC = codeUC;
-	}
-
-	/**
-	 * @return the code
-	 */
-	public String getCode() {
-		return code;
-	}
-
-	/**
-	 * @param code the code to set
-	 */
-	public void setCode(String code) {
-		this.code = code;
-	}
-
-	/**
-	 * @return the codeUC
-	 */
-	public String getCodeUC() {
-		return codeUC;
-	}
-
-	/**
-	 * @param codeUC the codeUC to set
-	 */
-	public void setCodeUC(String codeUC) {
-		this.codeUC = codeUC;
-	}
-
-	/**
-	 * @return the printSymbol
-	 */
-	public String getPrintSymbol() {
-		return printSymbol;
-	}
-
-	/**
-	 * @param printSymbol the printSymbol to set
-	 */
-	public void setPrintSymbol(String printSymbol) {
-		this.printSymbol = printSymbol;
-	}
-	
-	@Override
-	public String getSymbol() {
-		return getPrintSymbol();
-	}
-
-	/**
-	 * @return the names
-	 */
-	public List<String> getNames() {
-		return names;
-	}
-
-	/**
-	 * @return the kind
-	 */
-	public ConceptKind getKind() {
-		return kind;
-	}
-
-	public String getDescription() {
-		return  kind.toString().toLowerCase()+" "+code+" ('"+names.get(0)+"')"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-	
-	@Override
-	public String toString() {
-		return this.getCode() + " = " + getDescription(); //$NON-NLS-1$
-	}
-}
+/*******************************************************************************

+ * Crown Copyright (c) 2006, 2012, Copyright (c) 2006, 2017 Kestral Computing P/L and others.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Kestral Computing P/L - initial implementation

+ *    Werner Keil - updates and consolidation with core

+ *******************************************************************************/

+

+package org.eclipse.uomo.ucum.model;

+

+import java.util.ArrayList;

+import java.util.List;

+

+import org.eclipse.uomo.core.ICode;

+import org.eclipse.uomo.core.IDescription;

+import org.eclipse.uomo.core.INames;

+import org.eclipse.uomo.core.ISymbol;

+

+public class Concept implements ICode<String>, IDescription, ISymbol, INames {

+

+	private final ConceptKind kind;

+	/**

+	 * case sensitive code for this concept

+	 */

+	private String code;

+	

+	/**

+	 * case insensitive (UPPERCASE) code for this concept

+	 */

+	private String codeUC;

+	

+	/**

+	 * print symbol for this concept 

+	 */

+	private String printSymbol;

+	

+	/**

+	 * names for the concept

+	 */

+	private List<String> names = new ArrayList<String>();

+	

+	

+	/**

+	 * @param code

+	 * @param codeUC

+	 */

+	public Concept(ConceptKind kind, String code, String codeUC) {

+		super();

+		this.kind = kind;

+		this.code = code;

+		this.codeUC = codeUC;

+	}

+

+	/**

+	 * @return the code

+	 */

+	public String getCode() {

+		return code;

+	}

+

+	/**

+	 * @param code the code to set

+	 */

+	public void setCode(String code) {

+		this.code = code;

+	}

+

+	/**

+	 * @return the codeUC

+	 */

+	public String getCodeUC() {

+		return codeUC;

+	}

+

+	/**

+	 * @param codeUC the codeUC to set

+	 */

+	public void setCodeUC(String codeUC) {

+		this.codeUC = codeUC;

+	}

+

+	/**

+	 * @return the printSymbol

+	 */

+	public String getPrintSymbol() {

+		return printSymbol;

+	}

+

+	/**

+	 * @param printSymbol the printSymbol to set

+	 */

+	public void setPrintSymbol(String printSymbol) {

+		this.printSymbol = printSymbol;

+	}

+	

+	@Override

+	public String getSymbol() {

+		return getPrintSymbol();

+	}

+

+	/**

+	 * @return the names

+	 */

+	public List<String> getNames() {

+		return names;

+	}

+

+	/**

+	 * @return the kind

+	 */

+	public ConceptKind getKind() {

+		return kind;

+	}

+

+	public String getDescription() {

+		return  kind.toString().toLowerCase()+" "+code+" ('"+names.get(0)+"')"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

+	}

+	

+	@Override

+	public String toString() {

+		return this.getCode() + " = " + getDescription(); //$NON-NLS-1$

+	}

+}

diff --git a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/UcumModel.java b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/UcumModel.java
index fb0222a..1cd26f1 100644
--- a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/UcumModel.java
+++ b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/UcumModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Crown Copyright (c) 2006, 2013, Copyright (c) 2006, 2008 Kestral Computing P/L.

+ * Crown Copyright (c) 2006, 2013, Copyright (c) 2006, 2017 Kestral Computing P/L and others.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -22,25 +22,24 @@
 public class UcumModel implements IName, IVersion {

 

 	/**

-	 * version="1.8" 

+	 * UCUM version

 	 */

 	private final String version;

-	

+

 	/**

 	 * revision="$Revision: 1.1 $"

 	 */

-//	private final String revision;

-	

+	// private final String revision;

+

 	/**

 	 * date this revision was made public

 	 */

 	private final Date revisionDate;

-	

+

 	private final List<Prefix> prefixes = new ArrayList<Prefix>();

 	private final List<BaseUnit> baseUnits = new ArrayList<BaseUnit>();

 	private final List<DefinedUnit> definedUnits = new ArrayList<DefinedUnit>();

 

-	

 	/**

 	 * @param revision

 	 * @param revisionDate

@@ -48,68 +47,73 @@
 	public UcumModel(String version, String revision, Date revisionDate) {

 		super();

 		this.version = version;

-//		this.revision = revision;

+		// this.revision = revision;

 		this.revisionDate = revisionDate;

 	}

-	

+

 	public String getName() {

 		return "UCUM";

 	}

+

 	/**

 	 * @return the prefixes

 	 */

 	public List<Prefix> getPrefixes() {

 		return prefixes;

 	}

+

 	/**

 	 * @return the baseUnits

 	 */

 	public List<BaseUnit> getBaseUnits() {

 		return baseUnits;

 	}

+

 	/**

 	 * @return the units

 	 */

 	public List<DefinedUnit> getDefinedUnits() {

 		return definedUnits;

 	}

+

 	/**

 	 * @return the revision

 	 */

-//	public String getRevision() {

-//		return revision;

-//	}

-//	/**

-//	 * @param revision the revision to set

-//	 */

-//	public void setRevision(String revision) {

-//		this.revision = revision;

-//	}

+	// public String getRevision() {

+	// return revision;

+	// }

+	// /**

+	// * @param revision the revision to set

+	// */

+	// public void setRevision(String revision) {

+	// this.revision = revision;

+	// }

 	/**

 	 * @return the revisionDate

 	 */

 	public Date getRevisionDate() {

 		return revisionDate;

 	}

-//	/**

-//	 * @param revisionDate the revisionDate to set

-//	 */

-//	public void setRevisionDate(Date revisionDate) {

-//		this.revisionDate = revisionDate;

-//	}

+

+	// /**

+	// * @param revisionDate the revisionDate to set

+	// */

+	// public void setRevisionDate(Date revisionDate) {

+	// this.revisionDate = revisionDate;

+	// }

 	/**

 	 * @return the version

 	 */

 	public String getVersion() {

 		return version;

 	}

-//	/**

-//	 * @param version the version to set

-//	 */

-//	public void setVersion(String version) {

-//		this.version = version;

-//	}

-	

+	// /**

+	// * @param version the version to set

+	// */

+	// public void setVersion(String version) {

+	// this.version = version;

+	// }

+

 	public UcumUnit getUnit(String code) {

 		for (UcumUnit unit : getBaseUnits()) {

 			if (unit.getCode().equals(code))

@@ -121,7 +125,7 @@
 		}

 		return null;

 	}

-	

+

 	public BaseUnit getBaseUnit(String code) {

 		for (BaseUnit unit : getBaseUnits()) {

 			if (unit.getCode().equals(code))

diff --git a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Value.java b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Value.java
index c7f492d..328dd1d 100644
--- a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Value.java
+++ b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/model/Value.java
@@ -1,110 +1,93 @@
-/*******************************************************************************
- * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2008 Kestral Computing P/L.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *    Kestral Computing P/L - initial implementation
- *    Werner Keil - Cleaning, unification with other UOMo parts and Unit-API
- *******************************************************************************/
-
-package org.eclipse.uomo.ucum.model;
-
-import java.math.BigDecimal;
-
-import org.eclipse.uomo.core.IDescription;
-import org.eclipse.uomo.core.IText;
-import org.unitsofmeasurement.quantity.Quantity;
-import org.unitsofmeasurement.unit.Unit;
-
-public class Value<Q extends Quantity<Q>> implements Quantity<Q>, IDescription, IText {
-	// TODO should use Quantity
-	// TODO make this a "real" unit, should be at least UcumUnit
-	private String unit;
-	private Unit<Q> realUnit;
-	private String unitUC;
-	
-	private BigDecimal value;
-	
-	private String text;
-
-	/**
-	 * @param unit
-	 * @param unitUC
-	 * @param value
-	 */
-	public Value(String unit, String unitUC, BigDecimal value) {
-		super();
-		this.unit = unit;
-		this.unitUC = unitUC;
-		this.value = value;
-	}
-
-	/**
-	 * @return the unit
-	 */
-	public String getUnit() {
-		return unit;
-	}
-
-	/**
-	 * @param unit the unit to set
-	 */
-	public void setUnit(String unit) {
-		this.unit = unit;
-	}
-
-	/**
-	 * @return the unitUC
-	 * @deprecated currently not used
-	 */
-	public String getUnitUC() {
-		return unitUC;
-	}
-
-	/**
-	 * @param unitUC the unitUC to set
-	 * @deprecated currently not used
-	 */
-	public void setUnitUC(String unitUC) {
-		this.unitUC = unitUC;
-	}
-
-	/**
-	 * @param value the value to set
-	 * @deprecated
-	 */
-	void setValue(BigDecimal value) {
-		this.value = value;
-	}
-
-	/**
-	 * @return the text
-	 */
-	public String getText() {
-		return text;
-	}
-
-	/**
-	 * @param text the text to set
-	 */
-	public void setText(String text) {
-		this.text = text;
-	}
-
-	public String getDescription() {
-		if (value == null)
-			return unit;
-		return value.toEngineeringString()+unit;
-	}
-
-	public Number value() {
-		return value;
-	}
-
-	public Unit<Q> unit() {
-		return realUnit;
-	}		
-}
+/*******************************************************************************

+ * Crown Copyright (c) 2006, 2011, Copyright (c) 2006, 2017 Kestral Computing P/L and others.

+ * All rights reserved. This program and the accompanying materials

+ * are made available under the terms of the Eclipse Public License v1.0

+ * which accompanies this distribution, and is available at

+ * http://www.eclipse.org/legal/epl-v10.html

+ * 

+ * Contributors:

+ *    Kestral Computing P/L - initial implementation

+ *    Werner Keil - Cleaning, unification with other UOMo parts and Unit-API

+ *******************************************************************************/

+

+package org.eclipse.uomo.ucum.model;

+

+import java.math.BigDecimal;

+

+import org.eclipse.uomo.core.ICode;

+import org.eclipse.uomo.core.IDescription;

+import org.unitsofmeasurement.quantity.Quantity;

+import org.unitsofmeasurement.unit.Unit;

+

+public class Value<Q extends Quantity<Q>> implements Quantity<Q>, IDescription, ICode<String> {

+	// TODO should use Quantity

+	// TODO make this a "real" unit, should be at least UcumUnit

+	private final String unit;

+	private final String unitUC;

+	private final BigDecimal value;

+	private Unit<Q> realUnit;

+	@SuppressWarnings("unused")

+	private String text;

+

+	/**

+	 * @param unit

+	 * @param unitUC

+	 * @param value

+	 */

+	public Value(String unit, String unitUC, BigDecimal value) {

+		super();

+		this.unit = unit;

+		this.unitUC = unitUC;

+		this.value = value;

+	}

+

+	/**

+	 * @return the unit code

+	 */

+	public String getCode() {

+		return unit;

+	}

+

+	/**

+	 * @return the Uppercase variant of the label

+	 * @deprecated currently not used

+	 */

+	public String getCodeUC() {

+		return unitUC;

+	}

+

+	/**

+	 * @param string the string value to set

+	 */

+	public void setString(String text) {

+		this.text = text;

+	}

+

+	public String getDescription() {

+		if (value == null)

+			return unit;

+		return value.toEngineeringString()+unit;

+	}

+

+	public Number getValue() {

+		return value;

+	}

+

+	public Unit<Q> getUnit() {

+		return realUnit;

+	}	

+	

+	/**

+	 * @deprecated use {@link #getValue()}

+	 */

+	public Number value() {

+		return value;

+	}

+

+	/**

+	 * @deprecated use {@link #getUnit()}

+	 */

+	public Unit<Q> unit() {

+		return realUnit;

+	}		

+}

diff --git a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/parsers/DefinitionParser.java b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/parsers/DefinitionParser.java
index 6dd0d7a..ce52bc6 100644
--- a/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/parsers/DefinitionParser.java
+++ b/bundles/org.eclipse.uomo.ucum/src/main/java/org/eclipse/uomo/ucum/parsers/DefinitionParser.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Crown Copyright (c) 2006, 2012, Copyright (c) 2006, 2008 Kestral Computing P/L.

+ * Crown Copyright (c) 2006, 2012, Copyright (c) 2006, 2017 Kestral Computing P/L and others.

  * All rights reserved. This program and the accompanying materials

  * are made available under the terms of the Eclipse Public License v1.0

  * which accompanies this distribution, and is available at

@@ -125,7 +125,7 @@
 		}

 		@SuppressWarnings("rawtypes")

 		Value<?> value = new Value(xpp.getAttributeValue(null, "Unit"), xpp.getAttributeValue(null, "UNIT"), val); //$NON-NLS-1$ //$NON-NLS-2$

-		value.setText(readElement(xpp, "value", context, true)); //$NON-NLS-1$

+		value.setString(readElement(xpp, "value", context, true)); //$NON-NLS-1$

 		return value;

 	}

 

diff --git a/bundles/org.eclipse.uomo.ui/.classpath b/bundles/org.eclipse.uomo.ui/.classpath
index 5925878..d6505b8 100644
--- a/bundles/org.eclipse.uomo.ui/.classpath
+++ b/bundles/org.eclipse.uomo.ui/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/main/resources/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.ui/META-INF/MANIFEST.MF
index 155187f..6e9b54a 100644
--- a/bundles/org.eclipse.uomo.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.ui/META-INF/MANIFEST.MF
@@ -4,5 +4,5 @@
 Bundle-SymbolicName: org.eclipse.uomo.ui
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse UOMo
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6,
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8,
  JavaSE-1.7
diff --git a/bundles/org.eclipse.uomo.units.tests/.classpath b/bundles/org.eclipse.uomo.units.tests/.classpath
index 0b1bcf9..cf36b56 100644
--- a/bundles/org.eclipse.uomo.units.tests/.classpath
+++ b/bundles/org.eclipse.uomo.units.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.units.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.uomo.units.tests/.settings/org.eclipse.jdt.core.prefs
index c537b63..0c68a61 100644
--- a/bundles/org.eclipse.uomo.units.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.uomo.units.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/bundles/org.eclipse.uomo.units.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.units.tests/META-INF/MANIFEST.MF
index 69ef3e3..ad65c56 100644
--- a/bundles/org.eclipse.uomo.units.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.units.tests/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse org
 Fragment-Host: org.eclipse.uomo.units;bundle-version="0.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.uomo.units,
  org.eclipse.uomo.units.impl,
  org.eclipse.uomo.units.impl.format,
diff --git a/bundles/org.eclipse.uomo.units/.classpath b/bundles/org.eclipse.uomo.units/.classpath
index 710ceaa..d97fffd 100644
--- a/bundles/org.eclipse.uomo.units/.classpath
+++ b/bundles/org.eclipse.uomo.units/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry exported="true" kind="lib" path="libs/unit-api-0.6.1.jar"/>
 	<classpathentry kind="src" path="src/main/java/"/>
diff --git a/bundles/org.eclipse.uomo.units/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.uomo.units/.settings/org.eclipse.jdt.core.prefs
index f287d53..295926d 100644
--- a/bundles/org.eclipse.uomo.units/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.uomo.units/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1

 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

-org.eclipse.jdt.core.compiler.compliance=1.6

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8

+org.eclipse.jdt.core.compiler.compliance=1.8

 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

-org.eclipse.jdt.core.compiler.source=1.6

+org.eclipse.jdt.core.compiler.source=1.8

diff --git a/bundles/org.eclipse.uomo.units/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.units/META-INF/MANIFEST.MF
index ab0dacc..92e01dc 100644
--- a/bundles/org.eclipse.uomo.units/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.units/META-INF/MANIFEST.MF
@@ -21,6 +21,6 @@
    org.unitsofmeasurement.unit,
    org.eclipse.uomo.units",
  org.eclipse.uomo.units.impl.system;uses:="org.unitsofmeasurement.unit,org.eclipse.uomo.units,org.unitsofmeasurement.service"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ClassPath: libs/unit-api-0.6.1.jar,
  .
diff --git a/bundles/org.eclipse.uomo.util.tests/.classpath b/bundles/org.eclipse.uomo.util.tests/.classpath
index 0b1bcf9..cf36b56 100644
--- a/bundles/org.eclipse.uomo.util.tests/.classpath
+++ b/bundles/org.eclipse.uomo.util.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.util.tests/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.uomo.util.tests/.settings/org.eclipse.jdt.core.prefs
index f287d53..295926d 100644
--- a/bundles/org.eclipse.uomo.util.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.uomo.util.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1

 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

-org.eclipse.jdt.core.compiler.compliance=1.6

+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8

+org.eclipse.jdt.core.compiler.compliance=1.8

 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error

 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error

-org.eclipse.jdt.core.compiler.source=1.6

+org.eclipse.jdt.core.compiler.source=1.8

diff --git a/bundles/org.eclipse.uomo.util.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.util.tests/META-INF/MANIFEST.MF
index 70c0e5f..008e7cb 100644
--- a/bundles/org.eclipse.uomo.util.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.util.tests/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse org
 Fragment-Host: org.eclipse.uomo.util;bundle-version="0.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.uomo.util.test,
  org.eclipse.uomo.util.test.numbers
 Require-Bundle: org.junit;bundle-version="4.8.2"
diff --git a/bundles/org.eclipse.uomo.util/.classpath b/bundles/org.eclipse.uomo.util/.classpath
index 70ee3e9..47ca448 100644
--- a/bundles/org.eclipse.uomo.util/.classpath
+++ b/bundles/org.eclipse.uomo.util/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/main/java/"/>
 	<classpathentry kind="src" path="src/main/resources/"/>
diff --git a/bundles/org.eclipse.uomo.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.util/META-INF/MANIFEST.MF
index 8908578..b97cf0e 100644
--- a/bundles/org.eclipse.uomo.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.util/META-INF/MANIFEST.MF
@@ -14,4 +14,4 @@
  org.junit;bundle-version="4.8.2"
 Import-Package: org.eclipse.uomo.util
 Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.uomo.xml.tests/.classpath b/bundles/org.eclipse.uomo.xml.tests/.classpath
index 0b1bcf9..cf36b56 100644
--- a/bundles/org.eclipse.uomo.xml.tests/.classpath
+++ b/bundles/org.eclipse.uomo.xml.tests/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src/"/>
 	<classpathentry kind="output" path="target/classes"/>
diff --git a/bundles/org.eclipse.uomo.xml.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.xml.tests/META-INF/MANIFEST.MF
index 1379bf1..845bbba 100644
--- a/bundles/org.eclipse.uomo.xml.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.xml.tests/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Version: 0.8.0.qualifier
 Bundle-Vendor: Eclipse.org
 Fragment-Host: org.eclipse.uomo.util;bundle-version="0.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.uomo.xml.test
 Require-Bundle: org.junit;bundle-version="4.8.2",
  org.eclipse.uomo.xml;bundle-version="0.8.0"
diff --git a/bundles/org.eclipse.uomo.xml/.classpath b/bundles/org.eclipse.uomo.xml/.classpath
index 5aff1fe..87466f7 100644
--- a/bundles/org.eclipse.uomo.xml/.classpath
+++ b/bundles/org.eclipse.uomo.xml/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry exported="true" kind="lib" path="libs/xmlpull_1_1_3_4b.jar"/>
 	<classpathentry exported="true" kind="lib" path="libs/xpp3_min-1.1.3.4.O.jar"/>
diff --git a/bundles/org.eclipse.uomo.xml/META-INF/MANIFEST.MF b/bundles/org.eclipse.uomo.xml/META-INF/MANIFEST.MF
index 4965de0..ff70d70 100644
--- a/bundles/org.eclipse.uomo.xml/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.uomo.xml/META-INF/MANIFEST.MF
@@ -8,7 +8,7 @@
  org.apache.xerces,
  org.junit;bundle-version="4.8.2"
 Bundle-Vendor: Eclipse.org
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ClassPath: libs/xmlpull_1_1_3_4b.jar, libs/xpp3_min-1.1.3.4.O.jar,
  .
 Export-Package: org.eclipse.uomo.xml,
diff --git a/examples/business/org.eclipse.uomo.examples.business.console/.classpath b/examples/business/org.eclipse.uomo.examples.business.console/.classpath
index 6a6c8e3..8019572 100644
--- a/examples/business/org.eclipse.uomo.examples.business.console/.classpath
+++ b/examples/business/org.eclipse.uomo.examples.business.console/.classpath
@@ -22,7 +22,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/examples/units/org.eclipse.uomo.examples.units.android/web/.classpath b/examples/units/org.eclipse.uomo.examples.units.android/web/.classpath
index 5e745f7..1b51d55 100644
--- a/examples/units/org.eclipse.uomo.examples.units.android/web/.classpath
+++ b/examples/units/org.eclipse.uomo.examples.units.android/web/.classpath
@@ -19,7 +19,7 @@
 			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/examples/units/org.eclipse.uomo.examples.units.console/.classpath b/examples/units/org.eclipse.uomo.examples.units.console/.classpath
index ea2b731..866495e 100644
--- a/examples/units/org.eclipse.uomo.examples.units.console/.classpath
+++ b/examples/units/org.eclipse.uomo.examples.units.console/.classpath
@@ -28,7 +28,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/maven/Maven Clean Install.launch b/maven/Maven Clean Install.launch
index af66048..34b7e13 100644
--- a/maven/Maven Clean Install.launch
+++ b/maven/Maven Clean Install.launch
@@ -16,7 +16,7 @@
 <listAttribute key="org.eclipse.debug.ui.favoriteGroups">

 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>

 </listAttribute>

-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>

+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>

 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dmaven.test.skip=true"/>

 <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.uomo}"/>

 </launchConfiguration>

diff --git a/maven/Maven Clean Package.launch b/maven/Maven Clean Package.launch
index 69a1f4e..edbde3b 100644
--- a/maven/Maven Clean Package.launch
+++ b/maven/Maven Clean Package.launch
@@ -1,21 +1,21 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
-<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
-<stringAttribute key="M2_GOALS" value="clean package"/>
-<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
-<booleanAttribute key="M2_OFFLINE" value="false"/>
-<stringAttribute key="M2_PROFILES" value=""/>
-<listAttribute key="M2_PROPERTIES"/>
-<stringAttribute key="M2_RUNTIME" value="apache-maven-3.0.4"/>
-<booleanAttribute key="M2_SKIP_TESTS" value="true"/>
-<intAttribute key="M2_THREADS" value="1"/>
-<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
-<stringAttribute key="M2_USER_SETTINGS" value=""/>
-<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dmaven.test.skip=true"/>
-<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.uomo}"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">

+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>

+<stringAttribute key="M2_GOALS" value="clean package"/>

+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>

+<booleanAttribute key="M2_OFFLINE" value="false"/>

+<stringAttribute key="M2_PROFILES" value=""/>

+<listAttribute key="M2_PROPERTIES"/>

+<stringAttribute key="M2_RUNTIME" value="apache-maven-3.0.4"/>

+<booleanAttribute key="M2_SKIP_TESTS" value="true"/>

+<intAttribute key="M2_THREADS" value="1"/>

+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>

+<stringAttribute key="M2_USER_SETTINGS" value=""/>

+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>

+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">

+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>

+</listAttribute>

+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>

+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dmaven.test.skip=true"/>

+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.uomo}"/>

+</launchConfiguration>

diff --git a/pom.xml b/pom.xml
index 08952ca..b5f2267 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
 	Maven Project Configuration File Eclipse UOMo http://www.eclipse.org/uomo/ 
 	======================================================================= -->
 
-<!-- $Id: pom.xml 306 2012-10-29 20:42:27Z werner.keil $ -->
+<!-- $Id: pom.xml 2017-04-22 werner.keil $ -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<parent>
@@ -24,10 +24,10 @@
 		<project.build.javaVersion>1.7</project.build.javaVersion>
 		<maven.compilerPlugin.version>2.3.2</maven.compilerPlugin.version>
 		<uomo-version>0.8.0-SNAPSHOT</uomo-version>
-		<tycho-version>0.16.0</tycho-version>
+		<tycho-version>1.0.0</tycho-version>
 		<icu4j-version>56.1</icu4j-version>
-		<maven.compiler.source>1.7</maven.compiler.source>
-		<maven.compiler.target>1.7</maven.compiler.target>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
 		<site.basedir>${project.basedir}</site.basedir>
 	</properties>
 
@@ -178,30 +178,36 @@
 		</plugins>
 	</build>
 
-
-	<!-- ==================================================== -->
-	<!-- Repositories. This is where Maven looks for dependencies. The Maven 
-		repository is implicit and doesn't need to be specified. -->
-	<!-- ==================================================== -->
-	<!--  repositories>
+	<!-- Additional repositories -->
+	<repositories>
 		<repository>
-			<id>eclipse-public</id>
-			<name>Public Eclipse.org Nexus</name>
-			<url>http://maven.eclipse.org/nexus/content/groups/public/</url>
+			<id>jcenter</id>
+			<name>JCenter</name>
+			<url>http://jcenter.bintray.com</url>
 		</repository>
-
 		<repository>
-			<id>eclipse-central</id>
-			<name>Central Eclipse.org Nexus</name>
-			<url>http://maven.eclipse.org/nexus/content/groups/central/</url>
-		</repository> -->
- 	<repositories>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+			<id>bintray-release</id>
+			<name>libs-release</name>
+			<url>http://oss.jfrog.org/artifactory/libs-release</url>
+		</repository>
 		<repository>
-			<id>maven-geotoolkit.org</id>
-			<name>GeoToolkit Repository for Maven</name>
-			<url>http://maven.geotoolkit.org/</url>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+			<id>bintray-snapshot</id>
+			<name>libs-snapshot</name>
+			<url>http://oss.jfrog.org/artifactory/libs-snapshot</url>
+		</repository>
+		<repository>
+			<id>bintray-uom</id>
+			<name>Bintray Units of Measurement</name>
+			<url>http://dl.bintray.com/unitsofmeasurement/maven</url>
 		</repository>
 	</repositories>
+
 	<ciManagement>
 		<system>Hudson</system>
 		<url>https://hudson.eclipse.org/hudson/job/uomo/</url>
diff --git a/releng/org.eclipse.uomo.target/oxygen.target b/releng/org.eclipse.uomo.target/oxygen.target
new file mode 100644
index 0000000..1663711
--- /dev/null
+++ b/releng/org.eclipse.uomo.target/oxygen.target
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>

+<?pde?>

+<target name="UOMo for Eclipse Oxygen" sequenceNumber="1492180496">

+  <locations>

+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

+      <unit id="org.eclipse.license.feature.group" version="1.0.1.v20140414-1359"/>

+      <repository location="http://download.eclipse.org/cbi/updates/license"/>

+    </location>

+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

+      <unit id="org.eclipse.sdk.feature.group" version="4.7.0.v20170126-1030"/>

+      <unit id="org.eclipse.jdt.feature.group" version="3.13.0.v20170126-1030"/>

+      <unit id="org.eclipse.m2e.feature.feature.group" version="1.8.0.20160921-2002"/>

+      <unit id="org.eclipse.m2e.sdk.feature.feature.group" version="1.8.0.20160921-2002"/>

+      <unit id="org.eclipse.m2e.wtp.feature.feature.group" version="1.3.1.20160831-1005"/>

+      <unit id="org.eclipse.m2e.wtp.sdk.feature.feature.group" version="1.3.1.20160831-1005"/>

+      <unit id="org.eclipse.mylyn.commons.feature.group" version="3.22.0.v20161206-0357"/>

+      <unit id="org.eclipse.jpt.jpa.feature.feature.group" version="3.5.0.v201610131832"/>

+      <unit id="org.eclipse.datatools.sdk.feature.feature.group" version="1.14.0.201701131441"/>

+      <unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.5.0.201609021837"/>

+      <unit id="org.eclipse.epp.logging.aeri.feature.feature.group" version="2.0.3.v20161205-0933"/>

+      <unit id="org.eclipse.epp.logging.aeri.feature.source.feature.group" version="2.0.3.v20161205-0933"/>

+      <unit id="org.eclipse.jetty.http" version="9.4.0.v20161208"/>

+      <unit id="org.eclipse.jetty.servlet" version="9.4.0.v20161208"/>

+      <unit id="org.eclipse.jetty.server" version="9.4.0.v20161208"/>

+      <unit id="org.eclipse.jetty.util" version="9.4.0.v20161208"/>

+      <repository location="http://download.eclipse.org/releases/oxygen/201702031000/"/>

+    </location>

+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

+      <unit id="org.eclipse.jst.web_sdk.feature.feature.group" version="3.8.0.v201701262152"/>

+      <unit id="org.eclipse.jst.server_sdk.feature.feature.group" version="3.4.300.v201606081655"/>

+      <unit id="org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature.group" version="3.8.0.v201603091933"/>

+      <unit id="org.eclipse.wst.common.fproj.sdk.feature.group" version="3.7.0.v201505072140"/>

+      <unit id="org.eclipse.wst.web_sdk.feature.feature.group" version="3.9.0.v201701262152"/>

+      <unit id="org.eclipse.jst.enterprise_sdk.feature.feature.group" version="3.8.0.v201701262152"/>

+      <unit id="org.eclipse.wst.server_adapters.sdk.feature.feature.group" version="3.2.600.v201606081655"/>

+      <repository location="http://download.eclipse.org/webtools/downloads/drops/R3.9.0/S-3.9.0M5-20170201000249/repository"/>

+    </location>

+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">

+      <unit id="org.hamcrest" version="1.1.0.v20090501071000"/>

+      <unit id="ch.qos.logback.slf4j" version="1.1.2.v20160301-0943"/>

+      <unit id="org.slf4j.log4j" version="1.7.2.v20130115-1340"/>

+      <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/S20170120205402/repository/"/>

+    </location>

+  </locations>

+</target>
\ No newline at end of file
diff --git a/releng/org.eclipse.uomo.target/oxygen.tpd b/releng/org.eclipse.uomo.target/oxygen.tpd
new file mode 100644
index 0000000..0f41852
--- /dev/null
+++ b/releng/org.eclipse.uomo.target/oxygen.tpd
@@ -0,0 +1,55 @@
+/* 

+ * Target Platform Definition created using Mikael Barbero's TPD editor 

+ * <https://github.com/mbarbero/fr.obeo.releng.targetplatform/>

+ * 

+ * If you make changes to this file, either:

+ * 

+ *    * Right-click in the editor and choose 'Create Target Definition File'

+ *      to update the corresponding .target file.

+ *    * Right-lick in the editor and choose 'Set as Target Platform'

+ *      to update your IDE's target platform (regenerates the .target too)

+ */

+target "UOMo for Eclipse Oxygen" with source requirements

+

+location "http://download.eclipse.org/cbi/updates/license" {

+    org.eclipse.license.feature.group    

+}

+

+location "http://download.eclipse.org/releases/oxygen/201702031000/" {

+	org.eclipse.sdk.feature.group

+	org.eclipse.jdt.feature.group

+	org.eclipse.m2e.feature.feature.group

+	org.eclipse.m2e.sdk.feature.feature.group

+	org.eclipse.m2e.wtp.feature.feature.group

+	org.eclipse.m2e.wtp.sdk.feature.feature.group

+	org.eclipse.mylyn.commons.feature.group

+	org.eclipse.jpt.jpa.feature.feature.group

+	org.eclipse.datatools.sdk.feature.feature.group

+	org.eclipse.swtbot.eclipse.feature.group

+	

+	org.eclipse.epp.logging.aeri.feature.feature.group

+	org.eclipse.epp.logging.aeri.feature.source.feature.group

+	

+	org.eclipse.jetty.http

+	org.eclipse.jetty.servlet

+	org.eclipse.jetty.server

+	org.eclipse.jetty.util

+}

+

+// /webtools/repository/oxygen currently has some issues

+// location "http://download.eclipse.org/webtools/repository/oxygen/" {

+location "http://download.eclipse.org/webtools/downloads/drops/R3.9.0/S-3.9.0M5-20170201000249/repository" {

+    org.eclipse.jst.web_sdk.feature.feature.group

+    org.eclipse.jst.server_sdk.feature.feature.group

+    org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature.group

+    org.eclipse.wst.common.fproj.sdk.feature.group

+    org.eclipse.wst.web_sdk.feature.feature.group

+    org.eclipse.jst.enterprise_sdk.feature.feature.group

+    org.eclipse.wst.server_adapters.sdk.feature.feature.group

+}

+

+location "http://download.eclipse.org/tools/orbit/downloads/drops/S20170120205402/repository/" {

+    org.hamcrest

+	ch.qos.logback.slf4j

+	org.slf4j.log4j

+}
\ No newline at end of file