Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -30,7 +30,7 @@ import static org.apache.sis.test.Assert
  * Tests the XML marshalling of {@code FreeText}.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 1.0
  *
  * @see <a href="http://jira.geotoolkit.org/browse/GEOTK-107";>GEOTK-107</a>
  * @see <a href="http://jira.geotoolkit.org/browse/GEOTK-152";>GEOTK-152</a>
@@ -60,26 +60,29 @@ public final strictfp class FreeTextMars
     @Test
     public void testStandard() throws JAXBException {
         final String expected =
-                "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + "\" 
xmlns:gco=\"" + Namespaces.GCO + "\" xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
-                "  <gmd:title xsi:type=\"gmd:PT_FreeText_PropertyType\">\n" +
+                "<cit:CI_Citation xmlns:lan=\"" + Namespaces.LAN + '"'
+                              + " xmlns:cit=\"" + Namespaces.CIT + '"'
+                              + " xmlns:gco=\"" + Namespaces.GCO + '"'
+                              + " xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
+                "  <cit:title xsi:type=\"lan:PT_FreeText_PropertyType\">\n" +
                 "    <gco:CharacterString>OpenSource 
Project</gco:CharacterString>\n" +
-                "    <gmd:PT_FreeText>\n" +
-                "      <gmd:textGroup>\n" +
-                "        <gmd:LocalisedCharacterString 
locale=\"#locale-eng\">OpenSource Project</gmd:LocalisedCharacterString>\n" +
-                "      </gmd:textGroup>\n" +
-                "      <gmd:textGroup>\n" +
-                "        <gmd:LocalisedCharacterString 
locale=\"#locale-ita\">Progetto OpenSource</gmd:LocalisedCharacterString>\n" +
-                "      </gmd:textGroup>\n" +
-                "      <gmd:textGroup>\n" +
-                "        <gmd:LocalisedCharacterString 
locale=\"#locale-fra\">Projet OpenSource</gmd:LocalisedCharacterString>\n" +
-                "      </gmd:textGroup>\n" +
-                "    </gmd:PT_FreeText>\n" +
-                "  </gmd:title>\n" +
-                "</gmd:CI_Citation>\n";
+                "    <lan:PT_FreeText>\n" +
+                "      <lan:textGroup>\n" +
+                "        <lan:LocalisedCharacterString 
locale=\"#locale-eng\">OpenSource Project</lan:LocalisedCharacterString>\n" +
+                "      </lan:textGroup>\n" +
+                "      <lan:textGroup>\n" +
+                "        <lan:LocalisedCharacterString 
locale=\"#locale-ita\">Progetto OpenSource</lan:LocalisedCharacterString>\n" +
+                "      </lan:textGroup>\n" +
+                "      <lan:textGroup>\n" +
+                "        <lan:LocalisedCharacterString 
locale=\"#locale-fra\">Projet OpenSource</lan:LocalisedCharacterString>\n" +
+                "      </lan:textGroup>\n" +
+                "    </lan:PT_FreeText>\n" +
+                "  </cit:title>\n" +
+                "</cit:CI_Citation>\n";
 
-        final Citation citation = (Citation) XML.unmarshal(expected);
+        final Citation citation = unmarshal(Citation.class, expected);
         assertEquals(getExpectedI18N(), citation.getTitle());
-        final String actual = XML.marshal(citation);
+        final String actual = marshal(citation);
         assertXmlEquals(expected, actual, "xmlns:*");
     }
 
@@ -94,20 +97,23 @@ public final strictfp class FreeTextMars
     @Test
     public void testLegacy() throws JAXBException {
         final String legacy =
-                "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + "\" 
xmlns:gco=\"" + Namespaces.GCO + "\" xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
-                "  <gmd:title xsi:type=\"gmd:PT_FreeText_PropertyType\">\n" +
+                "<cit:CI_Citation xmlns:lan=\"" + Namespaces.LAN + '"'
+                              + " xmlns:cit=\"" + Namespaces.CIT + '"'
+                              + " xmlns:gco=\"" + Namespaces.GCO + '"'
+                              + " xmlns:xsi=\"" + Namespaces.XSI + "\">\n" +
+                "  <cit:title xsi:type=\"lan:PT_FreeText_PropertyType\">\n" +
                 "    <gco:CharacterString>OpenSource 
Project</gco:CharacterString>\n" +
-                "    <gmd:PT_FreeText>\n" +
-                "      <gmd:textGroup>\n" +
-                "        <gmd:LocalisedCharacterString 
locale=\"#locale-eng\">OpenSource Project</gmd:LocalisedCharacterString>\n" +
-                "        <gmd:LocalisedCharacterString 
locale=\"#locale-ita\">Progetto OpenSource</gmd:LocalisedCharacterString>\n" +
-                "        <gmd:LocalisedCharacterString 
locale=\"#locale-fra\">Projet OpenSource</gmd:LocalisedCharacterString>\n" +
-                "      </gmd:textGroup>\n" +
-                "    </gmd:PT_FreeText>\n" +
-                "  </gmd:title>\n" +
-                "</gmd:CI_Citation>\n";
+                "    <lan:PT_FreeText>\n" +
+                "      <lan:textGroup>\n" +
+                "        <lan:LocalisedCharacterString 
locale=\"#locale-eng\">OpenSource Project</lan:LocalisedCharacterString>\n" +
+                "        <lan:LocalisedCharacterString 
locale=\"#locale-ita\">Progetto OpenSource</lan:LocalisedCharacterString>\n" +
+                "        <lan:LocalisedCharacterString 
locale=\"#locale-fra\">Projet OpenSource</lan:LocalisedCharacterString>\n" +
+                "      </lan:textGroup>\n" +
+                "    </lan:PT_FreeText>\n" +
+                "  </cit:title>\n" +
+                "</cit:CI_Citation>\n";
 
-        final Citation citation = (Citation) XML.unmarshal(legacy);
+        final Citation citation = unmarshal(Citation.class, legacy);
         assertEquals(getExpectedI18N(), citation.getTitle());
     }
 }

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonMarshallingTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -33,7 +33,7 @@ import static org.apache.sis.test.Metada
  * Tests the XML marshalling of object having {@code nilReason} attribute.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
  *
  * @see <a href="http://jira.geotoolkit.org/browse/GEOTK-149";>GEOTK-149</a>
  *
