European Commission logo
INSPIRE Community Forum

Possible errors in LC xml schemas

Dear LC experts,

when working on the update of the Annex I xml schemas (MIWP-18a), where the MS agreed we should publish backwards-incompatible new versions of all the schemas (also for Annex II+III themes), I came across a number of possible mistakes in the current LC xml schemas.

I wanted to confirm that these are indeed errors before publishing the new schemas.

Note that all proposed changes have been detected when comparing the xml schemas automatically generated from the UML models (using ShapeChange) with the current ones.

nomenclatureDocumentation 

In both the lcr (LC raster) and lcv (LC vector) schemas, the element nomenclatureDocumentation in the LandCoverGridCoverageType and LandCoverDatasetType, respectively, has no type specified: 

<element name="nomenclatureDocumentation">

I.e. it can take any valid XML as content.

Instead, I believe the type should be lcn:LandCoverNomenclaturePropertyType

<element name="nomenclatureDocumentation" type="lcn:LandCoverNomenclaturePropertyType">​

as  defined in the lcn (LC nomenclature) schema:


<complexType name="LandCoverNomenclaturePropertyType">
  <sequence>
    <element ref="lcn:LandCoverNomenclature"/>
  </sequence>
</complexType>

(...)

<complexType name="LandCoverNomenclatureType">
  <sequence>
    <element name="embeddedDescription" nillable="true" minOccurs="0">
      <complexType>
        <complexContent>
          <extension base="anyType">
            <attribute name="nilReason" type="gml:NilReasonType"/>
          </extension>
        </complexContent>
      </complexType>
    </element>
    <element name="inspireId" type="base:IdentifierPropertyType">...</element>
    <element name="nomenclatureCodeList" type="anyURI">...</element>
    <element name="externalDescription" nillable="true" minOccurs="0" maxOccurs="unbounded">
      <complexType>
        <complexContent>
          <extension base="gml:AbstractMemberType">
            <sequence minOccurs="0">
              <element ref="base2:DocumentCitation"/>
            </sequence>
            <attributeGroup ref="gml:AssociationAttributeGroup"/>
          </extension>
        </complexContent>
      </complexType>
    </element>
    <element name="responsibleParty" type="base2:RelatedPartyPropertyType">...</element>
  </sequence>
</complexType>

 

LandCoverObservation.class and LandCoverValueType.class

In the lcv schema, the element class in both the LandCoverObservationType and LandCoverValueType are defined as follows:

<element name="class">

I.e. it can take any valid XML as content.

Contrary, in the IRs, the type is defined as the code list LandCoverClassValue. Therefore, the element "class" should be defined as follows (as all code list-typed attributes):

<element name="class" type="gml:ReferenceType">

 

Please confirm (or object) these changes before I apply them to the new schema versions (especially since they will be more restrictive than and therefore not be backwards-compatible with the current version).

 

  • Lena Hallin-Pihlatie

    By Lena Hallin-Pihlatie

    Dear Michael,

    Thanks for checking with us.

    They do look like errors/mistakes to me. However, I would recommend you to wait (if you can) for a confirmation from people involved in the preparation of the Land Cover Data Specification, as it is unclear to me if this has been done intentionally.

    Cheers, Lena

     

  • Dimitri SARAFINOF

    By Dimitri SARAFINOF

    Michael,

    about nomenclatureDocumentation you're right, there's a mistake (no type declared) and it should be: 

    <element name="nomenclatureDocumentation" type="lcn:LandCoverNomenclaturePropertyType">​

    about LandCoverObservation.class and LandCoverValueType.class, same error (no type declared) and the intent was to reference LandCoverClassValue codelist.

    So I support your 2 change proposals.

    Dimitri

  • Lena Hallin-Pihlatie

    By Lena Hallin-Pihlatie

    Thanks for the confirmation Dimitri.

    Michael, please also note that the following link

    http://www.eea.europa.eu/data-and-maps/data/corine-land-cover-2006-raster-1/corine-land-cover-classes-and/clc_legend.csv/at_download/file

    should according to my understanding at least in principal be exchanged with this:

    http://dd.eionet.europa.eu/vocabulary/landcover/clc

    in the LandCoverNomenclature applicationSchema for CorineValue:

    http://inspire.ec.europa.eu/data-model/approved/r4618/html/

    Can this amendment be done as part of the xml schema update or does it require another procedure?

    Lena

     

  • Michael LUTZ

    Thanks, Lena. The identifier used for the CorineValue code list is independent from the schema. I just checked and the CorineValue code list is not currently included in the INSPIRE code list register. I have to check with my colleagues why this is. But I think it's better to discuss this in the CLC-related issue.

  • Fabio VINCI

    Michael,

    I confirm the errors and I report, further, the presence of a duplicate/wrong namespace declaration  (xmlns:ns1="http://inspire.ec.europa.eu/schemas/lcn/3.0").

    Fabio

  • Julián DELGADO

    By Julián DELGADO

    Dear Michael, Dimitri,

    Yes, I obtain the same result than Fabio. So I could reach to understand that XML schema for LC will be repaired and updated in the INSPIRE web page, am I right?

    In that sense, when could be accessible for users the updated XLM schema for LC?

     

    My best regards

  • Michael LUTZ

    Dear Julian, all,

    we will publish the updated schemas for LC as soon as we have an affirmation of the group that the corrections I mentioned in my initial message were indeed mistakes to be corrected.

    Best regards, Michael

  • Julián DELGADO

    By Julián DELGADO

    Dear all,

    I tested the option to correct manually the LandCoverVector.xsd with your advices and the result was good :) thank you.

    But now I feel a bit confused with LandCoverNomenclature.xsd, becasue from my non-expert vision, it seems to me also un-completed in line 62.

    Now it is writen: <element name="externalDescription" nillable="true" minOccurs="0" maxOccurs="unbounded">

    But I think it should be: <element name="externalDescription" type="DocumentCitationPropertyType" nillable="true" minOccurs="0" maxOccurs="unbounded">

    and including namespace reference for Base2. Am I rigth?

    My best regards

  • Fabio VINCI

    Dear Julián,

    the data type for the attribute "externalDescription", in the LandCoverNomenclature.xsd, is well defined.

    See snapshot below:

    Best regards,

    Fabio

  • Lena Hallin-Pihlatie

    By Lena Hallin-Pihlatie

    Dear all,

    There seems to be an agreement on that the errors reported by Michael and Fabio are actual errors. Please reply by 15th June if you disagree. If no objections, then actions can be taken to correct the errors.

    Best regards,

    Lena

This discussion is closed.

This discussion is closed and is not accepting new comments.

Land Cover & Use

Land Cover & Use

Join this group to share your knowledge, learn and collaborate in solving issues related to the Land Cover and Land Use themes