Rich,
So, you're going to parse the namespace and determine that a namespace
that is a different namespace is indeed backwardly compatible? That makes
no sense. When two namespace URI are different, then there is no
conclusion that
you can draw but that they are two distinctly separate namespaces.
If you want to include version information, then it should NOT be in the
namespace
name but somewhere else, such as a version attribute on the schema or
carried in the
instance itself ala XSLT.
A namespace is a space of names. Its purpose is to disambiguate between a
token in
one namespace and the same token in another namespace.
Quoting the Namespaces in XML spec:
We envision applications of Extensible Markup Language (XML) where a
single XML document may contain elements and attributes (here referred to
as a "markup vocabulary") that are defined for and used by multiple
software modules. One motivation for this is modularity; if such a markup
vocabulary exists which is well-understood and for which there is useful
software available, it is better to re-use this markup rather than
re-invent it.
Such documents, containing multiple markup vocabularies, pose problems of
recognition and collision. Software modules need to be able to recognize
the tags and attributes which they are designed to process, even in the
face of "collisions" occurring when markup intended for some other
software package uses the same element type or attribute name.
These considerations require that document constructs should have
universal names, whose scope extends beyond their containing document.
This specification describes a mechanism, XML namespaces, which
accomplishes this.
[Definition:] An XML namespace is a collection of names, identified by a
URI reference [RFC2396], which are used in XML documents as element types
and attribute names. XML namespaces differ from the "namespaces"
conventionally used in computing disciplines in that the XML version has
internal structure and is not, mathematically speaking, a set. These
issues are discussed in "A. The Internal Structure of XML Namespaces".
Just because a schema has a target namespace doesn't mean that when you
change that schema that you should or must change
its namespace.
Cheers,
Christopher Ferris
STSM, Emerging e-business Industry Architecture
email:
blog: http://webpages.charter.net/chrisfer/blog.html
phone: +1 508 377 9295
Rich Salz <> wrote on 07/14/2005 03:45:35 PM:
> > Chris indicated to the editors earlier that he preferred to
> > use a date stamp to indicate version. You'll have to ask him about his
> > reasons for this preference. I don't care one way or another.
>
> I care. Date-based version numbers have no explicit interop semantics.
> There's a long history of major/minor semantics. Cf SAML 1.0, 1.1, and
2.0
>
> /r$
>
> --
> Rich Salz Chief Security Architect
> DataPower Technology http://www.datapower.com
> XS40 XML Security Gateway http://www.datapower.com/products/xs40.html
>