@@ -49,15 +49,15 @@ public final strictfp class NilReasonMar
     @Test
     public void testMissing() throws JAXBException {
         final String expected =
-                "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
+                "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
                                 " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
-                "  <gmd:title>\n" +
+                "  <cit:title>\n" +
                 "    <gco:CharacterString>A title</gco:CharacterString>\n" +
-                "  </gmd:title>\n" +
-                "  <gmd:series gco:nilReason=\"missing\"/>\n" +
-                "</gmd:CI_Citation>";
+                "  </cit:title>\n" +
+                "  <cit:series gco:nilReason=\"missing\"/>\n" +
+                "</cit:CI_Citation>";
 
-        final Citation citation = (Citation) XML.unmarshal(expected);
+        final Citation citation = unmarshal(Citation.class, expected);
         assertTitleEquals("citation", "A title", citation);
 
         final Series series = citation.getSeries();
@@ -71,9 +71,9 @@ public final strictfp class NilReasonMar
         assertEquals("Series[missing]", series.toString());
         assertNull("All attributes are expected to be null.", 
series.getName());
 
-        final String actual = XML.marshal(citation);
+        final String actual = marshal(citation);
         assertXmlEquals(expected, actual, "xmlns:*");
-        assertEquals(citation, XML.unmarshal(actual));
+        assertEquals(citation, unmarshal(Citation.class, actual));
     }
 
     /**
@@ -87,15 +87,15 @@ public final strictfp class NilReasonMar
     @DependsOnMethod("testMissing")
     public void testMissingBoolean() throws JAXBException {
         final String expected =
-                "<gmd:DQ_ConformanceResult xmlns:gmd=\"" + Namespaces.GMD + 
'"' +
+                "<mdq:DQ_ConformanceResult xmlns:mdq=\"" + Namespaces.MDQ + 
'"' +
                                          " xmlns:gco=\"" + Namespaces.GCO + 
"\">\n" +
-                "  <gmd:explanation>\n" +
+                "  <mdq:explanation>\n" +
                 "    <gco:CharacterString>An 
explanation</gco:CharacterString>\n" +
-                "  </gmd:explanation>\n" +
-                "  <gmd:pass gco:nilReason=\"missing\"/>\n" +
-                "</gmd:DQ_ConformanceResult>";
+                "  </mdq:explanation>\n" +
+                "  <mdq:pass gco:nilReason=\"missing\"/>\n" +
+                "</mdq:DQ_ConformanceResult>";
 
-        final ConformanceResult result = (ConformanceResult) 
XML.unmarshal(expected);
+        final ConformanceResult result = unmarshal(ConformanceResult.class, 
expected);
         assertEquals("explanation", "An explanation", 
result.getExplanation().toString());
 
         final Boolean pass = result.pass();
@@ -104,9 +104,9 @@ public final strictfp class NilReasonMar
         assertNotSame("Expected a sentinel value.", Boolean.FALSE, pass);
         assertSame("nilReason", NilReason.MISSING, NilReason.forObject(pass));
 
-        final String actual = XML.marshal(result);
+        final String actual = marshal(result);
         assertXmlEquals(expected, actual, "xmlns:*");
-        assertEquals(result, XML.unmarshal(actual));
+        assertEquals(result, unmarshal(ConformanceResult.class, actual));
     }
 
     /**
@@ -121,12 +121,12 @@ public final strictfp class NilReasonMar
     @SuppressWarnings("UnnecessaryBoxing")
     public void testMissingInteger() throws JAXBException {
         final String expected =
-                "<gmd:MD_Dimension xmlns:gmd=\"" + Namespaces.GMD + '"' +
+                "<msr:MD_Dimension xmlns:msr=\"" + Namespaces.MSR + '"' +
                                  " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
-                "  <gmd:dimensionSize gco:nilReason=\"unknown\"/>\n" +
-                "</gmd:MD_Dimension>";
+                "  <msr:dimensionSize gco:nilReason=\"unknown\"/>\n" +
+                "</msr:MD_Dimension>";
 
-        final Dimension result = (Dimension) XML.unmarshal(expected);
+        final Dimension result = unmarshal(Dimension.class, expected);
 
         final Integer size = result.getDimensionSize();
         assertNotNull("Expected a sentinel value.", size);
@@ -134,9 +134,9 @@ public final strictfp class NilReasonMar
         assertNotSame("Expected a sentinel value.", Integer.valueOf(0), size);
         assertSame("nilReason", NilReason.UNKNOWN, NilReason.forObject(size));
 
-        final String actual = XML.marshal(result);
+        final String actual = marshal(result);
         assertXmlEquals(expected, actual, "xmlns:*");
-        assertEquals(result, XML.unmarshal(actual));
+        assertEquals(result, unmarshal(Dimension.class, actual));
     }
 
     /**
@@ -148,13 +148,13 @@ public final strictfp class NilReasonMar
     @DependsOnMethod("testMissing")
     public void testMissingDouble() throws JAXBException {
         final String expected =
-                "<gmd:MD_Band xmlns:gmd=\"" + Namespaces.GMD + '"' +
+                "<mrc:MD_Band xmlns:mrc=\"" + Namespaces.MRC + '"' +
                             " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
-                "  <gmd:minValue gco:nilReason=\"unknown\"/>\n" +
-                "  <gmd:peakResponse gco:nilReason=\"missing\"/>\n" +
-                "</gmd:MD_Band>";
+                "  <mrc:minValue gco:nilReason=\"unknown\"/>\n" +
+                "  <mrc:peakResponse gco:nilReason=\"missing\"/>\n" +
+                "</mrc:MD_Band>";
 
-        final Band result = (Band) XML.unmarshal(expected);
+        final Band result = unmarshal(Band.class, expected);
 
         final Double minValue = result.getMinValue();
         assertNotNull("Expected a sentinel value.", minValue);
@@ -166,9 +166,9 @@ public final strictfp class NilReasonMar
         assertTrue("Nil value shall be NaN.", peakResponse.isNaN());
         assertSame("nilReason", NilReason.UNKNOWN, 
NilReason.forObject(peakResponse));
 
-        final String actual = XML.marshal(result);
+        final String actual = marshal(result);
         assertXmlEquals(expected, actual, "xmlns:*");
-        assertEquals(result, XML.unmarshal(actual));
+        assertEquals(result, unmarshal(Band.class, actual));
     }
 
     /**
@@ -180,15 +180,15 @@ public final strictfp class NilReasonMar
     @DependsOnMethod("testMissing")
     public void testOther() throws JAXBException {
         final String expected =
-                "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
+                "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
                                 " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
-                "  <gmd:title>\n" +
+                "  <cit:title>\n" +
                 "    <gco:CharacterString>A title</gco:CharacterString>\n" +
-                "  </gmd:title>\n" +
-                "  <gmd:series gco:nilReason=\"other:myReason\"/>\n" +
-                "</gmd:CI_Citation>";
+                "  </cit:title>\n" +
+                "  <cit:series gco:nilReason=\"other:myReason\"/>\n" +
+                "</cit:CI_Citation>";
 
-        final Citation citation = (Citation) XML.unmarshal(expected);
+        final Citation citation = unmarshal(Citation.class, expected);
         assertTitleEquals("citation", "A title", citation);
 
         final Series series = citation.getSeries();
@@ -201,9 +201,9 @@ public final strictfp class NilReasonMar
         assertEquals("Series[other:myReason]", series.toString());
         assertNull("All attributes are expected to be null.", 
series.getName());
 
-        final String actual = XML.marshal(citation);
+        final String actual = marshal(citation);
         assertXmlEquals(expected, actual, "xmlns:*");
-        assertEquals(citation, XML.unmarshal(actual));
+        assertEquals(citation, unmarshal(Citation.class, actual));
     }
 
     /**
@@ -215,15 +215,15 @@ public final strictfp class NilReasonMar
     @DependsOnMethod("testMissing")
     public void testURI() throws JAXBException {
         final String expected =
-                "<gmd:CI_Citation xmlns:gmd=\"" + Namespaces.GMD + '"' +
+                "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
                                 " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
-                "  <gmd:title>\n" +
+                "  <cit:title>\n" +
                 "    <gco:CharacterString>A title</gco:CharacterString>\n" +
-                "  </gmd:title>\n" +
-                "  <gmd:series gco:nilReason=\"http://www.myreason.org\"/>\n" +
-                "</gmd:CI_Citation>";
+                "  </cit:title>\n" +
+                "  <cit:series gco:nilReason=\"http://www.myreason.org\"/>\n" +
+                "</cit:CI_Citation>";
 
-        final Citation citation = (Citation) XML.unmarshal(expected);
+        final Citation citation = unmarshal(Citation.class, expected);
         assertTitleEquals("citation", "A title", citation);
 
         final Series series = citation.getSeries();
@@ -236,8 +236,8 @@ public final strictfp class NilReasonMar
         assertEquals("Series[http://www.myreason.org]";, series.toString());
         assertNull("All attributes are expected to be null.", 
series.getName());
 
-        final String actual = XML.marshal(citation);
+        final String actual = marshal(citation);
         assertXmlEquals(expected, actual, "xmlns:*");
-        assertEquals(citation, XML.unmarshal(actual));
+        assertEquals(citation, unmarshal(Citation.class, actual));
     }
 }

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/UUIDMarshallingTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -32,7 +32,7 @@ import static org.apache.sis.test.Metada
  * Tests the XML marshalling of object having {@code uuid} or {@code uuidref} 
attributes.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
  *
  * @see <a href="http://jira.geotoolkit.org/browse/GEOTK-165";>GEOTK-165</a>
  *
@@ -50,50 +50,50 @@ public final strictfp class UUIDMarshall
      * A XML with a {@code uuid} identifier in the {@code <gmd:CI_Series>} 
element.
      */
     private static final String IDENTIFIED_XML =
-            "<gmd:CI_Citation xmlns:gmd=\""   + Namespaces.GMD + '"' +
-                            " xmlns:gco=\""   + Namespaces.GCO + "\">\n" +
-            "  <gmd:title>\n" +
+            "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
+                            " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
+            "  <cit:title>\n" +
             "    <gco:CharacterString>My data</gco:CharacterString>\n" +
-            "  </gmd:title>\n" +
-            "  <gmd:series>\n" +
-            "    <gmd:CI_Series uuid=\"" + UUID_VALUE + "\">\n" +
-            "      <gmd:name>\n" +
+            "  </cit:title>\n" +
+            "  <cit:series>\n" +
+            "    <cit:CI_Series uuid=\"" + UUID_VALUE + "\">\n" +
+            "      <cit:name>\n" +
             "        <gco:CharacterString>My aggregate 
dataset</gco:CharacterString>\n" +
-            "      </gmd:name>\n" +
-            "    </gmd:CI_Series>\n" +
-            "  </gmd:series>\n" +
-            "</gmd:CI_Citation>";
+            "      </cit:name>\n" +
+            "    </cit:CI_Series>\n" +
+            "  </cit:series>\n" +
+            "</cit:CI_Citation>";
 
     /**
      * A XML with a {@code uuidref} identifier in the {@code <gmd:series>} 
element.
      * This XML declares the method body anyway, which is kind of 
contradictory with usage of reference.
      */
     private static final String REFERENCED_XML_WITH_BODY =
-            "<gmd:CI_Citation xmlns:gmd=\""   + Namespaces.GMD + '"' +
-                            " xmlns:gco=\""   + Namespaces.GCO + "\">\n" +
-            "  <gmd:title>\n" +
+            "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
+                            " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
+            "  <cit:title>\n" +
             "    <gco:CharacterString>My data</gco:CharacterString>\n" +
-            "  </gmd:title>\n" +
-            "  <gmd:series uuidref=\"" + UUID_VALUE + "\">\n" +
-            "    <gmd:CI_Series>\n" +
-            "      <gmd:name>\n" +
+            "  </cit:title>\n" +
+            "  <cit:series uuidref=\"" + UUID_VALUE + "\">\n" +
+            "    <cit:CI_Series>\n" +
+            "      <cit:name>\n" +
             "        <gco:CharacterString>My aggregate 
dataset</gco:CharacterString>\n" +
-            "      </gmd:name>\n" +
-            "    </gmd:CI_Series>\n" +
-            "  </gmd:series>\n" +
-            "</gmd:CI_Citation>";
+            "      </cit:name>\n" +
+            "    </cit:CI_Series>\n" +
+            "  </cit:series>\n" +
+            "</cit:CI_Citation>";
 
     /**
      * A XML with a {@code uuidref} identifier in the {@code <gmd:series>} 
element.
      */
     private static final String REFERENCED_XML =
-            "<gmd:CI_Citation xmlns:gmd=\""   + Namespaces.GMD + '"' +
-                            " xmlns:gco=\""   + Namespaces.GCO + "\">\n" +
-            "  <gmd:title>\n" +
+            "<cit:CI_Citation xmlns:cit=\"" + Namespaces.CIT + '"' +
+                            " xmlns:gco=\"" + Namespaces.GCO + "\">\n" +
+            "  <cit:title>\n" +
             "    <gco:CharacterString>My data</gco:CharacterString>\n" +
