Author: desruisseaux
Date: Tue Feb 27 15:48:05 2018
New Revision: 1825465

URL: http://svn.apache.org/viewvc?rev=1825465&view=rev
Log:
Move XML support from sis-utility module to sis-metadata.
https://issues.apache.org/jira/browse/SIS-406

Added:
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/AdapterReplacement.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/AdapterReplacement.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Context.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Context.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/FilterByVersion.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/FilterByVersion.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java
      - copied, changed from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/LegacyNamespaces.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/ModifiableIdentifierMap.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/ModifiableIdentifierMap.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/PrimitiveTypeProperties.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/PrimitiveTypeProperties.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/Schemas.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/Schemas.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
      - copied, changed from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/TypeRegistration.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/TypeRegistration.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/UseLegacyMetadata.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/UseLegacyMetadata.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/XmlUtilities.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gco/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gmd/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gmd/
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gml/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/gmx/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gmx/
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/package-info.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/package-info.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
      - copied, changed from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleExtent.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleExtent.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleFormat.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleFormat.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
      - copied, changed from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleMetadata.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleMetadata.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/package-info.java
      - copied, changed from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/
      - copied from r1825357, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/
    sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/xml/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/xml/
    sis/branches/JDK8/core/sis-metadata/src/main/resources/org/apache/sis/xml/
    
sis/branches/JDK8/core/sis-metadata/src/main/resources/org/apache/sis/xml/RenameOnExport.lst
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/resources/org/apache/sis/xml/RenameOnExport.lst
    
sis/branches/JDK8/core/sis-metadata/src/main/resources/org/apache/sis/xml/RenameOnImport.lst
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/resources/org/apache/sis/xml/RenameOnImport.lst
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/IdentifierMapAdapterTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/IdentifierMapAdapterTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/ModifiableIdentifierMapTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/ModifiableIdentifierMapTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/XmlUtilitiesTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/XmlUtilitiesTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gco/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/gco/
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gmd/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/gmd/
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gml/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/gml/
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/simple/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/simple/
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/test/
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/test/XMLComparatorTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/test/XMLComparatorTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/XMLComparator.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLComparator.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/XMLTestCase.java
      - copied, changed from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
    sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/mock/
      - copied from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/mock/
    sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/
    sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/
      - copied from r1825357, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/LegacyCodesTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/LegacyCodesTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/MarshallerPoolTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/MarshallerPoolTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/NamespacesTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/NamespacesTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/NilReasonTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/NilReasonTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/ReferenceResolverMock.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/ReferenceResolverMock.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/TransformingNamespacesTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/TransformingNamespacesTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/ValueConverterTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/ValueConverterTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkTest.java
      - copied unchanged from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/XLinkTest.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/CodeLists.java
      - copied, changed from r1825357, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/CodeListFilter.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationMock.java
      - copied, changed from r1825357, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/LargeCodeList.java
      - copied, changed from r1825357, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/LargeCodeList.java
Removed:
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/AbstractInternationalString.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/CodeListFilter.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultInternationalString.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/ResourceInternationalString.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/SimpleInternationalString.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/DefaultInternationalStringTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/LargeCodeList.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/SimpleInternationalStringTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/package-info.txt
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleAttributeType.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleExtent.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleFormat.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleMetadata.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/AbstractFactory.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/AbstractName.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/CodeListFilter.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultMemberName.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameFactory.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultRecord.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultRecordSchema.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultRecordType.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultScopedName.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultTypeName.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/GlobalNameSpace.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/Names.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/RecordDefinition.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/TypeNames.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/Types.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/iso/package-info.java
    sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/xml/
    sis/branches/JDK8/core/sis-utility/src/main/resources/org/apache/sis/xml/
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/jaxb/
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/simple/
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/test/XMLComparatorTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLComparator.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
    sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/mock/
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/DefaultLocalNameTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/DefaultNameFactoryTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/DefaultRecordSchemaTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/DefaultRecordTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/DefaultRecordTypeTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/DefaultScopedNameTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/LargeCodeList.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/NamesTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/SerializableRecordSchema.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/TypeNamesTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/iso/TypesTest.java
    sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/xml/
Modified:
    sis/branches/JDK8/core/sis-metadata/pom.xml
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/package-info.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gmd/LanguageCodeTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gml/TimePeriodTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraintsTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/DefaultExtentTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFractionTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultResolutionTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/lineage/DefaultLineageTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/CharSequenceSubstitutionTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/FreeTextMarshallingTest.java
    
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/XLinkMarshallingTest.java
    
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
    sis/branches/JDK8/core/sis-utility/pom.xml
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/io/IdentifiedObjectFormat.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/math/Statistics.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/CodeListSet.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TableColumn.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/collection/TreeTableFormat.java
    
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/IndexedResourceBundle.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/internal/util/LocalizedParseExceptionTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/VersionTest.java
    
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/util/collection/CodeListSetTest.java
    sis/branches/JDK8/ide-project/NetBeans/build.xml
    sis/branches/JDK8/storage/sis-xmlstore/pom.xml
    
