Lists Home |
Date Index |
- From: John Cowan <email@example.com>
- To: XML Dev <firstname.lastname@example.org>
- 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
<!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 email@example.com
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:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)