XSchema Spec - XSchema Element (Sections 2.0 and 2.1), Draft 7
Simon St.Laurent
SimonStL at classic.msn.com
Thu Aug 6 16:20:39 BST 1998
This reflects our latest thinking regarding namespaces and XSchema.
The main changes involve the removal of the Namespace element and its
replacement with attributes in the XSchema element and also (to come) in
element and attribute declarations.
I'm hoping this will get us past the thorny namespace issues so that I can
move on to the rest of the spec, compile a complete DTD and an updated
complete version of the spec so far, and start work on sections 4 and 5 on
processing.
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
2.0 XSchema Syntax
This section describes the XSchema document syntax. The XSchema document is an
XML document containing a single XSchema element in which information
describing the schema is nested. The XSchema element must be preceded by an
XML declaration and may be preceded by other declarations, comments, and
processing instructions.
2.1 The XSchema Element
The XSchema element is the root element for all XSchema documents. The
declaration for the XSchema element is:
<!ELEMENT XSchema (Doc?, More?, (ElementDecl | AttDef | Model | Choice |
Sequence | Mixed | Ref | Notation | XSchema)*)>
<!ATTLIST XSchema
xmlns CDATA #FIXED "http://www.purl.org/NET/XSchema/v1"
xmlns:XSC CDATA #FIXED "http://www.purl.org/NET/XSchema/v1"
prefix NMTOKEN #IMPLIED
ns CDATA #IMPLIED
Version CDATA #FIXED "1.0"
MimeType CDATA "application/xml"
FileExtension CDATA "xml"
id ID #IMPLIED>
The XSchema element contains other elements describing the XSchema and
building a schema. These elements are described in later sections of this
specification. The XSchema element may also contain other XSchema elements
nested inside of it. This nesting of XSchema elements improves reusability of
XSchemas by allowing the combination of multiple XSchemas inside of a single
XSchema framework. It also allows finer-grained control over documentation for
subsections of an XSchema.
The XSchema element's attributes include information about the namespace used
by XSchema, the version of the XSchema specification used, and information
about the type of documents described by the XSchema.
The XSchema namespace is fixed with the xmlns attribute to correspond to the
8/2/98 working draft of Namespaces in XML. The xmlns:XSC attribute, also
fixed, allows XSchema declarations to be prefixed with XSC for situations
where they need to redefine the default namespace (as is the case with
XSC:Doc, and may be the case with XSC:More - see Section 2.6 for more
details.) The prefix attribute identifies the prefix that will be applied to
all elements and attributes defined within this XSchema element during
conversion to DTDs, unless overridden in the element or attribute declaration
itself. The ns attribute identifies the URI which functions as the namespace
name for subelements. Namespace processing is covered further in Section 3.0,
"XSchema and Namespaces".
Information about the XSchema specification version used to create this
XSchema, contained in the Version attribute, is critical to proper handling of
documents should the specification be updated in the future. This
specification is identified as version 1.0. Future major and minor versions of
the XSchema specification should identify themselves differently. No provision
is made at this time for nesting XSchemas using different versions of the
specification under a parent XSchema element.
The MimeType and FileExtension attributes are used to provide a suggested MIME
(Multipurpose Internet Mail Extensions) Content-type and file extension for
documents created using a particular XSchema. Applications may use this
information to identify XML document types. A document library that generates
XML documents dynamically could assign file extensions and MIME types based on
the XSchema used.
Applications using this information should use the values stored in the first
XSchema encountered during processing. For instance, if an XSchema includes
another nested XSchema, the values for the MimeType and FileExtension
attributes of the root XSchema should be used.
By default, most XML documents are assumed to have a MIME type of
application/xml, as described in RFC 2376, "XML Media Types," by E.J.
Whitehead and Murata Makoto. Developers who need different MIME types for
documents created using particular XSchemas may register other MIME types with
the IETF, as described in RFC 1590, or use the 'x-' prefix syntax for
subtypes, as described in RFC 1521.
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