OSS vs W3C? was: Next Round

John Cowan cowan at locke.ccil.org
Thu Jan 21 20:33:16 GMT 1999


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:

	<CREATED>1999-01-21</CREATED>

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">
	<!ATTLIST CREATED
		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 "......">
	<!ATTLIST MUTABLE
		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 at 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 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