-            "  </gmd:title>\n" +
-            "  <gmd:series uuidref=\"" + UUID_VALUE + "\"/>\n" +
-            "</gmd:CI_Citation>";
+            "  </cit:title>\n" +
+            "  <cit:series uuidref=\"" + UUID_VALUE + "\"/>\n" +
+            "</cit:CI_Citation>";
 
     /**
      * Tests (un)marshalling of an object identified by the {@code uuid} 
attribute.
@@ -101,18 +101,18 @@ public final strictfp class UUIDMarshall
      * in the {@code <gmd:CI_Series>} element of the following XML fragment:
      *
      * {@preformat xml
-     *   <gmd:CI_Citation>
-     *     <gmd:title>
+     *   <cit:CI_Citation>
+     *     <cit:title>
      *       <gco:CharacterString>My data</gco:CharacterString>
-     *     </gmd:title>
-     *     <gmd:series>
-     *       <gmd:CI_Series uuid="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
-     *         <gmd:name>
+     *     </cit:title>
+     *     <cit:series>
+     *       <cit:CI_Series uuid="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
+     *         <cit:name>
      *           <gco:CharacterString>My aggregate 
dataset</gco:CharacterString>
-     *         </gmd:name>
-     *       </gmd:CI_Series>
-     *     </gmd:series>
-     *   </gmd:CI_Citation>
+     *         </cit:name>
+     *       </cit:CI_Series>
+     *     </cit:series>
+     *   </cit:CI_Citation>
      * }
      *
      * On an implementation note, the {@code uuid} and other attributes of the 
{@code <gmd:CI_Series>}
@@ -152,18 +152,18 @@ public final strictfp class UUIDMarshall
      * in the {@code <gmd:series>} property of the following XML fragment:</p>
      *
      * {@preformat xml
-     *   <gmd:CI_Citation>
-     *     <gmd:title>
+     *   <cit:CI_Citation>
+     *     <cit:title>
      *       <gco:CharacterString>My data</gco:CharacterString>
-     *     </gmd:title>
-     *     <gmd:series uuidref="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
-     *       <gmd:CI_Series>
-     *         <gmd:name>
+     *     </cit:title>
+     *     <cit:series uuidref="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">
+     *       <cit:CI_Series>
+     *         <cit:name>
      *           <gco:CharacterString>My aggregate 
dataset</gco:CharacterString>
-     *         </gmd:name>
-     *       </gmd:CI_Series>
-     *     </gmd:series>
-     *   </gmd:CI_Citation>
+     *         </cit:name>
+     *       </cit:CI_Series>
+     *     </cit:series>
+     *   </cit:CI_Citation>
      * }
      *
      * On an implementation note, the {@code uuidref}, {@code xlink:href} and 
other attributes of the

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -37,7 +37,7 @@ import static org.apache.sis.test.TestUt
  * Tests the XML marshalling of object having {@code xlink} attribute.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
  *
  * @see <a href="http://jira.geotoolkit.org/browse/GEOTK-165";>GEOTK-165</a>
  *
@@ -50,26 +50,27 @@ public final strictfp class XLinkMarshal
      * A XML with a {@code xlink:href} without element definition.
      */
     private static final String LINK_ONLY_XML =
-            "<gmd:MD_Metadata xmlns:gmd=\""   + Namespaces.GMD + '"' +
+            "<mdb:MD_Metadata xmlns:mdb=\""   + Namespaces.MDB + '"' +
                             " xmlns:xlink=\"" + Namespaces.XLINK + "\">\n" +
-            "  <gmd:identificationInfo xlink:href=\"http://test.net\"/>\n" +
-            "</gmd:MD_Metadata>";
+            "  <mdb:identificationInfo xlink:href=\"http://test.net\"/>\n" +
+            "</mdb:MD_Metadata>";
 
     /**
      * A XML with a {@code xlink:href} without element definition.
      */
     private static final String LINK_WITH_ELEMENT_XML =
-            "<gmd:MD_Metadata xmlns:gmd=\""   + Namespaces.GMD + '"' +
+            "<mdb:MD_Metadata xmlns:mdb=\""   + Namespaces.MDB + '"' +
+                            " xmlns:mri=\""   + Namespaces.MRI + '"' +
                             " xmlns:gco=\""   + Namespaces.GCO + '"' +
                             " xmlns:xlink=\"" + Namespaces.XLINK + "\">\n" +
-            "  <gmd:identificationInfo xlink:href=\"http://test.net\";>\n" +
-            "    <gmd:MD_DataIdentification>\n" +
-            "      <gmd:abstract>\n" +
+            " <mdb:identificationInfo xlink:href=\"http://test.net\";>\n" +
+            "    <mri:MD_DataIdentification>\n" +
+            "      <mri:abstract>\n" +
             "        <gco:CharacterString>This is a 
