Both BizTalk and the recent XML Schema draft
use the namespace identifier as the schema identifier.
However, BizTalk says that people *must* use XML
Data for their schemas. So BizTalk documents cannot use XML Schema documents,
and vice versa, unless both XML Schema and BizTalk/XML-Data are considered
selective transformations of some other document type which has the namespaces
in some schema neutral format.
In the absense of a schema invocation mechanism
(e.g., a version of the style sheet PI for schemas) that seperates
Namespace identifiers from particular schemas (and therefore allows multiple
schemas), both XML Schemas and BizTalk/XML-Data capture your data to particular
paradigms. For BizTalk this is marginally more understandable: BizTalk frames
itself as a wrapper, but then doesn't allow any flexibility in the schema
language for the body: in other words, if you use BizTalk, you have to use
XML-Data.
This means that developers who require a degree of
portability should maintain their documents using some schema-independent
namespace, and only attach the namespace for a particular schema when the
document is generated for a particular purposes. BizTalk could have allowed
multiple schemas with XML-Data as the default; this would have allowed a lot of
competition inside the wrapper/routing framework. But they didn't: is it a
framework or a straightjacet?
In other words, namespaces are dead (for database
documents) as ways of uniquely naming elements independent of any other
considerations. They are now
"name-in-a-particular-schema-in-a-particular-schema-language--spaces".
Congratulations to all concerned.
The practical question is now what to do? Should we
just lay down and die; should we go back to architectural forms; should we
invent a parallel namespace PI that is concerned with uniquely identifying names
and not with tieing elements to a schema?
The first thing that is required is for W3C to
create a Schema PI, in a similar fashion to the Stylesheet PI. In the absense of
that mechanism, the Devourers can excuse themselves that there is nothing else
to use for invoking schemas apart from namespaces.
This is a matter of urgency and should take
priority over all XML Schema activities, IMHO.
Rick Jelliffe
|