sis/branches/JDK8/storage/sis-xmlstore/src/test/java/org/apache/sis/internal/storage/gpx/WriterTest.java

Modified: sis/branches/JDK8/core/sis-metadata/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/pom.xml?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/pom.xml (original)
+++ sis/branches/JDK8/core/sis-metadata/pom.xml Tue Feb 27 15:48:05 2018
@@ -147,6 +147,14 @@ Implementations of metadata derived from
       <version>${project.version}</version>
     </dependency>
 
+    <!-- Allows compiler to use a JAXB class which should exist on the JVM. -->
+    <dependency>
+      <groupId>com.googlecode.jaxb-namespaceprefixmapper-interfaces</groupId>
+      <artifactId>JAXBNamespacePrefixMapper</artifactId>
+      <version>2.2.4</version>
+      <scope>provided</scope>
+    </dependency>
+
     <!-- Test dependencies -->
     <dependency>
       <groupId>org.apache.sis.core</groupId>

Copied: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java
 (from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java&r1=1825464&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/IdentifierMapEntry.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -19,7 +19,7 @@ package org.apache.sis.internal.jaxb;
 import java.util.AbstractMap;
 import org.opengis.metadata.Identifier;
 import org.opengis.metadata.citation.Citation;
-import org.apache.sis.internal.util.Citations;
+import org.apache.sis.metadata.iso.citation.Citations;
 
 // Branch-dependent imports
 import org.opengis.util.InternationalString;

Copied: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
 (from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java&r1=1825464&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -29,7 +29,7 @@ import org.apache.sis.xml.IdentifierSpac
 import org.apache.sis.xml.ValueConverter;
 import org.apache.sis.util.Debug;
 import org.apache.sis.util.resources.Messages;
-import org.apache.sis.internal.util.Citations;
+import org.apache.sis.metadata.iso.citation.Citations;
 
 // Branch-dependent imports
 import org.opengis.metadata.Identifier;
@@ -279,7 +279,7 @@ public final class SpecializedIdentifier
      * Formats the given (authority, code) par value in the given buffer.
      */
     static void format(final StringBuilder buffer, final Citation authority, 
final String code) {
-        buffer.append(Citations.getIdentifier(authority, false)).append('=');
+        buffer.append(Citations.getIdentifier(authority)).append('=');
         final boolean quote = (code != null) && (code.indexOf('[') < 0);
         if (quote) buffer.append('“');
         buffer.append(code);

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -27,7 +27,7 @@ import org.opengis.metadata.citation.Rol
 import org.opengis.metadata.citation.Citation;
 import org.opengis.metadata.citation.PresentationForm;
 import org.opengis.metadata.citation.Responsibility;
-import org.apache.sis.internal.simple.CitationConstant;
+import org.opengis.util.ControlledVocabulary;
 import org.apache.sis.internal.util.Constants;
 import org.apache.sis.internal.util.MetadataServices;
 import org.apache.sis.internal.metadata.sql.Initializer;
@@ -73,15 +73,17 @@ public final class ServicesForUtility ex
     }
 
     /**
-     * Returns the constant defined in the {@link Citations} class for the 
given name.
+     * Returns the title of the given enumeration or code list value.
      *
-     * @param  name  the name of one of the citation constants defined in the 
{@code Citations} class.
-     * @return the requested citation, or {@code null} if there is no constant 
for the given name.
+     * @param  code    the code for which to get the title.
+     * @param  locale  desired locale for the title.
+     * @return the title.
+     *
+     * @see org.apache.sis.util.iso.Types#getCodeTitle(ControlledVocabulary)
      */
     @Override
-    public CitationConstant getCitationConstant(final String name) {
-        final Citation c = Citations.fromName(name);
-        return (c instanceof CitationConstant) ? (CitationConstant) c : null;
+    public String getCodeTitle(final ControlledVocabulary code, final Locale 
locale) {
+        return Types.getCodeTitle(code).toString(locale);
     }
 
     /**
@@ -95,8 +97,7 @@ public final class ServicesForUtility ex
      *       need to make sure that the given key is present in the alternate 
titles, since we rely on that when
      *       checking for code spaces.
      */
-    @Override
-    public Citation createCitation(final String key) {
+    public static Citation createCitation(final String key) {
         CharSequence     title;
         CharSequence     alternateTitle        = null;
         CharSequence     edition               = null;
@@ -194,7 +195,7 @@ public final class ServicesForUtility ex
                 title = "S-57";
                 break;
             }
-            default: return super.createCitation(key);
+            default: return null;
         }
         /*
          * Do not use the 'c.getFoo().add(foo)' pattern below. Use the 
'c.setFoo(singleton(foo))' pattern instead.

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/package-info.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/package-info.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/package-info.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/package-info.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -24,7 +24,7 @@
  * may change in incompatible ways in any future version without notice.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @version 1.0
  * @since   0.3
  * @module
  */

Copied: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
 (from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/CitationConstant.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/CitationConstant.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java&r1=1825464&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -30,7 +30,8 @@ import org.opengis.metadata.identificati
 import org.opengis.util.InternationalString;
 import org.apache.sis.util.Debug;
 import org.apache.sis.xml.IdentifierSpace;
-import org.apache.sis.internal.util.MetadataServices;
+import org.apache.sis.metadata.iso.citation.Citations;
+import org.apache.sis.internal.metadata.ServicesForUtility;
 
 
 /**
@@ -40,7 +41,7 @@ import org.apache.sis.internal.util.Meta
  * is available, then that simple primary key will be used as the citation 
title.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @version 1.0
  *
  * @see IdentifierSpace
  * @see org.apache.sis.metadata.iso.citation.Citations
@@ -136,7 +137,7 @@ public class CitationConstant extends Si
             synchronized (this) {
                 c = delegate;
                 if (c == null) {
-                    c = MetadataServices.getInstance().createCitation(title);
+                    c = ServicesForUtility.createCitation(title);
                     if (c == null) {
                         /*
                          * 'sis-metadata' module not on the classpath (should 
be very rare)
@@ -179,15 +180,11 @@ public class CitationConstant extends Si
      * @throws ObjectStreamException never thrown.
      */
     protected Object readResolve() throws ObjectStreamException {
-        CitationConstant c = 
MetadataServices.getInstance().getCitationConstant(title);
-        if (c == null) {
-            /*
-             * Should happen only if the sis-metadata module is not on the 
classpath (should be rare)
-             * or if the Citation has been serialized on a more recent version 
of Apache SIS than the
-             * current version.
-             */
-            c = this;
-        }
-        return c;
+        final Citation c = Citations.fromName(title);
+        return (c instanceof CitationConstant) ? c : this;
+        /*
+         * Returns 'this' should happen only if the Citation has been 
serialized
+         * on a more recent version of Apache SIS than the current version.
+         */
     }
 }

Copied: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
 (from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java&r1=1825464&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -32,12 +32,9 @@ import static org.apache.sis.util.iso.De
 
 /**
  * An implementation of {@link Identifier} as a wrapper around a {@link 
Citation}.
- * {@code Identifier} is defined by the ISO 19115 standard and is implemented 
publicly
- * in the {@link org.apache.sis.metadata} package. This class is provided for 
codes that do
- * not depend on the {@code sis-metadata} module but still need a lightweight 
implementation.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.6
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -108,7 +105,7 @@ public class SimpleIdentifier implements
      */
     @Override
     public String getCodeSpace() {
-        return Citations.getCodeSpace(authority);
+        return 
org.apache.sis.metadata.iso.citation.Citations.getCodeSpace(authority);
     }
 
     /**

Copied: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/package-info.java
 (from r1825464, 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/package-info.java?p2=sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/package-info.java&p1=sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java&r1=1825464&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/simple/package-info.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/simple/package-info.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -25,7 +25,7 @@
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @author  Johann Sorel (Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.3
  * @module
  */

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -689,9 +689,9 @@ public final class Citations extends Sta
      *
      * @since 0.6
      */
-    @SuppressWarnings("deprecation")
     public static String getUnicodeIdentifier(final Citation citation) {
-        return 
org.apache.sis.internal.util.Citations.getUnicodeIdentifier(citation);
+        return 
org.apache.sis.internal.util.Citations.removeIgnorableCharacters(
+               org.apache.sis.internal.util.Citations.getIdentifier(citation, 
true));
     }
 
     /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java?rev=1825465&r1=1825357&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -55,7 +55,7 @@ import org.apache.sis.internal.jaxb.gco.
  * remain safe to call from multiple threads and do not change any public 
{@code LocalName} state.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 0.5
+ * @version 1.0
  *
  * @see DefaultNameSpace
  * @see DefaultScopedName

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java?rev=1825465&r1=1825357&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/DefaultNameSpace.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -72,7 +72,7 @@ public class DefaultNameSpace implements
      * The default separator, which is {@code ':'}. The separator is inserted 
between
      * the namespace and any {@linkplain GenericName generic name} in that 
namespace.
      */
-    public static final char DEFAULT_SEPARATOR = ':';
+    public static final char DEFAULT_SEPARATOR = 
org.apache.sis.internal.util.Citations.DEFAULT_SEPARATOR;
 
     /**
      * {@link #DEFAULT_SEPARATOR} as a {@link String}.

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java?rev=1825465&r1=1825357&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/Types.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -26,9 +26,6 @@ import java.util.MissingResourceExceptio
 import java.util.IllformedLocaleException;
 import java.io.IOException;
 import java.io.InputStream;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.UndeclaredThrowableException;
 import org.opengis.annotation.UML;
 import org.opengis.util.CodeList;
 import org.opengis.util.InternationalString;
@@ -40,6 +37,7 @@ import org.apache.sis.util.ArgumentCheck
 import org.apache.sis.util.logging.Logging;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.util.collection.BackingStoreException;
+import org.apache.sis.internal.util.CodeLists;
 import org.apache.sis.internal.system.Loggers;
 
 
@@ -76,7 +74,7 @@ import org.apache.sis.internal.system.Lo
  *   <gmi:MI_Instrument>
  *     <gmi:type>
  *       <gmi:MI_SensorTypeCode
- *           
codeList="http://navigator.eumetsat.int/metadata_schema/eum/resources/Codelist/eum_gmxCodelists.xml#CI_SensorTypeCode";
+ *           
codeList="http://standards.iso.org/…snip…/codelists.xml#CI_SensorTypeCode";
  *           codeListValue="RADIOMETER">Radiometer</gmi:MI_SensorTypeCode>
  *     </gmi:type>
  *   </gmi:MI_Instrument>
@@ -93,7 +91,7 @@ import org.apache.sis.internal.system.Lo
  * </ul>
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -440,7 +438,7 @@ public final class Types extends Static
          * @param  code  the code list for which to create a title.
          */
         CodeTitle(final ControlledVocabulary code) {
-            super("org.opengis.metadata.CodeLists", resourceKey(code));
+            super(CodeLists.RESOURCES, resourceKey(code));
             this.code = code;
         }
 
@@ -483,24 +481,8 @@ public final class Types extends Static
      *
      * @see Class#getEnumConstants()
      */
-    @SuppressWarnings("unchecked")
     public static <T extends ControlledVocabulary> T[] getCodeValues(final 
Class<T> codeType) {
-        Object values;
-        try {
-            values = codeType.getMethod("values", (Class<?>[]) 
null).invoke(null, (Object[]) null);
-        } catch (InvocationTargetException e) {
-            final Throwable cause = e.getCause();
-            if (cause instanceof RuntimeException) {
-                throw (RuntimeException) cause;
-            }
-            if (cause instanceof Error) {
-                throw (Error) cause;
-            }
-            throw new UndeclaredThrowableException(cause);
-        } catch (NoSuchMethodException | IllegalAccessException e) {
-            values = Array.newInstance(codeType, 0);
-        }
-        return (T[]) values;
+        return CodeLists.values(codeType);
     }
 
     /**
@@ -588,31 +570,7 @@ public final class Types extends Static
      * @since 0.5
      */
     public static <T extends Enum<T>> T forEnumName(final Class<T> enumType, 
String name) {
-        name = CharSequences.trimWhitespaces(name);
-        if (name != null && !name.isEmpty()) try {
-            return Enum.valueOf(enumType, name);
-        } catch (IllegalArgumentException e) {
-            final T[] values = enumType.getEnumConstants();
-            if (values == null) {
-                throw e;
-            }
-            if (values instanceof ControlledVocabulary[]) {
-                for (final ControlledVocabulary code : 
(ControlledVocabulary[]) values) {
-                    for (final String candidate : code.names()) {
-                        if (CodeListFilter.accept(candidate, name)) {
-                            return enumType.cast(code);
-                        }
-                    }
-                }
-            } else {
-                for (final Enum<?> code : values) {
-                    if (CodeListFilter.accept(code.name(), name)) {
-                        return enumType.cast(code);
-                    }
-                }
-            }
-        }
-        return null;
+        return CodeLists.forName(enumType, name);
     }
 
     /**
@@ -640,11 +598,7 @@ public final class Types extends Static
      * @see CodeList#valueOf(Class, String)
      */
     public static <T extends CodeList<T>> T forCodeName(final Class<T> 
codeType, String name, final boolean canCreate) {
-        name = CharSequences.trimWhitespaces(name);
-        if (name == null || name.isEmpty()) {
-            return null;
-        }
-        return CodeList.valueOf(codeType, new CodeListFilter(name, canCreate));
+        return CodeLists.forName(codeType, name, canCreate);
     }
 
     /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java?rev=1825465&r1=1825357&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/util/iso/package-info.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -107,7 +107,7 @@
  * </table>
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.3
  * @module
  */

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/CodeListMarshallingTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -36,7 +36,7 @@ import org.apache.sis.test.DependsOnMeth
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/code/EnumMarshallingTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -26,7 +26,7 @@ import org.apache.sis.xml.Namespaces;
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gmd/LanguageCodeTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gmd/LanguageCodeTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gmd/LanguageCodeTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gmd/LanguageCodeTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -34,7 +34,7 @@ import org.junit.BeforeClass;
 import org.junit.AfterClass;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 import static org.apache.sis.test.TestUtilities.getSingleton;
 import static org.apache.sis.internal.util.StandardDateFormat.UTC;
 

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gml/TimePeriodTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gml/TimePeriodTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gml/TimePeriodTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/gml/TimePeriodTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -33,7 +33,7 @@ import org.junit.BeforeClass;
 import org.junit.AfterClass;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 import static org.apache.sis.test.TestUtilities.date;
 import static org.apache.sis.test.TestUtilities.format;
 

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -24,7 +24,7 @@ import org.apache.sis.util.iso.Names;
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -16,7 +16,6 @@
  */
 package org.apache.sis.internal.simple;
 
-import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.TestCase;
 import org.junit.Test;
 
@@ -31,7 +30,6 @@ import static org.junit.Assert.*;
  * @since   0.3
  * @module
  */
-@DependsOn(org.apache.sis.internal.util.CitationsTest.class)
 public final strictfp class SimpleIdentifierTest extends TestCase {
     /**
      * Tests {@link SimpleIdentifier#toString()}.

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultResponsibilityTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -23,7 +23,7 @@ import org.apache.sis.internal.jaxb.Lega
 import org.junit.Test;
 
 import static java.util.Collections.singleton;
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraintsTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraintsTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraintsTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/constraint/DefaultLegalConstraintsTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -24,7 +24,7 @@ import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
 import static java.util.Collections.singleton;
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 import static org.apache.sis.test.TestUtilities.getSingleton;
 
 

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/DefaultExtentTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/DefaultExtentTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/DefaultExtentTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/DefaultExtentTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -29,7 +29,7 @@ import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOn;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 import static org.apache.sis.test.TestUtilities.date;
 
 

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultBrowseGraphicTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -33,7 +33,7 @@ import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOnMethod;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 import static java.util.Collections.singletonMap;
 
 

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFractionTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFractionTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFractionTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultRepresentativeFractionTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -25,7 +25,7 @@ import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOnMethod;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultResolutionTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultResolutionTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultResolutionTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/identification/DefaultResolutionTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -29,7 +29,7 @@ import org.junit.After;
 import org.junit.Rule;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/lineage/DefaultLineageTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/lineage/DefaultLineageTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/lineage/DefaultLineageTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/lineage/DefaultLineageTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -27,7 +27,7 @@ import org.apache.sis.test.TestUtilities
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/MetadataAssert.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -17,6 +17,9 @@
 package org.apache.sis.test;
 
 import java.util.Locale;
+import java.io.IOException;
+import org.xml.sax.SAXException;
+import javax.xml.parsers.ParserConfigurationException;
 import org.opengis.util.InternationalString;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.referencing.IdentifiedObject;
@@ -33,7 +36,7 @@ import org.opengis.metadata.citation.Res
  * from other modules and libraries.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.4
  * @module
  */
@@ -154,4 +157,100 @@ public strictfp class MetadataAssert ext
             }
         }
     }
+
+    /**
+     * Parses two XML trees as DOM documents, and compares the nodes.
+     * The inputs given to this method can be any of the following types:
+     *
+     * <ul>
+     *   <li>{@link org.w3c.dom.Node}: used directly without further 
processing.</li>
+     *   <li>{@link java.io.File}, {@link java.net.URL} or {@link 
java.net.URI}: the
+     *       stream is opened and parsed as a XML document.</li>
+     *   <li>{@link String}: The string content is parsed directly as a XML 
document.</li>
+     * </ul>
+     *
+     * The comparison will ignore comments and the optional attributes given 
in arguments.
+     *
+     * <div class="section">Ignored attributes substitution</div>
+     * For convenience, this method replaces some well known prefixes in the 
{@code ignoredAttributes}
+     * array by their full namespace URLs. For example this method 
replaces{@code "xsi:schemaLocation"}
+     * by {@code "http://www.w3.org/2001/XMLSchema-instance:schemaLocation"}.
+     * If such substitution is not desired, consider using {@link 
XMLComparator} directly instead.
+     *
+     * <p>The current substitution map is as below (may be expanded in any 
future SIS version):</p>
+     *
+     * <table class="sis">
+     *   <caption>Predefined prefix mapping</caption>
+     *   <tr><th>Prefix</th> <th>URL</th></tr>
+     *   <tr><td>xmlns</td>  <td>{@code 
"http://www.w3.org/2000/xmlns"}</td></tr>
+     *   <tr><td>xlink</td>  <td>{@value 
org.apache.sis.xml.Namespaces#XLINK}</td></tr>
+     *   <tr><td>xsi</td>    <td>{@value 
org.apache.sis.xml.Namespaces#XSI}</td></tr>
+     *   <tr><td>gml</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GML}</td></tr>
+     *   <tr><td>gmd</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GMD}</td></tr>
+     *   <tr><td>gmx</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GMX}</td></tr>
+     *   <tr><td>gmi</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GMI}</td></tr>
+     *   <tr><td>gco</td>    <td>{@value 
org.apache.sis.xml.Namespaces#GCO}</td></tr>
+     * </table>
+     *
+     * <p>For example in order to ignore the namespace, type and schema 
location declaration,
+     * the following strings can be given to the {@code ignoredAttributes} 
argument:</p>
+     *
+     * {@preformat text
+     *   "xmlns:*", "xsi:schemaLocation", "xsi:type"
+     * }
+     *
+     * @param  expected           the expected XML document.
+     * @param  actual             the XML document to compare.
+     * @param  ignoredAttributes  the fully-qualified names of attributes to 
ignore
+     *                            (typically {@code "xmlns:*"} and {@code 
"xsi:schemaLocation"}).
+     *
+     * @see XMLComparator
+     */
+    public static void assertXmlEquals(final Object expected, final Object 
actual, final String... ignoredAttributes) {
+        assertXmlEquals(expected, actual, TestCase.STRICT, null, 
ignoredAttributes);
+    }
+
+    /**
+     * Parses two XML trees as DOM documents, and compares the nodes with the 
given tolerance
+     * threshold for numerical values. The inputs given to this method can be 
any of the types
+     * documented {@linkplain #assertXmlEquals(Object, Object, String[]) 
above}. This method
+     * will ignore comments and the optional attributes given in arguments as 
documented in the
+     * above method.
+     *
+     * @param  expected           the expected XML document.
+     * @param  actual             the XML document to compare.
+     * @param  tolerance          the tolerance threshold for comparison of 
numerical values.
+     * @param  ignoredNodes       the fully-qualified names of the nodes to 
ignore, or {@code null} if none.
+     * @param  ignoredAttributes  the fully-qualified names of attributes to 
ignore
+     *                            (typically {@code "xmlns:*"} and {@code 
"xsi:schemaLocation"}).
+     *
+     * @see XMLComparator
+     */
+    public static void assertXmlEquals(final Object expected, final Object 
actual,
+            final double tolerance, final String[] ignoredNodes, final 
String[] ignoredAttributes)
+    {
+        final XMLComparator comparator;
+        try {
+            comparator = new XMLComparator(expected, actual);
+        } catch (IOException | ParserConfigurationException | SAXException e) {
+            // We don't throw directly those exceptions since failing to parse 
the XML file can
+            // be considered as part of test failures and the JUnit exception 
for such failures
+            // is AssertionError. Having no checked exception in "assert" 
methods allow us to
+            // declare the checked exceptions only for the library code being 
tested.
+            throw new AssertionError(e);
+        }
+        comparator.tolerance = tolerance;
+        comparator.ignoreComments = true;
+        if (ignoredNodes != null) {
+            for (final String node : ignoredNodes) {
+                
comparator.ignoredNodes.add(XMLComparator.substitutePrefix(node));
+            }
+        }
+        if (ignoredAttributes != null) {
+            for (final String attribute : ignoredAttributes) {
+                
comparator.ignoredAttributes.add(XMLComparator.substitutePrefix(attribute));
+            }
+        }
+        comparator.compare();
+    }
 }

Copied: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/XMLTestCase.java
 (from r1825464, 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java)
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/XMLTestCase.java?p2=sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/XMLTestCase.java&p1=sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java&r1=1825464&r2=1825465&rev=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/test/java/org/apache/sis/test/XMLTestCase.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/XMLTestCase.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -40,7 +40,7 @@ import org.apache.sis.xml.MarshallerPool
 import org.apache.sis.xml.XML;
 import org.junit.After;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -25,7 +25,7 @@ import org.junit.BeforeClass;
  * All tests from the {@code sis-metadata} module, in approximative dependency 
order.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.8
+ * @version 1.0
  * @since   0.3
  * @module
  */
@@ -56,6 +56,24 @@ import org.junit.BeforeClass;
     org.apache.sis.internal.metadata.MergerTest.class,
 
     // XML marshalling.
+    org.apache.sis.internal.test.XMLComparatorTest.class,
+    org.apache.sis.xml.NamespacesTest.class,
+    org.apache.sis.xml.XLinkTest.class,
+    org.apache.sis.xml.NilReasonTest.class,
+    org.apache.sis.xml.LegacyCodesTest.class,
+    org.apache.sis.xml.ValueConverterTest.class,
+    org.apache.sis.xml.OGCNamespacePrefixMapperTest.class,
+    org.apache.sis.xml.MarshallerPoolTest.class,
+    org.apache.sis.xml.TransformingNamespacesTest.class,
+    org.apache.sis.internal.jaxb.XmlUtilitiesTest.class,
+    org.apache.sis.internal.jaxb.IdentifierMapAdapterTest.class,
+    org.apache.sis.internal.jaxb.ModifiableIdentifierMapTest.class,
+    org.apache.sis.internal.jaxb.gco.StringAdapterTest.class,
+    org.apache.sis.internal.jaxb.gco.PropertyTypeTest.class,
+    org.apache.sis.internal.jaxb.gmd.EnumAdapterTest.class,
+    org.apache.sis.internal.jaxb.gmd.LanguageCodeTest.class,
+    org.apache.sis.internal.jaxb.gml.TimePeriodTest.class,
+    org.apache.sis.internal.jaxb.gml.MeasureTest.class,
     org.apache.sis.internal.jaxb.code.EnumMarshallingTest.class,
     org.apache.sis.internal.jaxb.code.CodeListMarshallingTest.class,
     org.apache.sis.internal.jaxb.code.PT_LocaleTest.class,
@@ -65,6 +83,19 @@ import org.junit.BeforeClass;
     org.apache.sis.xml.UUIDMarshallingTest.class,
     org.apache.sis.xml.XLinkMarshallingTest.class,
 
+    // GeoAPI most basic types.
+    org.apache.sis.internal.simple.SimpleIdentifierTest.class,
+    org.apache.sis.util.iso.TypesTest.class,
+    org.apache.sis.util.iso.DefaultLocalNameTest.class,
+    org.apache.sis.util.iso.DefaultScopedNameTest.class,
+    org.apache.sis.util.iso.DefaultNameFactoryTest.class,
+    org.apache.sis.util.iso.NamesTest.class,
+    org.apache.sis.util.iso.TypeNamesTest.class,
+    org.apache.sis.util.iso.DefaultRecordTypeTest.class,
+    org.apache.sis.util.iso.DefaultRecordSchemaTest.class,
+    org.apache.sis.util.iso.DefaultRecordTest.class,
+    org.apache.sis.util.iso.NameMarshallingTest.class,
+
     // ISO implementations.
     org.apache.sis.metadata.iso.citation.DefaultContactTest.class,
     org.apache.sis.metadata.iso.citation.DefaultResponsibilityTest.class,

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java?rev=1825465&r1=1825357&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -37,7 +37,7 @@ import org.apache.sis.test.DependsOnMeth
 import org.junit.AfterClass;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/CharSequenceSubstitutionTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/CharSequenceSubstitutionTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/CharSequenceSubstitutionTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/xml/CharSequenceSubstitutionTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -29,7 +29,7 @@ import org.apache.sis.test.DependsOnMeth
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

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=1825465&r1=1825464&r2=1825465&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] Tue Feb 27 15:48:05 2018
@@ -23,7 +23,7 @@ import org.apache.sis.util.iso.DefaultIn
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

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=1825465&r1=1825464&r2=1825465&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] Tue Feb 27 15:48:05 2018
@@ -29,7 +29,7 @@ import org.apache.sis.test.DependsOn;
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 import static org.apache.sis.test.TestUtilities.getSingleton;
 
 

