GarryJolleyRogers - Wed Nov 25 2009 - Version 1.21
Parent topic: SchemaChangeLog

SchemaChangeLog091EarlyBetaVersions

Changes in 0.91 beta 15 (relative to the 0.9 Dec. 1. 2003 release)

This is an updated version containing most of the minor changes discussed at the [[SDD2004Berlin][meeting in Berlin]]. Some changes are still pending. The current version of the SDD schema can always be found at CurrentSchemaVersion. Please do read through the report of changes, except perhaps for the few trivial at the start. Please take a look at the schema to verify that you agree with the changes and that they make sense to you.

Note: I have tried to document changes, but I cannot guarantee that everything is properly documented. In fact, since GenerationMetadata and ProjectDefinition are heavily changed in an attempt to find common ground between the various GBIF standards (current discussion involves only ABCD so far), I have given up on documenting all detailed changes therein (but some are commented).

Trivial omissions that were present in 0.9, corrected in 0.91

Non-trivial changes enacted plus proposals not enacted

Root

ProjectDefinition

Constrained ClassScope added, __OtherScope needs a proposal how to link it to other vocabularies. SourcePublication changed from a single to possibly several, and considered a scoping mechanism as well.

GeneralDeclarations

Terminology

Entities

Descriptions

Keys

General


Open Questions


Problems I believe cannot be solved in xml schema

(please tell me if you disagree!)


The missing element issue seems approachable by declaring things nillable and allowing xsi:nil="true" to distinguish from the missing case. This arose also in the discussion ResolvedTopicIsDiGIRadequateForBDI.SDD -- Main.BobMorris - 29 Apr 2004

I cannot follow your argument. The problem I state above is that I cannot constrain the Labels to actually contain a string, the element must be present but may contain nothing. There seems no mechanims in schema to prevent that. I know you warned us against mixed content model! -- Gregor Hagedorn - 3. May.


Appendix, see discussion marked "####" above:

Current situation in 0.9:

Concept
  Concept
     Concept key="123"
       ConceptStates
         StateDefinition key="1"
         StateDefinition key="2"
         StateDefinition key="3"

Char
  Categorical/States/
    StateReference ref="1"
    StateReference ref="2"
    StateReference ref="3"
    AutoAddStates ref="123"

Proposed reversal:

Concept
  Concept
     Concept key="123"
       ConceptStates
         StateDefinition key="1"
         StateDefinition key="2"
         StateDefinition key="3"
       UpdateStateRefsTrigger
         Character ref="123"

Char key="123"
  Categorical/States/
    StateReference ref="1"
    StateReference ref="2"
    StateReference ref="3"    

One reason why this is relevant is that I believe we have to introduce a similar mechanism for StatisticalMeasures, to allow defining sets of statistical measures centrally (min-max range, a simple range/mean type like DELTA, extensions including variance and sample size, etc.).

Also, we have modifier sets as well. Can we also run them over a concept-node-based system, so that we have very similar systems for States, Measures, and modifiers? That seems to improve the schema. Unfortunately, with modifiers I am uncertain how well this works. Modifiers almost cry for inheritance down the concept tree, something we have not yet done so far!


Looking for the most recent schema file? See CurrentSchemaVersion!

-- Gregor Hagedorn - 25 May 2004