test.</gco:CharacterString>\n" +
-            "      </gmd:abstract>\n" +
-            "    </gmd:MD_DataIdentification>\n" +
-            "  </gmd:identificationInfo>\n" +
-            "</gmd:MD_Metadata>";
+            "      </mri:abstract>\n" +
+            "    </mri:MD_DataIdentification>\n" +
+            "  </mdb:identificationInfo>\n" +
+            "</mdb:MD_Metadata>";
 
     /**
      * Verifies if the given metadata contains the expected {@code xlink:href} 
attribute value.
@@ -90,9 +91,9 @@ public final strictfp class XLinkMarshal
      * The XML fragment is:
      *
      * {@preformat xml
-     *   <gmd:MD_Metadata>
-     *     <gmd:identificationInfo xlink:href="http://test.net"/>
-     *   </gmd:MD_Metadata>
+     *   <mdb:MD_Metadata>
+     *     <mdb:identificationInfo xlink:href="http://test.net"/>
+     *   </mdb:MD_Metadata>
      * }
      *
      * @throws JAXBException if an error occurred during (un)marshalling.
@@ -107,7 +108,7 @@ public final strictfp class XLinkMarshal
         final DefaultMetadata metadata = new DefaultMetadata();
         metadata.setIdentificationInfo(Collections.singleton(identification));
 
-        assertXmlEquals(LINK_ONLY_XML, XML.marshal(metadata), "xmlns:*");
+        assertXmlEquals(LINK_ONLY_XML, marshal(metadata), "xmlns:*");
         verify(true, unmarshal(DefaultMetadata.class, LINK_ONLY_XML));
     }
 
@@ -116,15 +117,15 @@ public final strictfp class XLinkMarshal
      * The XML fragment is:
      *
      * {@preformat xml
-     *   <gmd:MD_Metadata>
-     *     <gmd:identificationInfo xlink:href="http://test.net";>
-     *       <gmd:MD_DataIdentification>
-     *         <gmd:abstract>
+     *   <mdb:MD_Metadata>
+     *     <mdb:identificationInfo xlink:href="http://test.net";>
+     *       <mdb:MD_DataIdentification>
+     *         <mdb:abstract>
      *           <gco:CharacterString>This is a test.</gco:CharacterString>
-     *         </gmd:abstract>
-     *       </gmd:MD_DataIdentification>
-     *     </gmd:identificationInfo>
-     *   </gmd:MD_Metadata>
+     *         </mdb:abstract>
+     *       </mdb:MD_DataIdentification>
+     *     </mdb:identificationInfo>
+     *   </mdb:MD_Metadata>
      * }
      *
      * @throws JAXBException if an error occurred during (un)marshalling.
@@ -140,7 +141,7 @@ public final strictfp class XLinkMarshal
         final DefaultMetadata metadata = new DefaultMetadata();
         metadata.setIdentificationInfo(Collections.singleton(identification));
 
-        assertXmlEquals(LINK_WITH_ELEMENT_XML, XML.marshal(metadata), 
"xmlns:*");
+        assertXmlEquals(LINK_WITH_ELEMENT_XML, marshal(metadata), "xmlns:*");
         final DefaultMetadata unmarshal = unmarshal(DefaultMetadata.class, 
LINK_WITH_ELEMENT_XML);
         verify(false, unmarshal);
         assertTrue(metadata.equals(unmarshal, ComparisonMode.DEBUG));

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/citation/Citation.xml
 Sat Feb 24 16:13:58 2018
@@ -18,56 +18,87 @@
   under the License.
 -->
 
-<gmd:CI_Citation
-    xmlns:gco          = "http://www.isotc211.org/2005/gco";
-    xmlns:gmd          = "http://www.isotc211.org/2005/gmd";
-    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance";
-    xmlns:xlink        = "http://www.w3.org/1999/xlink";
-    xsi:schemaLocation = "http://www.isotc211.org/2005/gmd 
http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd";>
+<cit:CI_Citation
+    xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/1.0";
+    xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0";
+    xmlns:gcx="http://standards.iso.org/iso/19115/-3/gcx/1.0";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xmlns:xlink="http://www.w3.org/1999/xlink";
+    xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/cit/1.0 
http://standards.iso.org/iso/19115/-3/cit/1.0/cit.xsd
+                          http://standards.iso.org/iso/19115/-3/gcx/1.0 
http://standards.iso.org/iso/19115/-3/gcx/1.0/gcx.xsd";>
 
-  <gmd:title>
+  <cit:title>
     <gco:CharacterString>Fight against poverty</gco:CharacterString>
-  </gmd:title>
-  <gmd:date>
-    <gmd:CI_Date>
-      <gmd:date>
+  </cit:title>
+  <cit:date>
+    <cit:CI_Date>
+      <cit:date>
         <!-- International Day for the Eradication of Poverty -->
         <gco:DateTime>2015-10-17T02:00:00+02:00</gco:DateTime>
-      </gmd:date>
-      <gmd:dateType>
-        <gmd:CI_DateTypeCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode";
-                             
codeListValue="adopted">Adopted</gmd:CI_DateTypeCode>
-      </gmd:dateType>
-    </gmd:CI_Date>
-  </gmd:date>
-  <gmd:citedResponsibleParty>
-    <gmd:CI_ResponsibleParty>
-      <gmd:individualName>
-        <gco:CharacterString>Maid Marian</gco:CharacterString>
-      </gmd:individualName>
-      <gmd:contactInfo>
-        <gmd:CI_Contact id="ip-protocol">
-          <gmd:contactInstructions>
-            <gco:CharacterString>Send carrier pigeon.</gco:CharacterString>
-          </gmd:contactInstructions>
-        </gmd:CI_Contact>
-      </gmd:contactInfo>
-      <gmd:role>
-        <gmd:CI_RoleCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode";
-                         
codeListValue="originator">Originator</gmd:CI_RoleCode>
-      </gmd:role>
-    </gmd:CI_ResponsibleParty>
-  </gmd:citedResponsibleParty>
-  <gmd:citedResponsibleParty>
-    <gmd:CI_ResponsibleParty>
-      <gmd:individualName>
-        <gco:CharacterString>Robin Hood</gco:CharacterString>
-      </gmd:individualName>
-      <gmd:contactInfo xlink:href="#ip-protocol"/>
-      <gmd:role>
-        <gmd:CI_RoleCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode";
-                         codeListValue="funder">Funder</gmd:CI_RoleCode>
-      </gmd:role>
-    </gmd:CI_ResponsibleParty>
-  </gmd:citedResponsibleParty>
-</gmd:CI_Citation>
+      </cit:date>
+      <cit:dateType>
+        <cit:CI_DateTypeCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_DateTypeCode";
+                             
codeListValue="adopted">Adopted</cit:CI_DateTypeCode>
+      </cit:dateType>
+    </cit:CI_Date>
+  </cit:date>
+  <cit:citedResponsibleParty>
+    <cit:CI_Responsibility>
+      <cit:role>
+        <cit:CI_RoleCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_RoleCode";
+                         
codeListValue="originator">Originator</cit:CI_RoleCode>
+      </cit:role>
+      <cit:party>
+        <cit:CI_Individual>
+          <cit:name>
+            <gco:CharacterString>Maid Marian</gco:CharacterString>
+          </cit:name>
+          <cit:contactInfo>
+            <cit:CI_Contact id="ip-protocol">
+              <cit:onlineResource>
+                <cit:CI_OnlineResource>
+                  <cit:linkage>
+                    <gcx:FileName 
src="https://tools.ietf.org/html/rfc1149";>rfc1149</gcx:FileName>
+                  </cit:linkage>
+                  <cit:name>
+                    <gco:CharacterString>IP over Avian 
Carriers</gco:CharacterString>
+                  </cit:name>
+                  <cit:description>
+                    <gco:CharacterString>High delay, low throughput, and low 
altitude service.</gco:CharacterString>
+                  </cit:description>
+                  <cit:function>
+                    <cit:CI_OnLineFunctionCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_OnLineFunctionCode";
+                                               
codeListValue="offlineAccess">Offline access</cit:CI_OnLineFunctionCode>
+                  </cit:function>
+                </cit:CI_OnlineResource>
+              </cit:onlineResource>
+              <cit:contactInstructions>
+                <gco:CharacterString>Send carrier pigeon.</gco:CharacterString>
+              </cit:contactInstructions>
+            </cit:CI_Contact>
+          </cit:contactInfo>
+        </cit:CI_Individual>
+      </cit:party>
+    </cit:CI_Responsibility>
+  </cit:citedResponsibleParty>
+  <cit:citedResponsibleParty>
+    <cit:CI_Responsibility>
+      <cit:role>
+        <cit:CI_RoleCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_RoleCode";
+                         codeListValue="funder">Funder</cit:CI_RoleCode>
+      </cit:role>
+      <cit:party>
+        <cit:CI_Individual>
+          <cit:name>
+            <gco:CharacterString>Robin Hood</gco:CharacterString>
+          </cit:name>
+          <cit:contactInfo xlink:href="#ip-protocol"/>
+        </cit:CI_Individual>
+      </cit:party>
+    </cit:CI_Responsibility>
+  </cit:citedResponsibleParty>
+  <cit:presentationForm>
+    <cit:CI_PresentationFormCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_PresentationFormCode";
+                                 codeListValue="physicalObject">Physical 
object</cit:CI_PresentationFormCode>
+  </cit:presentationForm>
+</cit:CI_Citation>

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/extent/Extent.xml
 Sat Feb 24 16:13:58 2018
@@ -18,43 +18,44 @@
   under the License.
 -->
 
-<gmd:EX_Extent
-    xmlns:gco = "http://www.isotc211.org/2005/gco";
-    xmlns:gmd = "http://www.isotc211.org/2005/gmd";
+<gex:EX_Extent
+    xmlns:gex = "http://standards.iso.org/iso/19115/-3/gex/1.0";
+    xmlns:gco = "http://standards.iso.org/iso/19115/-3/gco/1.0";
     xmlns:gml = "http://www.opengis.net/gml/3.2";
     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation = "http://www.isotc211.org/2005/gmd 
http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd";>
+    xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/gex/1.0
+                          
http://standards.iso.org/iso/19115/-3/gex/1.0/gex.xsd";>
 
-  <gmd:geographicElement>
-    <gmd:EX_GeographicBoundingBox id="bbox">
-      <gmd:extentTypeCode>
+  <gex:geographicElement>
+    <gex:EX_GeographicBoundingBox id="bbox">
+      <gex:extentTypeCode>
         <gco:Boolean>true</gco:Boolean>
-      </gmd:extentTypeCode>
-      <gmd:westBoundLongitude>
+      </gex:extentTypeCode>
+      <gex:westBoundLongitude>
         <gco:Decimal>-99.0</gco:Decimal>
-      </gmd:westBoundLongitude>
-      <gmd:eastBoundLongitude>
+      </gex:westBoundLongitude>
+      <gex:eastBoundLongitude>
         <gco:Decimal>-79.0</gco:Decimal>
-      </gmd:eastBoundLongitude>
-      <gmd:southBoundLatitude>
+      </gex:eastBoundLongitude>
+      <gex:southBoundLatitude>
         <gco:Decimal>14.9844</gco:Decimal>
-      </gmd:southBoundLatitude>
-      <gmd:northBoundLatitude>
+      </gex:southBoundLatitude>
+      <gex:northBoundLatitude>
         <gco:Decimal>31.0</gco:Decimal>
-      </gmd:northBoundLatitude>
-    </gmd:EX_GeographicBoundingBox>
-  </gmd:geographicElement>
-  <gmd:temporalElement>
-    <gmd:EX_TemporalExtent>
+      </gex:northBoundLatitude>
+    </gex:EX_GeographicBoundingBox>
+  </gex:geographicElement>
+  <gex:temporalElement>
+    <gex:EX_TemporalExtent>
       <!-- TODO: This block needs the sis-temporal module.
-      <gmd:extent>
+      <gex:extent>
         <gml:TimePeriod gml:id="period">
           <gml:description>Acquisition period</gml:description>
           <gml:beginPosition>2010-01-27T08:26:10-05:00</gml:beginPosition>
           <gml:endPosition>2010-08-27T08:26:10-05:00</gml:endPosition>
         </gml:TimePeriod>
-      </gmd:extent>
+      </gex:extent>
       -->
-    </gmd:EX_TemporalExtent>
-  </gmd:temporalElement>
-</gmd:EX_Extent>
+    </gex:EX_TemporalExtent>
+  </gex:temporalElement>
+</gex:EX_Extent>

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/identification/ServiceIdentification.xml
 Sat Feb 24 16:13:58 2018
@@ -19,85 +19,120 @@
 -->
 
 <srv:SV_ServiceIdentification
-    xmlns:srv = "http://www.isotc211.org/2005/srv";
-    xmlns:gmd = "http://www.isotc211.org/2005/gmd";
-    xmlns:gco = "http://www.isotc211.org/2005/gco";
+    xmlns:srv = "http://standards.iso.org/iso/19115/-3/srv/2.0";
+    xmlns:mri = "http://standards.iso.org/iso/19115/-3/mri/1.0";
+    xmlns:cit = "http://standards.iso.org/iso/19115/-3/cit/1.0";
+    xmlns:gco = "http://standards.iso.org/iso/19115/-3/gco/1.0";
     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation = "http://www.isotc211.org/2005/srv 
http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd";>
+    xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/srv/2.0
+                          
http://standards.iso.org/iso/19115/-3/srv/2.0/srv.xsd";>
 
-  <gmd:citation gco:nilReason="missing"/>
-  <gmd:abstract>
+  <mri:citation gco:nilReason="missing"/>
+  <mri:abstract>
     <gco:CharacterString>A dummy service for testing 
purpose.</gco:CharacterString>
-  </gmd:abstract>
+  </mri:abstract>
 
   <srv:serviceType>
-    <gco:LocalName>Web Map Server</gco:LocalName>
+    <gco:ScopedName>Web Map Server</gco:ScopedName>
   </srv:serviceType>
 
   <srv:serviceTypeVersion>
     <gco:CharacterString>1.0</gco:CharacterString>
   </srv:serviceTypeVersion>
 
+  <srv:couplingType>
+    <srv:SV_CouplingType 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#SV_CouplingType";
 codeListValue="loose" codeSpace="eng">Loose</srv:SV_CouplingType>
+  </srv:couplingType>
+
   <srv:coupledResource>
     <srv:SV_CoupledResource>
-      <srv:operationName>
-        <gco:CharacterString>Get Map</gco:CharacterString>
-      </srv:operationName>
-      <srv:identifier>
-        <gco:CharacterString>ABC-123</gco:CharacterString>
-      </srv:identifier>
-      <gco:ScopedName>mySpace:ABC-123</gco:ScopedName>
+      <srv:scopedName>
+        <gco:ScopedName>mySpace:ABC-123</gco:ScopedName>
+      </srv:scopedName>
+      <srv:resourceReference>
+        <cit:CI_Citation>
+          <cit:title>
+             <gco:CharacterString>WMS specification</gco:CharacterString>
+          </cit:title>
+       </cit:CI_Citation>
+      </srv:resourceReference>
+      <srv:operation>
+        <srv:SV_OperationMetadata>
+          <srv:operationName>
+            <gco:CharacterString>Get Map</gco:CharacterString>
+          </srv:operationName>
+          <srv:distributedComputingPlatform>
+            <srv:DCPList 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#DCPList";
 codeListValue="WebServices" codeSpace="eng">Web services</srv:DCPList>
+          </srv:distributedComputingPlatform>
+          <srv:connectPoint gco:nilReason="missing"/>
+          <srv:parameter>
+            <srv:SV_Parameter>
+              <srv:name>
+                <gco:MemberName>
+                  <gco:aName>
+                    <gco:CharacterString>Version</gco:CharacterString>
+                  </gco:aName>
+                  <gco:attributeType>
+                    <gco:TypeName>
+                      <gco:aName>
+                        
<gco:CharacterString>CharacterString</gco:CharacterString>
+                      </gco:aName>
+                    </gco:TypeName>
+                  </gco:attributeType>
+                </gco:MemberName>
+              </srv:name>
+              <srv:direction>
+                <srv:SV_ParameterDirection>in</srv:SV_ParameterDirection>
+              </srv:direction>
+              <srv:optionality>
+                <gco:Boolean>true</gco:Boolean>
+              </srv:optionality>
+              <srv:repeatability>
+                <gco:Boolean>false</gco:Boolean>
+              </srv:repeatability>
+            </srv:SV_Parameter>
+          </srv:parameter>
+        </srv:SV_OperationMetadata>
+      </srv:operation>
     </srv:SV_CoupledResource>
   </srv:coupledResource>
 
-  <srv:couplingType>
-    <srv:SV_CouplingType 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#SV_CouplingType";
 codeListValue="loose">Loose</srv:SV_CouplingType>
-  </srv:couplingType>
-
   <srv:containsOperations>
     <srv:SV_OperationMetadata>
       <srv:operationName>
         <gco:CharacterString>Get Map</gco:CharacterString>
       </srv:operationName>
-      <srv:DCP>
-        <srv:DCPList 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#DCPList";
 codeListValue="WebServices">Web services</srv:DCPList>
-      </srv:DCP>
-      <srv:parameters>
+      <srv:distributedComputingPlatform>
+        <srv:DCPList 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#DCPList";
 codeListValue="WebServices" codeSpace="eng">Web services</srv:DCPList>
+      </srv:distributedComputingPlatform>
+      <srv:connectPoint gco:nilReason="missing"/>
+      <srv:parameter>
         <srv:SV_Parameter>
           <srv:name>
-            <gco:aName>
-              <gco:CharacterString>Version</gco:CharacterString>
-            </gco:aName>
-            <gco:attributeType>
-              <gco:TypeName>
-                <gco:aName>
-                  <gco:CharacterString>CharacterString</gco:CharacterString>
-                </gco:aName>
-              </gco:TypeName>
-            </gco:attributeType>
+            <gco:MemberName>
+              <gco:aName>
+                <gco:CharacterString>Version</gco:CharacterString>
+              </gco:aName>
+              <gco:attributeType>
+                <gco:TypeName>
+                  <gco:aName>
+                    <gco:CharacterString>CharacterString</gco:CharacterString>
+                  </gco:aName>
+                </gco:TypeName>
+              </gco:attributeType>
+            </gco:MemberName>
           </srv:name>
           <srv:direction>
             <srv:SV_ParameterDirection>in</srv:SV_ParameterDirection>
           </srv:direction>
           <srv:optionality>
-            <gco:CharacterString>Optional</gco:CharacterString>
+            <gco:Boolean>true</gco:Boolean>
           </srv:optionality>
           <srv:repeatability>
             <gco:Boolean>false</gco:Boolean>
           </srv:repeatability>
-
-          <!-- Deprecated element (removed from ISO 19115:2014), since it 
duplicates <gco:attributeType> above. -->
-          <srv:valueType>
-            <gco:TypeName>
-              <gco:aName>
-                <gco:CharacterString>CharacterString</gco:CharacterString>
-              </gco:aName>
-            </gco:TypeName>
-          </srv:valueType>
-
         </srv:SV_Parameter>
-      </srv:parameters>
-      <srv:connectPoint gco:nilReason="missing"/>
+      </srv:parameter>
     </srv:SV_OperationMetadata>
   </srv:containsOperations>
 </srv:SV_ServiceIdentification>

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/lineage/ProcessStep.xml
 Sat Feb 24 16:13:58 2018
@@ -18,25 +18,29 @@
   under the License.
 -->
 
-<gmi:LE_ProcessStep
-    xmlns:gmd = "http://www.isotc211.org/2005/gmd";
-    xmlns:gco = "http://www.isotc211.org/2005/gco";
-    xmlns:gmi = "http://www.isotc211.org/2005/gmi";
+<mrl:LE_ProcessStep
+    xmlns:mrl = "http://standards.iso.org/iso/19115/-3/mrl/1.0";
+    xmlns:mcc = "http://standards.iso.org/iso/19115/-3/mcc/1.0";
+    xmlns:gco = "http://standards.iso.org/iso/19115/-3/gco/1.0";
     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation = "http://www.isotc211.org/2005/gmd 
http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd";>
+    xsi:schemaLocation = "http://standards.iso.org/iso/19115/-3/mrl/1.0
+                          
http://standards.iso.org/iso/19115/-3/mrl/1.0/mrl.xsd";>
 
-  <!--
-    As of February 2011, there is not yet any XSD schema for the "gmi" 
namespace on the
-    OGC web site. Consequently the validation of this file does not work fully 
yet.
-  -->
-  <gmd:description>
+  <mrl:description>
     <gco:CharacterString>Some process step.</gco:CharacterString>
-  </gmd:description>
-  <gmi:processingInformation>
-    <gmi:LE_Processing>
-      <gmi:procedureDescription>
+  </mrl:description>
+  <mrl:processingInformation>
+    <mrl:LE_Processing>
+      <mrl:identifier>
+        <mcc:MD_Identifier>
+          <mcc:code>
+            <gco:CharacterString>P4</gco:CharacterString>
+          </mcc:code>
+        </mcc:MD_Identifier>
+      </mrl:identifier>
+      <mrl:procedureDescription>
         <gco:CharacterString>Some procedure.</gco:CharacterString>
-      </gmi:procedureDescription>
-    </gmi:LE_Processing>
-  </gmi:processingInformation>
-</gmi:LE_ProcessStep>
+      </mrl:procedureDescription>
+    </mrl:LE_Processing>
+  </mrl:processingInformation>
+</mrl:LE_ProcessStep>

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/iso/quality/PositionalAccuracy.xml
 Sat Feb 24 16:13:58 2018
@@ -18,55 +18,67 @@
   under the License.
 -->
 
-<gmd:DQ_RelativeInternalPositionalAccuracy
-    xmlns:gmd = "http://www.isotc211.org/2005/gmd";
-    xmlns:gco = "http://www.isotc211.org/2005/gco";
+<mdq:DQ_RelativeInternalPositionalAccuracy
+    xmlns:mdq="http://standards.iso.org/iso/19157/-2/mdq/1.0";
+    xmlns:mcc="http://standards.iso.org/iso/19115/-3/mcc/1.0";
+    xmlns:cit="http://standards.iso.org/iso/19115/-3/cit/1.0";
+    xmlns:lan="http://standards.iso.org/iso/19115/-3/lan/1.0";
+    xmlns:gco="http://standards.iso.org/iso/19115/-3/gco/1.0";
     xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance";
-    xsi:schemaLocation = "http://www.isotc211.org/2005/gmd 
http://schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd";>
+    xsi:schemaLocation = "http://standards.iso.org/iso/19157/-2/mdq/1.0 
http://standards.iso.org/iso/19157/-2/mdq/1.0/mdq.xsd
+                          http://standards.iso.org/iso/19115/-3/lan/1.0 
http://standards.iso.org/iso/19115/-3/lan/1.0/lan.xsd";>
 
   <!--
-    The <nameOfMeasure> element below is the main purpose of 
MetadataMarshallingTest.testPositionalAccuracy().
-    The <result> element was added only in order to allow validation of this 
XML file, with the addition of an
-    opportunist check of xsi:type declaration.
+    The <measure> element below is the main purpose of 
MetadataMarshallingTest.testPositionalAccuracy().
+    The <result> element was added only in order to allow validation of this 
XML file, with the addition
+    of an opportunist check of xsi:type declaration.
   -->
-  <gmd:nameOfMeasure xsi:type="gmd:PT_FreeText_PropertyType">
-    <gco:CharacterString>Quantitative quality measure focusing on the 
effective class percent regarded to the total surface size</gco:CharacterString>
-    <gmd:PT_FreeText>
-      <gmd:textGroup>
-        <gmd:LocalisedCharacterString locale="#locale-fra">Mesure qualité 
quantitative de type pourcentage de représentation de la classe par rapport à 
la surface totale</gmd:LocalisedCharacterString>
-      </gmd:textGroup>
-    </gmd:PT_FreeText>
-  </gmd:nameOfMeasure>
-  <gmd:result>
+  <mdq:measure>
+   <mdq:DQ_MeasureReference>
+      <mdq:measureIdentification>
+         <mcc:MD_Identifier>
+            <mcc:code xsi:type="lan:PT_FreeText_PropertyType">
+              <gco:CharacterString>Quantitative quality measure focusing on 
the effective class percent regarded to the total surface 
size</gco:CharacterString>
+              <lan:PT_FreeText>
+                <lan:textGroup>
+                  <lan:LocalisedCharacterString locale="#locale-fra">Mesure 
qualité quantitative de type pourcentage de représentation de la classe par 
rapport à la surface totale</lan:LocalisedCharacterString>
+                </lan:textGroup>
+              </lan:PT_FreeText>
+            </mcc:code>
+         </mcc:MD_Identifier>
+      </mdq:measureIdentification>
+   </mdq:DQ_MeasureReference>
+  </mdq:measure>
+  <mdq:result>
     <!--
       The xsi:type declaration below is useless, but we put it
       in order to test that it does not break unmarshalling.
     -->
-    <gmd:DQ_ConformanceResult xsi:type="gmd:DQ_ConformanceResult_Type">
-      <gmd:specification>
-        <gmd:CI_Citation>
-          <gmd:title>
+    <mdq:DQ_ConformanceResult xsi:type="mdq:DQ_ConformanceResult_Type">
+      <mdq:specification>
+        <cit:CI_Citation>
+          <cit:title>
             <gco:CharacterString>Some documentation for a conformance 
test.</gco:CharacterString>
-          </gmd:title>
-          <gmd:date>
-            <gmd:CI_Date>
-              <gmd:date>
+          </cit:title>
+          <cit:date>
+            <cit:CI_Date>
+              <cit:date>
                 <!-- Dummy date for the purpose of this test. -->
                 <gco:DateTime>2009-08-12T19:40:17.653+02:00</gco:DateTime>
-              </gmd:date>
-              <gmd:dateType>
-                <gmd:CI_DateTypeCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode";
 codeListValue="creation">Creation</gmd:CI_DateTypeCode>
-              </gmd:dateType>
-            </gmd:CI_Date>
-          </gmd:date>
-        </gmd:CI_Citation>
-      </gmd:specification>
-      <gmd:explanation>
+              </cit:date>
+              <cit:dateType>
+                <cit:CI_DateTypeCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode";
 codeListValue="creation">Creation</cit:CI_DateTypeCode>
+              </cit:dateType>
+            </cit:CI_Date>
+          </cit:date>
+        </cit:CI_Citation>
+      </mdq:specification>
+      <mdq:explanation>
         <gco:CharacterString>We should explain here what a test conformance 
means.</gco:CharacterString>
-      </gmd:explanation>
-      <gmd:pass>
+      </mdq:explanation>
+      <mdq:pass>
         <gco:Boolean>true</gco:Boolean>
-      </gmd:pass>
-    </gmd:DQ_ConformanceResult>
-  </gmd:result>
-</gmd:DQ_RelativeInternalPositionalAccuracy>
+      </mdq:pass>
+    </mdq:DQ_ConformanceResult>
+  </mdq:result>
+</mdq:DQ_RelativeInternalPositionalAccuracy>

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -21,11 +21,11 @@ import org.opengis.metadata.Identifier;
 
 
 /**
- * JAXB adapter mapping the GeoAPI {@link Identifier} to an implementation 
class that can
- * be marshalled. See the package documentation for more information about 
JAXB and interfaces.
+ * JAXB adapter mapping the GeoAPI {@link Identifier} to an implementation 
class that can be marshalled.
+ * See the package documentation for more information about JAXB and 
interfaces.
  *
  * <p>Note that a class of the same name is defined in the {@link 
org.apache.sis.internal.jaxb.metadata}
- * package, which serve the same purpose (wrapping exactly the same interface) 
but using the ISO 19139
+ * package, which serve the same purpose (wrapping exactly the same interface) 
but using the ISO 19139:2007
  * syntax instead. The ISO 19139 syntax represents the code and codespace as 
XML elements, while in this
  * GML representation the code is a XML value and the codespace is a XML 
attribute.</p>
  *

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -26,7 +26,7 @@ import org.apache.sis.referencing.crs.De
 /**
  * JAXB adapter for {@link VerticalCRS}, in order to integrate the value in an 
element
  * complying with OGC/ISO standard. Note that the CRS is formatted using the 
GML schema,
- * not the ISO 19139 one.
+ * not the ISO 19139:2007 one.
  *
  * @author  Guilhem Legal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -42,6 +42,7 @@ import org.opengis.referencing.ObjectFac
 import org.opengis.referencing.AuthorityFactory;
 import org.opengis.referencing.IdentifiedObject;
 import org.apache.sis.internal.jaxb.Context;
+import org.apache.sis.internal.jaxb.UseLegacyMetadata;
 import org.apache.sis.internal.jaxb.referencing.Code;
 import org.apache.sis.internal.util.Numerics;
 import org.apache.sis.internal.util.UnmodifiableArrayList;
@@ -116,7 +117,7 @@ import static org.apache.sis.internal.ut
  * objects and passed between threads without synchronization.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 0.7
+ * @version 1.0
  * @since   0.4
  * @module
  */
