establish consistent namespaces for schemas
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:
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.