Modified: 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -23,7 +23,7 @@ import org.apache.sis.referencing.datum.
 import org.apache.sis.test.XMLTestCase;
 import org.junit.Test;
 
-import static org.apache.sis.test.Assert.*;
+import static org.apache.sis.test.MetadataAssert.*;
 
 
 /**

Modified: sis/branches/JDK8/core/sis-utility/pom.xml
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/pom.xml?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-utility/pom.xml (original)
+++ sis/branches/JDK8/core/sis-utility/pom.xml Tue Feb 27 15:48:05 2018
@@ -160,14 +160,6 @@ Miscellaneous utilities.
       <groupId>javax</groupId>
       <artifactId>javaee-api</artifactId>
     </dependency>
-
-    <!-- Allows compiler to use a JAXB class which should exist on the JVM. -->
-    <dependency>
-      <groupId>com.googlecode.jaxb-namespaceprefixmapper-interfaces</groupId>
-      <artifactId>JAXBNamespacePrefixMapper</artifactId>
-      <version>2.2.4</version>
-      <scope>provided</scope>
-    </dependency>
   </dependencies>
 
 </project>

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/converter/StringConverter.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -31,7 +31,7 @@ import org.apache.sis.util.CharSequences
 import org.apache.sis.util.ObjectConverter;
 import org.apache.sis.util.UnconvertibleObjectException;
 import org.apache.sis.util.iso.SimpleInternationalString;
-import org.apache.sis.util.iso.Types;
+import org.apache.sis.internal.util.CodeLists;
 import org.apache.sis.measure.Units;
 
 
@@ -354,7 +354,7 @@ abstract class StringConverter<T> extend
 
         /** Converts the given string to the target type of this converter. */
         @Override T doConvert(final String source) {
-            final T code = Types.forCodeName(targetClass, source, false);
+            final T code = CodeLists.forName(targetClass, source, false);
             if (code == null) {
                 throw new 
UnconvertibleObjectException(formatErrorMessage(source));
             }
@@ -386,7 +386,7 @@ abstract class StringConverter<T> extend
 
         /** Converts the given string to the target type of this converter. */
         @Override T doConvert(final String source) {
-            final T code = Types.forEnumName(targetClass, source);
+            final T code = CodeLists.forName(targetClass, source);
             if (code == null) {
                 throw new 
UnconvertibleObjectException(formatErrorMessage(source));
             }

Modified: 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java?rev=1825465&r1=1825464&r2=1825465&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
 [UTF-8] Tue Feb 27 15:48:05 2018
@@ -23,14 +23,11 @@ import java.util.Objects;
 import org.opengis.metadata.Identifier;
 import org.opengis.metadata.citation.Citation;
 import org.opengis.util.InternationalString;
-import org.apache.sis.xml.IdentifierSpace;
 import org.apache.sis.util.CharSequences;
 import org.apache.sis.util.Characters;
 import org.apache.sis.util.Deprecable;
 import org.apache.sis.util.Static;
 
-import static org.apache.sis.util.iso.DefaultNameSpace.DEFAULT_SEPARATOR;
-
 
 /**
  * Utility methods working on {@link Citation} objects. The public facade of 
those methods is
@@ -50,6 +47,14 @@ public final class Citations extends Sta
     }
 
     /**
+     * The default separator, which is {@code ':'}. The separator is inserted 
between
+     * the code space and the code in identifiers.
+     *
+     * @see org.apache.sis.util.iso.DefaultNameSpace#DEFAULT_SEPARATOR
+     */
+    public static final char DEFAULT_SEPARATOR = ':';
+
+    /**
      * Returns {@code true} if the given code is {@code "EPSG"} while the 
codespace is {@code "IOGP"} or {@code "OGP"}
      * (ignoring case). This particular combination of code and codespace is 
handled in a special way.
      *
@@ -373,6 +378,13 @@ public final class Citations extends Sta
      *       {@link 
org.apache.sis.metadata.iso.citation.Citations#getUnicodeIdentifier(Citation)}.</li>
      * </ul>
      *
+     * Use {@code getUnicodeIdentifier(…)} method when assigning values to be 
returned by methods like
+     * {@link Identifier#getCodeSpace()}, since those values are likely to be 
compared without special
+     * care about ignorable identifier characters. But if the intent is to 
format a more complex string
+     * like WKT or {@code toString()}, then we suggest to use {@code 
getIdentifier(citation, true)} instead,
+     * which will produce the same result but preserving the ignorable 
characters, which can be useful
+     * for formatting purpose.
+     *
      * @param  citation  the citation for which to get the identifier, or 
{@code null}.
      * @param  strict    {@code true} for returning a non-null value only if 
the identifier is a valid Unicode identifier.
      * @return a non-empty identifier for the given citation without leading 
or trailing whitespaces,
@@ -475,32 +487,6 @@ public final class Citations extends Sta
     }
 
     /**
-     * Infers a valid Unicode identifier from the given citation, or returns 
{@code null} if none.
-     * This method removes {@linkplain Character#isIdentifierIgnorable(int) 
ignorable characters}.
-     * See {@link 
org.apache.sis.metadata.iso.citation.Citations#getUnicodeIdentifier(Citation)}
-     * for the public documentation of this method.
-     *
-     * <div class="section">When to use</div>
-     * Use this method when assigning values to be returned by methods like 
{@link Identifier#getCodeSpace()},
-     * since those values are likely to be compared without special care about 
ignorable identifier characters.
-     * But if the intent is to format a more complex string like WKT or {@code 
toString()}, then we suggest to
-     * use {@code getIdentifier(citation, true)} instead, which will produce 
the same result but preserving the
-     * ignorable characters, which can be useful for formatting purpose.
-     *
-     * @param  citation  the citation for which to get the Unicode identifier, 
or {@code null}.
-     * @return a non-empty Unicode identifier for the given citation without 
leading or trailing whitespaces,
-     *         or {@code null} if the given citation is null or does not have 
any Unicode identifier or title.
-     *
-     * @since 0.6
-     *
-     * @deprecated Implementation will be moved to {@link 
org.apache.sis.metadata.iso.citation.Citations}
-     *             after we moved the {@code sis-utility} code that use this 
method.
-     */
-    public static String getUnicodeIdentifier(final Citation citation) {
-        return removeIgnorableCharacters(getIdentifier(citation, true));
-    }
-
-    /**
      * Removes characters that are ignorable according Unicode specification.
      *
      * @param  identifier  the character sequence from which to remove 
ignorable characters, or {@code null}.
@@ -547,34 +533,4 @@ public final class Citations extends Sta
         }
         return identifier;
     }
-
-    /**
-     * Infers a code space from the given citation, or returns {@code null} if 
none.
-     * This method is very close to {@link #getUnicodeIdentifier(Citation)}, 
except that it looks for
-     * {@link IdentifierSpace#getName()} before to scan the identifiers and 
titles. The result should
-     * be the same in most cases, except some cases like the {@link 
org.apache.sis.metadata.iso.citation.Citations}
-     * constant for {@code "Proj.4"} in which case this method returns {@code 
"Proj4"} instead of {@code null}.
-     * As a side effect, using this method also avoid constructing {@code 
DefaultCitation} objects which were deferred.
-     *
-     * <p>We do not put this method in public API for now because the actions 
performed by this method could be
-     * revisited in any future SIS version depending on the experience gained. 
However we should try to keep the
-     * behavior of this method close to the behavior of {@link 
#getUnicodeIdentifier(Citation)}, which is the
-     * method having a public facade.</p>
-     *
-     * @param  citation  the citation for which to infer the code space, or 
{@code null}.
-     * @return a non-empty code space for the given citation without leading 
or trailing whitespaces,
-     *         or {@code null} if the given citation is null or does not have 
any Unicode identifier or title.
-     *
-     * @since 0.6
-     *
-     * @deprecated Implementation will be moved to {@link 
org.apache.sis.metadata.iso.citation.Citations}
-     *             after we moved the {@code sis-utility} code that use this 
method.
-     */
-    public static String getCodeSpace(final Citation citation) {
-        if (citation instanceof IdentifierSpace<?>) {
-            return ((IdentifierSpace<?>) citation).getName();
-        } else {
-            return getUnicodeIdentifier(citation);
-        }
-    }
 }


Reply via email to