@@ -133,6 +134,7 @@ import static org.apache.sis.internal.ut
     org.apache.sis.referencing.datum.DefaultPrimeMeridian.class,
     org.apache.sis.referencing.cs.AbstractCS.class
 })
+@UseLegacyMetadata
 public class AbstractIdentifiedObject extends FormattableObject implements 
IdentifiedObject,
         LenientComparable, Deprecable, Serializable
 {

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -213,7 +213,7 @@ public final strictfp class AbstractIden
         final AbstractIdentifiedObject o2 = new 
AbstractIdentifiedObject(properties);
         final AbstractIdentifiedObject o3 = new 
AbstractIdentifiedObject(properties);
         final AbstractIdentifiedObject o4 = new 
AbstractIdentifiedObject(properties);
-        final Context context = new Context(0, null, null, null, null, null, 
null, null);
+        final Context context = new Context(0, null, null, null, null, null, 
null, null, null);
         try {
             final String c1, c2, c3, c4;
             assertEquals("o1", "epsg-7019", c1 = o1.getID());

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -486,7 +486,7 @@ public final strictfp class DefaultProje
          * Test marshalling and compare with the original file. The comparison 
ignores the <gml:name> nodes because the
          * marshalled CRS contains many operation method and parameter aliases 
which were not in the original XML file.
          */
-        assertMarshalEqualsFile(XML_FILE, crs, STRICT, new String[] 
{"gml:name"},
+        assertMarshalEqualsFile(XML_FILE, crs, null, STRICT, new String[] 
{"gml:name"},
                 new String[] {"xmlns:*", "xsi:schemaLocation", "gml:id"});
     }
 

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultEllipsoidTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -232,7 +232,7 @@ public final strictfp class DefaultEllip
         /*
          * Marshall and compare to the original file.
          */
-        assertMarshalEqualsFile(ELLIPSOID_FILE, ellipsoid, "xlmns:*", 
"xsi:schemaLocation");
+        assertMarshalEqualsFile(ELLIPSOID_FILE, ellipsoid, "xmlns:*", 
"xsi:schemaLocation");
     }
 
     /**
@@ -258,6 +258,6 @@ public final strictfp class DefaultEllip
         /*
          * Marshall and compare to the original file.
          */
-        assertMarshalEqualsFile(SPHERE_FILE, ellipsoid, "xlmns:*", 
"xsi:schemaLocation");
+        assertMarshalEqualsFile(SPHERE_FILE, ellipsoid, "xmlns:*", 
"xsi:schemaLocation");
     }
 }

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -100,7 +100,7 @@ public final strictfp class DefaultTempo
     @Test
     public void testMarshalling() throws JAXBException {
         final DefaultTemporalDatum datum = create();
-        assertMarshalEqualsFile(XML_FILE, datum, "xlmns:*", 
"xsi:schemaLocation");
+        assertMarshalEqualsFile(XML_FILE, datum, "xmlns:*", 
"xsi:schemaLocation");
     }
 
     /**

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/MetadataTest.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -60,6 +60,7 @@ import org.apache.sis.referencing.cs.Def
 import org.apache.sis.referencing.cs.DefaultVerticalCS;
 import org.apache.sis.referencing.crs.DefaultVerticalCRS;
 import org.apache.sis.internal.jaxb.metadata.replace.ReferenceSystemMetadata;
+import org.apache.sis.internal.jaxb.LegacyNamespaces;
 import org.apache.sis.internal.jaxb.gmx.Anchor;
 import org.apache.sis.internal.system.Loggers;
 import org.apache.sis.referencing.NamedIdentifier;
@@ -70,6 +71,7 @@ import org.apache.sis.xml.MarshallerPool
 import org.apache.sis.xml.IdentifierSpace;
 import org.apache.sis.xml.NilObject;
 import org.apache.sis.xml.NilReason;
+import org.apache.sis.xml.XML;
 
 import static java.util.Collections.singleton;
 import static java.util.Collections.singletonMap;
@@ -86,6 +88,7 @@ import org.junit.Test;
 
 import static org.apache.sis.test.Assert.*;
 import static org.apache.sis.test.TestUtilities.getSingleton;
+import static org.apache.sis.metadata.iso.DefaultMetadataTest.REGRESSION;
 
 
 /**
@@ -94,7 +97,7 @@ import static org.apache.sis.test.TestUt
  *
  * @author  Guilhem Legal (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.0
  *
  * @see org.apache.sis.metadata.iso.DefaultMetadataTest
  *
@@ -292,6 +295,13 @@ public strictfp class MetadataTest exten
                         new DefaultVerticalExtent(Double.NaN, Double.NaN, 
vcrs),
                         temporal)));
             }
+            /*
+             * Data identification / Environmental description and 
Supplemental information.
+             */
+            {
+                identification.setEnvironmentDescription (new 
SimpleInternationalString("Possibly cloudy."));
+                identification.setSupplementalInformation(new 
SimpleInternationalString("This metadata has been modified with dummy 
values."));
+            }
             metadata.setIdentificationInfo(singleton(identification));
         }
         /*
@@ -386,6 +396,7 @@ public strictfp class MetadataTest exten
         final MarshallerPool pool   = getMarshallerPool();
         final Marshaller     ms     = pool.acquireMarshaller();
         final StringWriter   writer = new StringWriter(25000);
+        ms.setProperty(XML.METADATA_VERSION, VERSION_2007);
         ms.marshal(createHardCoded(), writer);
         pool.recycle(ms);
         /*
@@ -395,9 +406,9 @@ public strictfp class MetadataTest exten
          * by the anchor version so we can compare the XML with the 
"Metadata.xml" file content.
          */
         final StringBuffer xml = writer.getBuffer();
-        replace(xml, "<gco:CharacterString>Common Data Index 
record</gco:CharacterString>",
+        replace(xml, "<gcol:CharacterString>Common Data Index 
record</gcol:CharacterString>",
                      "<gmx:Anchor xlink:href=\"SDN:L231:3:CDI\">Common Data 
Index record</gmx:Anchor>");
-        replace(xml, "<gco:CharacterString>EPSG:4326</gco:CharacterString>",
+        replace(xml, "<gcol:CharacterString>EPSG:4326</gcol:CharacterString>",
                      "<gmx:Anchor 
xlink:href=\"SDN:L101:2:4326\">EPSG:4326</gmx:Anchor>");
         /*
          * The <gmd:EX_TemporalExtent> block can not be marshalled yet, since 
it requires the sis-temporal module.
@@ -406,7 +417,7 @@ public strictfp class MetadataTest exten
          * and those values may change in future SIS version.
          */
         final XMLComparator comparator = new XMLComparator(getResource(), 
xml.toString());
-        comparator.ignoredNodes.add(Namespaces.GMD + ":temporalElement");
+        comparator.ignoredNodes.add(LegacyNamespaces.GMD + ":temporalElement");
         comparator.ignoredAttributes.add("http://www.w3.org/2000/xmlns:*";);
         comparator.ignoredAttributes.add(Namespaces.XSI + ":schemaLocation");
         comparator.ignoredAttributes.add(Namespaces.GML + ":id");
@@ -442,6 +453,10 @@ public strictfp class MetadataTest exten
         final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
         final DefaultMetadata metadata = (DefaultMetadata) 
unmarshaller.unmarshal(getResource());
         pool.recycle(unmarshaller);
+        if (REGRESSION) {
+            assertTrue("Maybe SIS-402 has been fixed and this anti-regression 
hack can be removed?",
+                       
metadata.getCharacterSets().add(StandardCharsets.UTF_8));
+        }
         final DefaultMetadata expected = createHardCoded();
         assertTrue(metadata.equals(expected, ComparisonMode.DEBUG));
         loggings.skipNextLogIfContains("sis-temporal");
@@ -455,6 +470,10 @@ public strictfp class MetadataTest exten
     @Test
     public void testMetadataWithVerticalCRS() throws JAXBException {
         final Metadata metadata = unmarshalFile(Metadata.class, 
VERTICAL_CRS_XML);
+        if (REGRESSION) {
+            assertTrue("Maybe SIS-402 has been fixed and this anti-regression 
hack can be removed?",
+                       
metadata.getCharacterSets().add(StandardCharsets.UTF_8));
+        }
         assertEquals("fileIdentifier", "20090901",                     
metadata.getMetadataIdentifier().getCode());
         assertEquals("language",       Locale.ENGLISH,                 
getSingleton(metadata.getLanguages()));
         assertEquals("characterSet",   StandardCharsets.UTF_8,         
getSingleton(metadata.getCharacterSets()));
@@ -551,7 +570,7 @@ public strictfp class MetadataTest exten
          *
          * Now marshal the object and compare with the original file.
          */
-        assertMarshalEqualsFile(VERTICAL_CRS_XML, metadata, "xmlns:*", 
"xsi:schemaLocation");
+        assertMarshalEqualsFile(VERTICAL_CRS_XML, metadata, VERSION_2007, 
"xmlns:*", "xsi:schemaLocation");
     }
 
     /**

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/resources/org/apache/sis/test/integration/Metadata.xml
 Sat Feb 24 16:13:58 2018
@@ -353,6 +353,9 @@
       <gmd:topicCategory>
         <gmd:MD_TopicCategoryCode>oceans</gmd:MD_TopicCategoryCode>
       </gmd:topicCategory>
+      <gmd:environmentDescription>
+        <gco:CharacterString>Possibly cloudy.</gco:CharacterString>
+      </gmd:environmentDescription>
       <gmd:extent>
         <gmd:EX_Extent>
           <gmd:geographicElement>
@@ -412,6 +415,9 @@
           </gmd:verticalElement>
         </gmd:EX_Extent>
       </gmd:extent>
+      <gmd:supplementalInformation>
+        <gco:CharacterString>This metadata has been modified with dummy 
values.</gco:CharacterString>
+      </gmd:supplementalInformation>
     </gmd:MD_DataIdentification>
   </gmd:identificationInfo>
   <gmd:contentInfo>

Modified: sis/branches/JDK8/core/sis-utility/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/pom.xml?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/pom.xml (original)
+++ sis/branches/JDK8/core/sis-utility/pom.xml Sat Feb 24 16:13:58 2018
@@ -87,6 +87,15 @@ Miscellaneous utilities.
       </roles>
     </contributor>
     <contributor>
+      <name>Cullen Rombach</name>
+      <organization>Image Matters</organization>
+      <organizationUrl>http://www.imagemattersllc.com</organizationUrl>
+      <timezone>-5</timezone>
+      <roles>
+        <role>developer</role>
+      </roles>
+    </contributor>
+    <contributor>
       <name>Guilhem Legal</name>
       <email>[email protected]</email>
       <organization>Geomatys</organization>

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -50,7 +50,8 @@ import org.apache.sis.xml.ReferenceResol
  * if no (un)marshalling is in progress.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -59,40 +60,46 @@ public final class Context extends Marsh
      * The bit flag telling if a marshalling process is under progress.
      * This flag is unset for unmarshalling processes.
      */
-    public static final int MARSHALLING = 1;
+    public static final int MARSHALLING = 0x1;
 
     /**
      * The bit flag for enabling substitution of language codes by character 
strings.
      *
      * @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
      */
-    public static final int SUBSTITUTE_LANGUAGE = 2;
+    public static final int SUBSTITUTE_LANGUAGE = 0x2;
 
     /**
      * The bit flag for enabling substitution of country codes by character 
strings.
      *
      * @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
      */
-    public static final int SUBSTITUTE_COUNTRY = 4;
+    public static final int SUBSTITUTE_COUNTRY = 0x4;
 
     /**
      * The bit flag for enabling substitution of filenames by character 
strings.
      *
      * @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
      */
-    public static final int SUBSTITUTE_FILENAME = 8;
+    public static final int SUBSTITUTE_FILENAME = 0x8;
 
     /**
      * The bit flag for enabling substitution of mime types by character 
strings.
      *
      * @see org.apache.sis.xml.XML#STRING_SUBSTITUTES
      */
-    public static final int SUBSTITUTE_MIMETYPE = 16;
+    public static final int SUBSTITUTE_MIMETYPE = 0x10;
+
+    /**
+     * Whether we are (un)marshalling legacy metadata as defined in 2003 model 
(ISO 19139:2007).
+     * If this flag is not set, then we assume latest metadata as defined in 
2014 model (ISO 19115-3).
+     */
+    public static final int LEGACY_METADATA = 0x20;
 
     /**
      * Bit where to store whether {@link #finish()} shall invoke {@code 
Semaphores.clear(Semaphores.NULL_COLLECTION)}.
      */
-    private static final int CLEAR_SEMAPHORE = 32;
+    private static final int CLEAR_SEMAPHORE = 0x40;
 
     /**
      * The thread-local context. Elements are created in the constructor, and 
removed in a
@@ -109,7 +116,7 @@ public final class Context extends Marsh
     /**
      * Various boolean attributes determines by the above static constants.
      */
-    private int bitMasks;
+    final int bitMasks;
 
     /**
      * The locale to use for marshalling, or an empty queue if no locale were 
explicitly specified.
@@ -123,7 +130,7 @@ public final class Context extends Marsh
     private final TimeZone timezone;
 
     /**
-     * The base URL of ISO 19139 (or other standards) schemas. The valid values
+     * The base URL of ISO 19115-3 (or other standards) schemas. The valid 
values
      * are documented in the {@link org.apache.sis.xml.XML#SCHEMAS} property.
      */
     private final Map<String,String> schemas;
@@ -203,18 +210,25 @@ public final class Context extends Marsh
      * @param  timezone         the timezone, or {@code null} if unspecified.
      * @param  schemas          the schemas root URL, or {@code null} if none.
      * @param  versionGML       the GML version, or {@code null}.
+     * @param  versionMetadata  the metadata version, or {@code null}.
      * @param  resolver         the resolver in use.
      * @param  converter        the converter in use.
      * @param  warningListener  the object to inform about warnings.
      */
     @SuppressWarnings("ThisEscapedInObjectConstruction")
-    public Context(final int                bitMasks,
-                   final Locale             locale,   final TimeZone       
timezone,
-                   final Map<String,String> schemas,  final Version        
versionGML,
-                   final ReferenceResolver  resolver, final ValueConverter 
converter,
+    public Context(int                      bitMasks,
+                   final Locale             locale,
+                   final TimeZone           timezone,
+                   final Map<String,String> schemas,
+                   final Version            versionGML,
+                   final Version            versionMetadata,
+                   final ReferenceResolver  resolver,
+                   final ValueConverter     converter,
                    final WarningListener<?> warningListener)
     {
-        this.bitMasks          = bitMasks;
+        if (versionMetadata != null && 
versionMetadata.compareTo(LegacyNamespaces.VERSION_2014) < 0) {
+            bitMasks |= LEGACY_METADATA;
+        }
         this.locales           = new LinkedList<>();
         this.timezone          = timezone;
         this.schemas           = schemas;               // No clone, because 
this class is internal.
@@ -224,15 +238,21 @@ public final class Context extends Marsh
         this.warningListener   = warningListener;
         this.identifiers       = new HashMap<>();
         this.identifiedObjects = new IdentityHashMap<>();
-        if ((bitMasks & MARSHALLING) != 0) {
-            if (!Semaphores.queryAndSet(Semaphores.NULL_COLLECTION)) {
-                this.bitMasks |= CLEAR_SEMAPHORE;
-            }
-        }
         if (locale != null) {
             locales.add(locale);
         }
         previous = CURRENT.get();
+        if ((bitMasks & MARSHALLING) != 0) {
+            /*
+             * Set global semaphore last after our best effort to ensure that 
construction
+             * will not fail with an OutOfMemoryError. This is preferable for 
allowing the
+             * caller to invoke finish() in a finally block.
+             */
+            if (!Semaphores.queryAndSet(Semaphores.NULL_COLLECTION)) {
+                bitMasks |= CLEAR_SEMAPHORE;
+            }
+        }
+        this.bitMasks = bitMasks;
         CURRENT.set(this);
     }
 
@@ -264,10 +284,14 @@ public final class Context extends Marsh
      */
     @Override
     public final Version getVersion(final String prefix) {
-        if (prefix.equals("gml")) {
-            return versionGML;
+        switch (prefix) {
+            case "gml": return versionGML;
+            case "gmd": {
+                if ((bitMasks & MARSHALLING) == 0) break;   // If 
unmarshalling, we don't know the version.
+                return (bitMasks & LEGACY_METADATA) == 0 ? 
LegacyNamespaces.VERSION_2016 : LegacyNamespaces.VERSION_2007;
+            }
+            // Future SIS versions may add more cases here.
         }
-        // Future SIS versions may add more cases here.
         return null;
     }
 
@@ -347,7 +371,7 @@ public final class Context extends Marsh
 
     /**
      * Returns {@code true} if the GML version is equals or newer than the 
specified version.
-     * If no GML version were specified, then this method returns {@code 
true}, i.e. newest
+     * If no GML version was specified, then this method returns {@code true}, 
i.e. newest
      * version is assumed.
      *
      * <div class="note"><b>API note:</b>
@@ -370,7 +394,7 @@ public final class Context extends Marsh
     }
 
     /**
-     * Returns the base URL of ISO 19139 (or other standards) schemas.
+     * Returns the base URL of ISO 19115-3 (or other standards) schemas.
      * The valid values are documented in the {@link 
org.apache.sis.xml.XML#SCHEMAS} property.
      * If the returned value is not empty, then this method guarantees it ends 
with {@code '/'}.
      *

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -22,8 +22,9 @@ import org.apache.sis.util.Version;
 /**
  * Legacy XML namespaces, and {@link Version} constants for identifying when 
those namespaces were used.
  *
- * @author  Guilhem Legal (Geomatys)
- * @version 0.4
+ * @author  Guilhem Legal  (Geomatys)
+ * @author  Cullen Rombach (Image Matters)
+ * @version 1.0
  *
  * @see org.apache.sis.xml.Namespaces
  *
@@ -32,7 +33,14 @@ import org.apache.sis.util.Version;
  */
 public final class LegacyNamespaces {
     /**
-     * Miscellaneous version constants.
+     * Miscellaneous version constants used for ISO standards.
+     */
+    public static final Version VERSION_2007 = new Version("2007"),
+                                VERSION_2014 = new Version("2014"),
+                                VERSION_2016 = new Version("2016");
+
+    /**
+     * Miscellaneous version constants used for GML versions.
      */
     public static final Version VERSION_3_0 = new Version("3.0"),
                                 VERSION_3_2 = new Version("3.2");
@@ -52,24 +60,49 @@ public final class LegacyNamespaces {
     public static final String GML = "http://www.opengis.net/gml";;
 
     /**
-     * A non-public (un)marshaller property for controlling usage of {@code 
org.apache.sis.xml.FilteredNamespaces}.
-     * Values can be:
-     *
-     * <ul>
-     *   <li>{@link Boolean#FALSE} for disabling namespace replacements. XML 
(un)marshalling will use the namespaces URI
-     *       supported natively by SIS as declared in JAXB annotations. This 
is sometime useful for debugging purpose.</li>
-     *   <li>{@link Boolean#TRUE} for forcing namespace replacements at 
unmarshalling time. This is useful for reading a
-     *       XML document of unknown GML version.</li>
-     *   <li>{@code null} or missing for the default behavior, which is apply 
namespace replacements only if the
-     *       {@link org.apache.sis.xml.XML#GML_VERSION} property is set to an 
older value than the one supported
-     *       natively by SIS.</li>
-     * </ul>
-     *
-     * This property can be given to {@link org.apache.sis.xml.MarshallerPool} 
constructor, or set directly on
-     * a {@code Marshaller} or {@code Unmarshaller} instance created by {@code 
MarshallerPool} by invoking its
-     * {@code setProperty(String, Object)} method.
+     * The <code>{@value}</code> URL, used in ISO 19139:2007.
+     * The usual prefix for this namespace is {@code "gmd"}.
+     */
+    public static final String GMD = "http://www.isotc211.org/2005/gmd";;
+
+    /**
+     * The <code>{@value}</code> URL.
+     * The usual prefix for this namespace is {@code "gmi"}.
+     */
+    public static final String GMI = 
"http://standards.iso.org/iso/19115/-2/gmi/1.0";;
+
+    /**
+     * The <code>{@value}</code> URL, used in ISO 19139:2007.
+     * The usual prefix for this namespace is {@code "gmx"}.
+     */
+    public static final String GMX = "http://www.isotc211.org/2005/gmx";;
+
+    /**
+     * The <code>{@value}</code> URL, used in ISO 19139:2007.
+     * The usual prefix for this namespace is {@code "gco"}.
+     * Replaced by {@link org.apache.sis.xml.Namespaces#GCO}.
+     */
+    public static final String GCO = "http://www.isotc211.org/2005/gco";;
+
+    /**
+     * The <code>{@value}</code> URL, used in ISO 19139:2007.
+     * The usual prefix for this namespace is {@code "srv"}.
+     * Replaced by {@link org.apache.sis.xml.Namespaces#SRV}.
+     */
+    public static final String SRV = "http://www.isotc211.org/2005/srv";;
+
+    /**
+     * The <code>{@value}</code> URL, used in ISO 19110.
+     * The usual prefix for this namespace is {@code "gfc"}.
+     * Replaced by {@link org.apache.sis.xml.Namespaces#GFC}.
+     */
+    public static final String GFC = "http://www.isotc211.org/2005/gfc";;
+
+    /**
+     * The <code>{@value}</code> URL, used in ISO 19139:2007.
+     * The usual prefix for this namespace is {@code "gts"}.
      */
-    public static final String APPLY_NAMESPACE_REPLACEMENTS = 
"org.apache.sis.xml.applyNamespaceReplacements";
+    public static final String GTS = "http://www.isotc211.org/2005/gts";;
 
     /**
      * Do not allow instantiation of this class.

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java?rev=1825254&r1=1825253&r2=1825254&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
 [UTF-8] Sat Feb 24 16:13:58 2018
@@ -41,7 +41,7 @@ import org.apache.sis.xml.IdentifierSpac
  * <p>There is two kinds of non-marshalled identifiers:</p>
  *
  * <ul>
- *   <li>The XML attributes declared by ISO 19139 specification in the {@code 
gco:PropertyType}
+ *   <li>The XML attributes declared by ISO 19115-3 specification in the 
{@code gco:PropertyType}
  *       element: {@code gml:id}, {@code gco:uuid} and {@code xlink:href}. 
Those attributes are
  *       not part of the ISO 19115 specification. Those authorities are 
declared in the
  *       {@link IdentifierSpace} interfaces.</li>
@@ -109,7 +109,7 @@ public final class NonMarshalledAuthorit
 
     /**
      * Returns the first marshallable identifier from the given collection. 
This method omits
-     * "special" identifiers (ISO 19139 attributes, ISBN codes...), which are 
recognized by
+     * "special" identifiers (ISO 19115-3 attributes, ISBN codes...), which 
are recognized by
      * the implementation class of their authority.
      *
      * <p>This method is used for implementation of {@code getIdentifier()} 
methods (singular form)
@@ -132,9 +132,8 @@ public final class NonMarshalledAuthorit
 
     /**
      * Sets the given identifier in the given collection. This method removes 
all identifiers
-     * that are not ISO 19139 identifiers before to adds the given one in the 
collection. This
-     * method is used when the given collection is expected to contains only 
one ISO 19115
-     * identifier.
+     * that are not ISO 19115-3 identifiers before to adds the given one in 
the collection.
+     * This method is used when the given collection is expected to contains 
only one ISO 19115-1 identifier.
      *
      * <p>This method is used for implementation of {@code 
setIdentifier(Identifier)} methods
      * in public metadata objects.</p>


Reply via email to