Bug #472
closedestablish consistent namespaces for schemas
0%
Description
EML currently uses namespaces of the form "eml:modulename" for each of the eml
modules (e.g., eml:dataset). In contrast, we use version specific public
identifiers for the EML dtds (e.g.,
"-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN"). The formal public
identifiers will need to be updated with each revision of the standard, but
benefit in that they are allow one to specifically state which version of the
module a document uses. This is important in systems where we need to be able
to reliably validate documents.
So, I think we need to change the public namespaces for eml to be versioned like
the public identifiers are. A format like this would do:
"eml:eml-dataset-2.0.0beta7"
Note that I specifically did not choose to use an http URI for this namespace
because of the intense controversy over resolvability of namespace URIs, and the
later development of specs like RDDL. The namespace spec explicitly states that
processors should NOT expect that a schema will reside at the namespace URI, nor
even that the namespace URI is resolvable as an address. Thus, the "eml" scheme
in the URI makes it clear that it is not a resolvable URL. We should rely on
schemaLocation, or handle it in each schema processor.
This will need to be changed throughout the schema docs.
Also, need to add documentation in the DTDs describing the proper public
identifier that should be used with the DTDs so that it is clear.
Updated by Matt Jones over 22 years ago
Fixed in previous releases (beta7 and beta8) as described. Need to keep this up
to date for each release, but can close the bug.