Author: desruisseaux
Date: Sat Apr 14 16:24:01 2018
New Revision: 1829150

URL: http://svn.apache.org/viewvc?rev=1829150&view=rev
Log:
Fix the way ExtendedElementInformation.maximumOccurrence and cit:Date are 
marshalled.
Add a few nilReason for missing properties in the metadata test file.

Modified:
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Context.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/MetadataUtilities.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2007/Metadata.xml
    
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2016/Metadata.xml

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Context.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Context.java?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Context.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Context.java
 [UTF-8] Sat Apr 14 16:24:01 2018
@@ -33,6 +33,7 @@ import org.apache.sis.util.logging.Warni
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.resources.Messages;
 import org.apache.sis.util.resources.IndexedResourceBundle;
+import org.apache.sis.util.CorruptedObjectException;
 import org.apache.sis.internal.jaxb.gco.PropertyType;
 import org.apache.sis.internal.system.Semaphores;
 import org.apache.sis.internal.system.Loggers;
@@ -508,8 +509,8 @@ public final class Context extends Marsh
     /**
      * Returns {@code true} if the given identifier is available, or {@code 
false} if it is used by another object.
      * If this method returns {@code true}, then the given identifier is 
associated to the given object for future
-     * invocation of {@code Context} method.  If this method returns {@code 
false}, then the caller is responsible
-     * for computing an other identifier candidate.
+     * invocation of {@code Context} methods. If this method returns {@code 
false}, then the caller is responsible
+     * for computing another identifier candidate.
      *
      * @param  context  the current context, or {@code null} if none.
      * @param  object   the object for which to assign the {@code gml:id}.
@@ -521,12 +522,11 @@ public final class Context extends Marsh
     public static boolean setObjectForID(final Context context, final Object 
object, final String id) {
         if (context != null) {
             final Object existing = context.identifiers.putIfAbsent(id, 
object);
-            if (existing == null) {
-                if (context.identifiedObjects.put(object, id) != null) {
-                    throw new AssertionError(id);   // Caller forgot to invoke 
getExistingID(context, object).
-                }
-            } else if (existing != object) {
-                return false;
+            if (existing != null) {
+                return existing == object;
+            }
+            if (context.identifiedObjects.put(object, id) != null) {
+                throw new CorruptedObjectException(id);    // Should never 
happen since all put calls are in this method.
             }
         }
         return true;

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
 [UTF-8] Sat Apr 14 16:24:01 2018
@@ -23,6 +23,7 @@ import javax.xml.bind.annotation.XmlSche
 import javax.xml.bind.annotation.adapters.XmlAdapter;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.datatype.DatatypeConstants;
 import org.apache.sis.internal.jaxb.Context;
 import org.apache.sis.internal.jaxb.XmlUtilities;
 
@@ -33,9 +34,21 @@ import org.apache.sis.internal.jaxb.XmlU
  * At marshalling time, the choice is performed depending on whatever the 
given date contains
  * hour, minute or seconds information different than zero.
  *
+ * <div class="section">Difference between ISO 19139:2007 and ISO 
19115-3:2016</div>
+ * The ISO {@code baseTypes.xsd} files define two kinds of date property:
+ * <ul>
+ *   <li>{@code gco:Date_PropertyType} accepts either {@code gco:Date} or 
{@code gco:DateTime}.</li>
+ *   <li>{@code gco:DateTime_PropertyType} accepts only {@code 
gco:DateTime}.</li>
+ * </ul>
+ *
+ * In the legacy standard (ISO 19139:2007), date properties (in particular in 
citations) were of type
+ * {@code Date_PropertyType}. But in the new standard (ISO 19115-3:2016), most 
date properties are of
+ * type {@code DateTime_PropertyType}, i.e. {@code gco:Date} is not legal 
anymore. The only exception
+ * is {@code versionDate} in {@code cat:AbstractCT_Catalogue}.
+ *
  * @author  Cédric Briançon (Geomatys)
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 1.0
  *
  * @see org.apache.sis.internal.jaxb.gml.DateAdapter
  * @see org.apache.sis.internal.jaxb.gml.UniversalTimeAdapter
@@ -76,9 +89,16 @@ public final class GO_DateTime extends X
         final Context context = Context.current();
         try {
             final XMLGregorianCalendar gc = XmlUtilities.toXML(context, date);
-            if (XmlUtilities.trimTime(gc, false)) {
-                this.date = gc;
+            if (Context.isFlagSet(context, Context.LEGACY_METADATA)) {
+                if (XmlUtilities.trimTime(gc, false)) {
+                    this.date = gc;
+                } else {
+                    dateTime = gc;
+                }
             } else {
+                if (gc.getMillisecond() == 0) {
+                    gc.setMillisecond(DatatypeConstants.FIELD_UNDEFINED);
+                }
                 dateTime = gc;
             }
         } catch (DatatypeConfigurationException e) {

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/MetadataUtilities.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/MetadataUtilities.java?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/MetadataUtilities.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/MetadataUtilities.java
 [UTF-8] Sat Apr 14 16:24:01 2018
@@ -34,6 +34,9 @@ import org.apache.sis.internal.util.Util
  * @version 0.8
  * @since   0.3
  * @module
+ *
+ * @todo Most methods in this class are related to (un)marshalling. We should 
rename as {@code MarshallingUtilities}
+ *       and move to a JAXB package after we removed the {@code 
toMilliseconds(…)} and {@code toDate(…)} methods.
  */
 public final class MetadataUtilities extends Static {
     /**
@@ -135,7 +138,7 @@ public final class MetadataUtilities ext
      *
      * @param  classe     the caller class, used only in case of warning 
message to log.
      * @param  property   the property name. Method name will be inferred by 
the usual Java bean convention.
-     * @param  key        a {@code Errors.Keys} value.
+     * @param  key        an {@code Errors.Keys} value.
      * @param  arguments  the argument to use for formatting the error message.
      * @return {@code null} if the message has been logged, or the message to 
put in an exception otherwise.
      */

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
 [UTF-8] Sat Apr 14 16:24:01 2018
@@ -31,6 +31,8 @@ import org.apache.sis.metadata.TitleProp
 import org.apache.sis.measure.ValueRange;
 import org.apache.sis.util.iso.Types;
 import org.apache.sis.xml.Namespaces;
+import org.apache.sis.xml.NilReason;
+import org.apache.sis.internal.jaxb.Context;
 import org.apache.sis.internal.jaxb.LegacyNamespaces;
 import org.apache.sis.internal.jaxb.FilterByVersion;
 import org.apache.sis.internal.metadata.Dependencies;
@@ -87,7 +89,7 @@ import static org.apache.sis.internal.me
     "obligation",
     "condition",
     "dataType",
-    "maximumOccurrence",
+    "maxOccurs",
     "domainValue",
     "parentEntity",
     "rule",
@@ -441,7 +443,7 @@ public class DefaultExtendedElementInfor
 
     /**
      * Maximum occurrence of the extended element.
-     * Returns {@code null} if it doesn't apply, for example if the
+     * Returns {@code null} if it does not apply, for example if the
      * {@linkplain #getDataType() data type} is {@linkplain 
Datatype#ENUMERATION enumeration},
      * {@linkplain Datatype#CODE_LIST code list} or {@linkplain 
Datatype#CODE_LIST_ELEMENT
      * code list element}.
@@ -450,7 +452,6 @@ public class DefaultExtendedElementInfor
      */
     @Override
     @ValueRange(minimum = 0)
-    @XmlElement(name = "maximumOccurrence")
     public Integer getMaximumOccurrence() {
         return maximumOccurrence;
     }
@@ -624,4 +625,56 @@ public class DefaultExtendedElementInfor
     public void setSources(final Collection<? extends Responsibility> 
newValues) {
         sources = writeCollection(newValues, sources, Responsibility.class);
     }
+
+
+
+
+    
//////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////                                                                   
               ////////
+    ////////                               XML support with JAXB               
               ////////
+    ////////                                                                   
               ////////
+    ////////        The following methods are invoked by JAXB using reflection 
(even if       ////////
+    ////////        they are private) or are helpers for other methods invoked 
by JAXB.       ////////
+    ////////        Those methods can be safely removed if Geographic Markup 
Language         ////////
+    ////////        (GML) support is not needed.                               
               ////////
+    ////////                                                                   
               ////////
+    
//////////////////////////////////////////////////////////////////////////////////////////////////
+
+    /**
+     * Returns the maximum occurrence as a string, since it is the way that 
ISO 19115 represents
+     * this information. This method is invoked by JAXB at marshalling time.
+     */
+    @XmlElement(name = "maximumOccurrence")
+    private String getMaxOccurs() {
+        final Integer value = getMaximumOccurrence();
+        if (value == null) {
+            return null;
+        }
+        final NilReason nil = NilReason.forObject(value);
+        if (nil != null) {
+            return nil.createNilObject(String.class);
+        }
+        return value.toString();
+    }
+
+    /**
+     * Sets the maximum occurrence from a string.
+     * This method is invoked by JAXB at unmarshalling time.
+     */
+    @SuppressWarnings("unused")
+    private void setMaxOccurs(final String value) {
+        if (value != null) {
+            final Integer n;
+            final NilReason nil = NilReason.forObject(value);
+            if (nil != null) {
+                n = nil.createNilObject(Integer.class);
+            } else try {
+                n = Integer.valueOf(value);
+            } catch (NumberFormatException e) {
+                Context.warningOccured(Context.current(), 
DefaultExtendedElementInformation.class, "setMaximumOccurrence", e, true);
+                return;
+            }
+            setMaximumOccurrence(n);
+        }
+    }
 }

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
 [UTF-8] Sat Apr 14 16:24:01 2018
@@ -42,6 +42,7 @@ import org.opengis.metadata.extent.*;
 import org.opengis.metadata.identification.*;
 import org.opengis.metadata.maintenance.*;
 import org.opengis.metadata.spatial.*;
+import org.opengis.geometry.primitive.Point;
 import org.apache.sis.metadata.iso.citation.*;
 import org.apache.sis.metadata.iso.constraint.*;
 import org.apache.sis.metadata.iso.content.*;
@@ -56,6 +57,7 @@ import org.apache.sis.util.iso.DefaultIn
 import org.apache.sis.util.logging.WarningListener;
 import org.apache.sis.measure.Units;
 import org.apache.sis.xml.XML;
+import org.apache.sis.xml.NilReason;
 import org.apache.sis.xml.MarshallerPool;
 import org.apache.sis.xml.IdentifierSpace;
 import org.apache.sis.internal.jaxb.gcx.Anchor;
@@ -270,6 +272,7 @@ public final class MarshallingTest exten
             georectified.setAxisDimensionProperties(Arrays.asList(rows, cols));
             georectified.setCellGeometry(CellGeometry.AREA);
             georectified.setPointInPixel(PixelOrientation.UPPER_RIGHT);
+            
georectified.getCornerPoints().add(NilReason.MISSING.createNilObject(Point.class));
             md.getSpatialRepresentationInfo().add(georectified);
         }
         {
@@ -320,6 +323,7 @@ public final class MarshallingTest exten
             
elementInfo.setParentEntity(Collections.singleton("VirtualObject"));
             elementInfo.setRule(new SimpleInternationalString("Element exists 
in cited resource."));
             elementInfo.setRationale(new SimpleInternationalString("For 
testing extended elements."));
+            
elementInfo.getSources().add(NilReason.valueOf("other:test").createNilObject(Responsibility.class));
             extension.getExtendedElementInformation().add(elementInfo);
             md.getMetadataExtensionInfo().add(extension);
         }

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2007/Metadata.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2007/Metadata.xml?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2007/Metadata.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2007/Metadata.xml
 Sat Apr 14 16:24:01 2018
@@ -89,7 +89,7 @@
                 <gco:CharacterString>A1A 2C2</gco:CharacterString>
               </gmd:postalCode>
               <gmd:country>
-                <gco:CharacterString>Atgmdtis isgmdd</gco:CharacterString>
+                <gco:CharacterString>Atlantis island</gco:CharacterString>
               </gmd:country>
               <gmd:electronicMailAddress>
                 <gco:CharacterString>t...@example.com</gco:CharacterString>
@@ -227,7 +227,7 @@
           <gmd:authority>
             <gmd:CI_Citation>
               <gmd:title>
-                <gco:CharacterString>Atgmdtis grid</gco:CharacterString>
+                <gco:CharacterString>Atlantis grid</gco:CharacterString>
               </gmd:title>
               <gmd:date>
                 <gmd:CI_Date>
@@ -242,7 +242,7 @@
               <gmd:citedResponsibleParty>
                 <gmd:CI_ResponsibleParty>
                   <gmd:organisationName>
-                    <gco:CharacterString>Atgmdtis national mapping 
agency</gco:CharacterString>
+                    <gco:CharacterString>Atlantis national mapping 
agency</gco:CharacterString>
                   </gmd:organisationName>
                   <gmd:role>
                     <gmd:CI_RoleCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#CI_RoleCode";
 codeListValue="publisher" codeSpace="eng">Publisher</gmd:CI_RoleCode>
@@ -291,7 +291,7 @@
             <gmd:MD_DatatypeCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_DatatypeCode";
 codeListValue="metaClass">Meta class</gmd:MD_DatatypeCode>
           </gmd:dataType>
           <gmd:maximumOccurrence>
-            <gco:Integer>3</gco:Integer>
+            <gco:CharacterString>3</gco:CharacterString>
           </gmd:maximumOccurrence>
           <gmd:domainValue>
             <gco:CharacterString>Alpha, beta or gamma.</gco:CharacterString>
@@ -305,6 +305,7 @@
           <gmd:rationale>
             <gco:CharacterString>For testing extended 
elements.</gco:CharacterString>
           </gmd:rationale>
+          <gmd:source gco:nilReason="other:test"></gmd:source>
         </gmd:MD_ExtendedElementInformation>
       </gmd:extendedElementInformation>
     </gmd:MD_MetadataExtensionInformation>
@@ -312,12 +313,12 @@
   <gmd:identificationInfo>
     <gmd:MD_DataIdentification>
       <gmd:citation>
-        <gmd:CI_Citation id="lost-isgmdd">
+        <gmd:CI_Citation id="lost-island">
           <gmd:title>
-            <gco:CharacterString>A lost isgmdd</gco:CharacterString>
+            <gco:CharacterString>A lost island</gco:CharacterString>
           </gmd:title>
           <gmd:alternateTitle>
-            <gco:CharacterString>Isgmdd lost again</gco:CharacterString>
+            <gco:CharacterString>Island lost again</gco:CharacterString>
           </gmd:alternateTitle>
           <gmd:alternateTitle>
             <gmx:Anchor xlink:href="http://map-example.com";>Map 
example</gmx:Anchor>
@@ -377,9 +378,9 @@
         <gmd:MD_TopicCategoryCode>society</gmd:MD_TopicCategoryCode>
       </gmd:topicCategory>
       <gmd:resourceMaintenance>
-        <gmd:MD_MaintenanceInformation id="not-pgmdned">
+        <gmd:MD_MaintenanceInformation id="not-planned">
           <gmd:maintenanceAndUpdateFrequency>
-            <gmd:MD_MaintenanceFrequencyCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode";
 codeListValue="notPgmdned" codeSpace="eng">Not 
pgmdned</gmd:MD_MaintenanceFrequencyCode>
+            <gmd:MD_MaintenanceFrequencyCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_MaintenanceFrequencyCode";
 codeListValue="notPlanned" codeSpace="eng">Not 
planned</gmd:MD_MaintenanceFrequencyCode>
           </gmd:maintenanceAndUpdateFrequency>
           <gmd:updateScope>
             <gmd:MD_ScopeCode 
codeList="http://schemas.opengis.net/iso/19139/20070417/resources/Codelist/gmxCodelists.xml#MD_ScopeCode";
 codeListValue="model" codeSpace="eng">Model</gmd:MD_ScopeCode>
@@ -510,11 +511,11 @@
   </gmd:identificationInfo>
   <gmd:identificationInfo>
     <srv:SV_ServiceIdentification>
-      <gmd:citation xlink:href="#lost-isgmdd"></gmd:citation>
+      <gmd:citation xlink:href="#lost-island"></gmd:citation>
       <gmd:abstract>
         <gco:CharacterString>An inspiration for story 
tellers.</gco:CharacterString>
       </gmd:abstract>
-      <gmd:resourceMaintenance 
xlink:href="#not-pgmdned"></gmd:resourceMaintenance>
+      <gmd:resourceMaintenance 
xlink:href="#not-planned"></gmd:resourceMaintenance>
       <gmd:descriptiveKeywords 
xlink:href="#greek-elements"></gmd:descriptiveKeywords>
       <gmd:resourceConstraints xlink:href="#public"></gmd:resourceConstraints>
       <gmd:aggregationInfo>
@@ -555,7 +556,7 @@
       </srv:containsOperations>
       <srv:operatesOn>
         <gmd:MD_DataIdentification>
-          <gmd:citation xlink:href="#lost-isgmdd"></gmd:citation>
+          <gmd:citation xlink:href="#lost-island"></gmd:citation>
           <gmd:abstract xsi:type="gmd:PT_FreeText_PropertyType">
             <gco:CharacterString>Metadata for an imaginary 
map.</gco:CharacterString>
             <gmd:PT_FreeText>
@@ -589,7 +590,7 @@
           <gmd:topicCategory>
             <gmd:MD_TopicCategoryCode>society</gmd:MD_TopicCategoryCode>
           </gmd:topicCategory>
-          <gmd:resourceMaintenance 
xlink:href="#not-pgmdned"></gmd:resourceMaintenance>
+          <gmd:resourceMaintenance 
xlink:href="#not-planned"></gmd:resourceMaintenance>
           <gmd:resourceFormat>
             <gmd:MD_Format>
               <gmd:name>

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2016/Metadata.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2016/Metadata.xml?rev=1829150&r1=1829149&r2=1829150&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2016/Metadata.xml
 (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/resources/org/apache/sis/metadata/xml/2016/Metadata.xml
 Sat Apr 14 16:24:01 2018
@@ -367,7 +367,7 @@
             <mex:MD_DatatypeCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#MD_DatatypeCode";
 codeListValue="metaClass">Meta class</mex:MD_DatatypeCode>
           </mex:dataType>
           <mex:maximumOccurrence>
-            <gco:Integer>3</gco:Integer>
+            <gco:CharacterString>3</gco:CharacterString>
           </mex:maximumOccurrence>
           <mex:domainValue>
             <gco:CharacterString>Alpha, beta or gamma.</gco:CharacterString>
@@ -381,6 +381,7 @@
           <mex:rationale>
             <gco:CharacterString>For testing extended 
elements.</gco:CharacterString>
           </mex:rationale>
+          <mex:source gco:nilReason="other:test"/>
         </mex:MD_ExtendedElementInformation>
       </mex:extendedElementInformation>
     </mex:MD_MetadataExtensionInformation>
@@ -401,7 +402,7 @@
           <cit:date>
             <cit:CI_Date>
               <cit:date>
-                <gco:Date>2018-04-09</gco:Date>
+                <gco:DateTime>2018-04-09T00:00:00.000+02:00</gco:DateTime>
               </cit:date>
               <cit:dateType>
                 <cit:CI_DateTypeCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_DateTypeCode";
 codeListValue="creation" codeSpace="eng">Creation</cit:CI_DateTypeCode>
@@ -412,7 +413,7 @@
             <gco:CharacterString>First edition</gco:CharacterString>
           </cit:edition>
           <cit:editionDate>
-            <gco:Date>2018-04-10</gco:Date>
+            <gco:DateTime>2018-04-10T00:00:00.000+02:00</gco:DateTime>
           </cit:editionDate>
         </cit:CI_Citation>
       </mri:citation>
@@ -486,7 +487,7 @@
           <mmi:maintenanceDate>
             <cit:CI_Date>
               <cit:date>
-                <gco:Date>3000-01-01</gco:Date>
+                <gco:DateTime>3000-01-01T00:00:00.000+01:00</gco:DateTime>
               </cit:date>
               <cit:dateType>
                 <cit:CI_DateTypeCode 
codeList="http://standards.iso.org/iso/19115/resources/Codelist/cat/codelists.xml#CI_DateTypeCode";
 codeListValue="revision" codeSpace="eng">Revision</cit:CI_DateTypeCode>
@@ -565,7 +566,7 @@
             <gco:CharacterString>For testing purpose 
only.</gco:CharacterString>
           </mri:specificUsage>
           <mri:usageDateTime>
-            <gco:DateTime>2018-04-10T14:00:00+02:00</gco:DateTime>
+            <gco:DateTime>2018-04-10T14:00:00.000+02:00</gco:DateTime>
           </mri:usageDateTime>
           <mri:userDeterminedLimitations>
             <gco:CharacterString>Not to be used outside MarshallingTest.java 
test file.</gco:CharacterString>
@@ -760,7 +761,7 @@
                 <gco:CharacterString>For testing purpose 
only.</gco:CharacterString>
               </mri:specificUsage>
               <mri:usageDateTime>
-                <gco:DateTime>2018-04-10T14:00:00+02:00</gco:DateTime>
+                <gco:DateTime>2018-04-10T14:00:00.000+02:00</gco:DateTime>
               </mri:usageDateTime>
               <mri:userDeterminedLimitations>
                 <gco:CharacterString>Not to be used outside 
MarshallingTest.java test file.</gco:CharacterString>


Reply via email to