XSchema Spec - Namespaces (Section 3), Draft 3

Simon St.Laurent simonstl at simonstl.com
Thu Aug 20 17:12:56 BST 1998


The latest version of the namespaces section follows. Because many more
namespace issues are already addressed in section 2 of the spec, there is
less to do here.  The XSC:Namespace element has been retired.

As always, a prettier HTML version of this will be posted shortly at
http://purl.oclc.org/NET/xschema.

Simon St.Laurent
Dynamic HTML: A Primer / XML: A Primer / Cookies

3.0 XSchema and Namespaces

XSchema uses namespaces for its own operations and also supports schemas
that take advantage of namespace facilities. XSchema processors are
responsible only for elements that use the XSchema namespace appropriate to
the version of XSchema they are processing. Information in other namespaces
may be used in the XSC:Doc and XSC:More elements and passed to other
applications as the processor deems appropriate.

Please note: the information in this section is based on the 2 August 1998
"Namespaces in XML" Working Draft and is will change to maintain
conformance with that specification. 

3.1 The XSchema Namespace

XSchemas created using XSchema 1.0 have their namespace declaration built
into the DTD as default xmlns and xmlns:XSC attributes of the XSchema
element. Note that XSC:Doc and XSC:More must use the XSC: prefix because
they declare other values for the default namespace name.  Any XSchema
element may use the XSC: prefix if desired, but it is not necessary.

3.2 Interaction with Other Namespaces

XSchemas will often support document sets that have their own namespaces.
To maintain interoperability with DTDs, XSchema provides mechanisms for
declaring the namespace prefixes of elements declared by XSchemas. This
allows documents and the XSchemas used to verify them to track the same
namespace using different prefixes if necessary.  XSchema-to-DTD converters
should use the prefix attribute of an ElementDecl, AttGroup, or AttDef
element to create DTD element and attribute declarations containing that
prefix.

DTD-to-XSchema converters should use the prefixes assigned in the DTD, and
request further information about the 'real' namespace for the ns
attribute.  This may be accomplished by parsing a sample document instance,
or by direct input from the person doing the conversion.  

The ns attribute is not required, but it does provide the XSchema with a
level of understanding about namespaces that DTDs presently lack.  If an
XSchema contains the correct ns attributes, it is far better equipped to
process documents that use namespaces without concern for the variability
of prefixes.

3.3 Note Regarding Namespace Usage

Namespaces are still in development at this time, and as such are subject
to dramatic change.

This specification was written making several assumptions, which may or may
not prove to be true as the Namespaces draft evolves:

1. The only part of a namespace declaration that genuinely identifies the
namespace is the ns production. The prefix only serves as a proxy for the
full ns production. 

2. The URLs in a namespace declaration will not need to be retrieved. The
XSchema namespace declaration uses a PURL (permanent URL) provided by the
OCLC. (For details on PURLs, visit http://purl.org.) PURLs use redirection
to maintain a permanent address for sites that may change address. While
XSchema specification information may be stored at the location to which
the PURL server redirects visitors, XSchema applications should not rely on
any of that information being there.


Simon St.Laurent
Dynamic HTML: A Primer / XML: A Primer / Cookies 

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list