# Package org.apache.sis.metadata.iso

Root package for ISO 19115 metadata about resources (data or services). An explanation for this package is provided in the OpenGIS® javadoc. The remaining discussion on this page is specific to the SIS implementation.
Overview
For a global overview of metadata in SIS, see the `org​.apache​.sis​.metadata` package javadoc. For some explanation about how to use various ISO 19115 elements for scientific dataset, the NOAA wiki page is a good source of information.

Package overview
Class hierarchy | Aggregation hierarchy
--- | ---
ISO 19115 metadata `├─` Metadata `├─` Metadata scope `├─` Portrayal catalogue reference `├─` Application schema information `├─` Metadata extension information `├─` Extended element information `└─` Identifier Code list `├─` Data type `└─` Obligation | Metadata `├─` Metadata scope `├─` Portrayal catalogue reference `├─` Application schema information `├─` Metadata extension information `│ └─` Extended element information `│ ├─` Data type «code list» `│ └─` Obligation «code list» `└─` Identifier

Localization
When a metadata object is marshalled as an ISO 19115-3 compliant XML document, the marshaller `LOCALE` property will be used for the localization of every `InternationalString` and `CodeList` instances, except if the object to be marshalled is an instance of `DefaultMetadata`, in which case the value given to the `setLanguage(Locale)` method will have precedence. The later behavior is compliant with INSPIRE rules.
Null values, nil objects and collections
All constructors and setter methods accept `null` arguments. A null argument value means that the metadata element can not be provided, and the reason for that is unspecified. Alternatively, users can specify why a metadata element is missing by providing a value created by `NilReason​.createNilObject(Class)`.

Unless otherwise noted in the Javadoc, all getter methods may return an empty collection, an empty array or `null` if the type is neither a collection or an array. Note that non-null values may be `NilObject`s.

Unless the metadata object has been marked as unmodifiable and unless otherwise noted in the Javadoc, all collections returned by getter methods are live: adding new elements in the collection modify directly the underlying metadata object.

Since:
  0.3

Defined in the `sis-metadata` module

- Class Summary
  Class | Description
  --- | ---
  DefaultApplicationSchemaInformation | Information about the application schema used to build the dataset.
  DefaultExtendedElementInformation | New metadata element, not found in ISO 19115, which is required to describe geographic data.
  DefaultIdentifier | Value uniquely identifying an object within a namespace.
  DefaultMetadata | Root entity which defines metadata about a resource or resources.
  DefaultMetadataExtensionInformation | Information describing metadata extensions.
  DefaultMetadataScope | Information about the scope of the resource.
  DefaultPortrayalCatalogueReference | Information identifying the portrayal catalogue used.
  ImmutableIdentifier | Deprecated. Moved to `org​.apache​.sis​.referencing` for anticipation with Jigsaw modules.
  ISOMetadata | The base class of ISO 19115 implementation classes.