ISO METADATA EDITOR V4.1 FAQ Main Page

1) Marco Boeringa wrote:
I noticed IME 4.1 incorrectly writes the "climatologyMeteorologyAtmosphere" enumeration to XML as the incorrect "climatology/meteorologyAtmosphere" string. The extra "/" character causes ISO 19139 validation errors. Actually, the "climatology/meteorologyAtmosphere" is also falsely displayed in the IME XML Editor, and hence inserted into the XML.

You're right. There is an error in the "codelists" File.
But, thanks to the possibility of editing the IME configuration files, you can correct it, until the new IME release will be published.

The main codelists are in...
Subdirectory: meta
Filename: codelist_iso19115_ingles.csv

Change, in line 277:
"climatology/meteorologyAtmosphere" by "climatologyMeteorologyAtmosphere".

IMPORTANT! If you are working with a PROFILE, it is needed to make the same change in the codelists file saved with every Profile:

Subdirectory: profiles
Filename: codelist_YOURPROFILENAME.csv

ALSO IMPORTANT!! Do a temporal copy of the original files before modify them. When you verify that IME open correctly the new Codelist files, you can delete these temporal copies.

 

2) Marco Boeringa wrote:
I noticed issues with inserting "dates" in IME. Despite writing a valid data in the format "YYYY-MM-DD" into the XML editor, IME has problems rereading this value in the identificationInfo section of the metadata if the saved metadata XML file is subsequently reopend using the "Open XML Metadata File" menu option element:
.../MD_DataIdentification/citation/CI_Citation/data/CI_Data/date/gco:Date.
It either fails to update, or inserts an empty element in this position, that can no longer be edited by the IME XML Editor

Again, you're right. This error has been reported by other user and it will be corrected in the next IME release.

The problem is that the ISO19115 defines two metadata with the same name: "date" (it is a pitty because I think it would have been better avoid this repetition of names). Of course, one "date" belongs to the "gmd" namespace and the other to the "gco" namespace. So, according to XML, everything is correct.
But to IME algorithms, this situation is very, very, difficult.

For reading the XML files, I developed a complicated (near of driving me crazy) recursive algorithm to identify every element of the XML file (mainly to verify the metadata ancestors, level by level, and confirm that the element is valid according to the ISO and according to the IME Metadata Tree hierarchy, and hence, to activate it in the correct position of the Tree.)
This code take decisions based on the XML metadata path. I have tested with several examples the correct identification of the metadata in the IME XML Tree. But, there are so many options...

SOLUTION: To open, modify and save data, it is better use the IME TEMPLATES. In other words: create the XML file and create a Template with the data saved in the XML file. DON'T FORGET THAT TEMPLATES ONLY CAN BE CREATED WHEN YOU ARE WORKING WITH A PROFILE.

If you think you will need to modify the XML file values, save a Template with this metadata information (the IME editor includes a button to generate templates) also. Then, to change some value, you can open the template (using the File Menu), in which the "date" info will be included correctly, do the modifications with the IME Editor and, at last, create the new XML file. That is the way we work.

ISO METADATA EDITOR V4.0 FAQ

Main Page

1) I get two error messages when I try to validate a profile with the "locale" element included:

Message = Invalid content was found starting with element 'language'. One of '{"http://www.isotc211.org/2005/gmd":languageCode}' is expected.
Message = Invalid content was found starting with element 'CountryCode'. One of '{"http://www.isotc211.org/2005/gmd":Country}' is expected.

There are two orthographic differences, in the PT_Locale entity, between the schema files and the ISO19139 document:  

The element "languageCode" of the schema is "language" in the document.
The domain "Country" of the schema, is "CountryCode" , in the document.

At present, IME include the Document version of these elements.
But the application allows to modify the element's name in the configuration files (see documentation) or modify the schema files.

So the final release publication will define the best solution to these 2 errors and will be very easy to update it in IME.

2) How can I work with other schema files version .

The schema files are in the "schema19139" subdirectory of the application path.

You can decide to substitute this default version for a new schema files set, or install the new schema files version in a new subdirectory and select its main file "metadataentity.xsd" when the "Select Schema Files" window will be opened by IME.

3) When I have activated two or more entities of DQ_Result or DQ_Element, I obtain the following validation error: ''No child element is expected at this point".

The DQ_Result entity (128) and DQ_Element(99) contains several "specified class type" entities. The schema only allows one specified class selection at the same level. So if you select two of these children you will get this error.

For example, if you select these entities:

You will obtain this error when you try to validate it.

To solve this problem with IME you must:

1) In the Main Tree (where the profile is created) select the two or more specified classes together (like in the figure just before).

2) In the XML Editor: duplicate the parent ("result" in this example), and keep only one child in every node, deleting the other(s) sibling specified class:


4) Why there is an entity called IME_Citation (623)?

All the algorithms used in IME works with recursion.
And the ISO19115 metadata has a situation in which the recursion can never ends:

CI_Citation(359) contains an element: "identifier" (365) with a Domain: "MD_Identifier"(205) that contains the element "authority" (206) with a Domain: "CI_Citation" again.

To avoid this problem, I have created an abstract class (called IME_Citation) in which I have defined only two elements (title and date) of CI_Citation, but it is possible to incorporate other ones editing the configuration file (see documentation). Of course never can be added to "IME_Citation" the "authority" element because the recursion will never ends.

Due to this class (IME_Citation) is abstract, it will not be in the XML file. Also, in the software code I have included a correction to convert "IME_Citation" to "CI_Citation" to accomplish the ISO19139 requirements.

5) How can I create multilingual XML metadata files?

ISO19139 considers the multilanguage option to the metadata element which datatype is CharacterString and with a free text as domain.
For example, to include info in an "abstract" element:
 1) This is the normal option:
 < abstract xsi:type =" PT_FreeText_PropertyType ">
      <gco:CharacterString>  TO Fill IN </ gco:CharacterString >
 </ abstract >

 2) This is a multilingual example validated:
 < abstract xsi:type =" PT_FreeText_PropertyType ">
 < gco:CharacterString>  TO Fill IN </ gco:CharacterString >
 < PT_FreeText >
 < textGroup >
 < LocalisedCharacterString> locale =" locale_sp "  RELLENAR </
 LocalisedCharacterString >
 </ textGroup >
 < textGroup >
 < LocalisedCharacterString> locale =" locale_fr " REMPLIR </
 LocalisedCharacterString >
 </ textGroup >
 </ PT_FreeText >
 </ abstract >

 DON'T FORGET that the xsi:type="PT_FreeText_PropertyType" ATTRIBUTE. It's mandatory if you want to add the PT_FreeText class.

 3) You can also define an external Locale Container XML File with the localisedCharacterString definitions saved all together.

And then, in the Metadata XML file you can use the "id" attribute of localisedCharacterString to reference the elements you included before in
 the Locale Container.
 < abstract xsi:type =" PT_FreeText_PropertyType ">
 < gco:CharacterString>  TO Fill IN </ gco:CharacterString >
 < PT_FreeText >
 < textGroup >
 < LocalisedCharacterString> locale =" locale_sp " id =" abstract_sp " </
 LocalisedCharacterString >
 </ textGroup >
 < textGroup >
 < LocalisedCharacterString> locale =" locale_fr " id =" abstract_fr "></
 LocalisedCharacterString >
 </ textGroup >
 </ PT_FreeText >
 </ abstract >