OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: OSS vs W3C? was: Next Round

[ Lists Home | Date Index | Thread Index ]
  • From: John Cowan <cowan@locke.ccil.org>
  • To: XML Dev <xml-dev@ic.ac.uk>
  • Date: Thu, 21 Jan 1999 15:30:01 -0500

A correspondent asked me privately to say more about the
designed uses of XML notations that makes 'em worth having.

> Your comment here intrigues me, though I'm not sure exactly what
> you're saying. Can you say more?

Let's say that you have an element with #PCDATA content that's
supposed to contain a date, like this:


You can say that this is a date in a standard way by adding the
following to the DTD:

	<!NOTATION ISO-8601-date SYSTEM "http://www.iso.ch/8601">
		type NOTATION(ISO-8601-date) #FIXED "ISO-8601-date">

which says that all CREATED elements have an attribute named "type",
of type NOTATION, with fixed value "ISO-8601-date", which is a
notation bound to the ISO 8601 definition of a date.  This notation
is verbose because there's flexibility in it which I'm not really
exercising, to have elements whose content can be one of multiple
datatypes, like:

	<!NOTATION int32 SYSTEM "...">
	<!NOTATION int64 SYSTEM "....">
	<!NOTATION float SYSTEM "......">
		type NOTATION(int32,int64,float) #REQUIRED>

which declares that MUTABLE elements must have a "type" attribute
whose value is either "int32" or "int64" or "float", and the notation
declarations tell you what those mean.  The systemids are
URLs that point to the definition of the datatype (in English or
whatever language natural or formalized).

Of course, applications need not be able to fetch the definition and
parse it; they only need to be able to recognize the specific
systemid or publicid that means "ISO 8601 date".  It is implementors
who should be able to fetch the definition and implement in
conformance to it (thus learning that "nnnn-nn-nn" is yyyy-mm-dd).

Similarly, when you want to have a non-XML object referenced from
XML, you use an ENTITY attribute whose value is the name of an
external entity that refers to a notation that in turn refers to the
definition of the format of the external entity.  (Read twice, slowly
:-)).  My DTD fragment http://www.ccil.org/~cowan/XML/media-types.dtd
declares notations that refer to the definitions of MIME types.

John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)

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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS