Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

codelist XML #115

Open
amilan17 opened this issue Jul 1, 2015 · 11 comments
Open

codelist XML #115

amilan17 opened this issue Jul 1, 2015 · 11 comments
Labels

Comments

@amilan17
Copy link

amilan17 commented Jul 1, 2015

I downloaded the zip file and am looking the codelists.xml in this directory:
..\19115\resources\Codelist\cat\codelists.xml

I'd like to request differences between the id and the scopedName for each codeEntry.
Such that 'CI_DateTypeCode_publication' is just 'publication' at
//cat:codeEntry/cat:CT_CodelistValue/cat:identifier/gco:ScopedName or
//cat:codeEntry/cat:CT_CodelistValue/@id Xpaths.

If there a place on github where these codelists are managed - I can register the issue there instead.

Thanks!

@smrgeoinfo
Copy link
Contributor

There is a problem here-- e.g. the gml codelist implementation has DateType codes with @id values like CI_DateTypeCode_creation, the same as the cat:identifier:gco:ScopedName values, but the gml codelists (e.g. CI_DateTypeCode.xml) has opaque @gml:id values like '_12378_18857', and identifier strings that are like 'creation'.

The gml identifiers are consistent with what shows up in instance data (codeListValue='creation'),
ALSO-- the codespace uri's are not consistent in the codelists.xml file (some are 'isotc211', others are http://standards.iso.org/iso/19115), and in the gml codelist file they're like http://www.isotc211.org/namespace/cit/1.0/2014-07-11/CI_DateTypeCode)

Here's what I think they should look like:
gml dictionary:

<dictionaryEntry>
    <Definition gml:id:="CI_DateTypeCode_publication">
      <description>date identifies when resource was published</description>
      <identifier codeSpace="http://standards.iso.org/iso/19115/resources/Codelist/-1/CI_DateTypeCode#"
        >publication</identifier>
    </Definition>
  </dictionaryEntry>

the 19115-3 codelist catalog:

        <cat:codeEntry>
            <cat:CT_CodelistValue id="CI_DateTypeCode_publication">
               <cat:identifier>
                  <gco:ScopedName codeSpace="http://standards.iso.org/iso/19115/resources/Codelist/-1/CI_DateTypeCode#"
                     >publication</gco:ScopedName>
               </cat:identifier>
               <cat:definition>
                  <gco:CharacterString>date identifies when the resource was issued
                   </gco:CharacterString>
               </cat:definition>
            </cat:CT_CodelistValue>
         </cat:codeEntry>

The codespace on the gco:ScopedName and the gml:identifier is a URI for the codelist. We'd need some kind of rewrite to get what I suggest above to dereference, but the directory structure at standards.iso.org right now isn't set up for versioning and different formats from a single URI. The gco:ScopeName and gml:identifier element values are what should show up as codeListValues in instances. The @id and @gml:id's are local to the document, and include the codelist name and the codelist value in case codelist values are duplicated in the document; they shouldn't be used externally.

@smrgeoinfo smrgeoinfo added the bug label Apr 27, 2016
@smrgeoinfo
Copy link
Contributor

Still an open issue, needs fixing. Don't know when I can get to it....

@amilan17
Copy link
Author

Hi -- any follow up on this reformatting of the codelist structure?

@ebleys
Copy link

ebleys commented Nov 14, 2017

I've had a crack at the ISO19115 codelists as defined in -1 (attached)
In the case of CI_DateTypeCode I have added (non-definitive) names for French and Dutch
as examples of where that could go
I am unsure of what the most appropriate codeSpaces are but have suggested that there is a need to separate those for the names (preferable also by language)

There remains the question of whether or not the codelists should each reside in their own file:
allow specific codes to be picked up in other environments
without the baggage of all the codes for the donor standard.
it would mean that the ' id="CodeList_code" ' would revert to ' id="code" '
Cheers
ISO191152014Codelist.txt

@dr-shorthair
Copy link

Codelists better not encoded in XML.
GML 3.3 has something to say about this in the introduction to Cluase 11 -

"best-practice is to generally use URIs for referring to items in vocabularies, and RDF (OWL, SKOS) for encoding their descriptions"

For example: http://registry.it.csiro.au/def/isotc211/CI_DateTypeCode

@ebleys
Copy link

ebleys commented Nov 14, 2017 via email

@dr-shorthair
Copy link

dr-shorthair commented Nov 14, 2017

Look at each item separately.
For example http://registry.it.csiro.au/def/isotc211/CI_DateTypeCode/adopted makes it clear
URI: http://registry.it.csiro.au/def/isotc211/CI_DateTypeCode/adopted

Also note that the data can be downloaded in various formats (using HTTP conneg)

@ebleys
Copy link

ebleys commented Nov 14, 2017 via email

@fxprunayre
Copy link
Contributor

How do we progress these into tools like GeoNetwork (maybe its already in V3.4)?

ISO19115-3 is available in the schema plugin repository here https://github.com/metadata101/iso19115-3 (mainly supported for coming 3.4 version). Codelists are still stored in one XML file per language eg. https://github.com/metadata101/iso19115-3/blob/develop/src/main/plugin/iso19115-3/loc/eng/codelists.xml

@ebleys
Copy link

ebleys commented Nov 16, 2017 via email

@tedhabermann
Copy link
Contributor

Many of these codelist problems were addressed in a pull request during 2017 (#178) and are described in the wiki (https://github.com/ISO-TC211/XML/wiki/CodeLists). I have not had any comments on those updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants