Upload
joseph-clarke
View
214
Download
1
Embed Size (px)
Citation preview
Best practice for updating and versioning of TDWG standard
XML schemas
Walter G. Berendsohn, Andrea Hahn, Anton Güntsch, Chuck Miller, Javier de la
Torre, Markus Döring, Neil Thomson, Patricia Mergen, Renato De Giovanni,
William Ulate, Wouter Addink
Changes in ABCD versions
Used versions of ABCD: 1.2, 1.49, 2.0, 2.06, 2.06a• Bugfixing
– Elements without type, – Misspellings of element or attribute names– Duplication of elements– Containers for unbound elements
• Additional substructures or simple elements• Changes of types (restrictions, attribute addition, etc.)• New complex types• Clarification of semantics• Change of semantics• Renaming of elements or attributes
Versions and extensions
• New namespace– breaks all existing implementations
• xs:any extension– uncoordinated, non-standard
• No new namespace, version attribute– may be dangerous– clear definition of “allowed” changes needed– must proceed in a coordinated manner– Example: GML
ABCD versioning
• ABCD 2.06 adopted at TDWG 2005 in St. Petersburg • Upgrade plan:
– ABCD provides a provisional mechanism for extending the schema using xs:any typed slots at the level of the unit, within site descriptions and within identification results.
– New version of ABCD to be released whenever a significant number of additions and changes have accumulated and/or structural changes are urgently needed.
– New version - new namespace for the new version of the ABCD schema.
• ABCD 2.6 has bugs and problems• Interim version is needed
TIP-sponsored ABCD workshop
• Interim version with same namespace ensuring full backward compatibility.
• Changes must not introduce changes which will break applications using previously approved versions
• The root element of the schema includes a version attribute indicating the schema version number.
• This number should agree with the namespace assigned to the schema.
• Minor changes are then indicated by letters. For example, the first interim version of ABCD 2.06 should receive be identified as 2.06a.
Backward compatibility
is maintained when
• no elements or attributes are deleted (may be marked as deprecated)
• no elements or attributes are renamed(mark as deprecated and add new)
• the semantics of all elements are left unchanged– (clarification of annotation text etc. is ok)
• type changes are restricted to assigning types to previously un-typed elements
• new elements are added
ABCD 2.06 2.06a
Main changes: • defining types for several un-typed elements• eliminating confusion concerning metadata• adding a new extension slot at the dataset level• addition of several elements for better
compatibility to Darwin Core and HISPID
See ABCD Wiki http://ww3.bgbm.org/abcddocs/
Process?
• Review is needed! • Process for new versions • Process for interim versions?