Strong Typing in SGML and XML
Andrew Layman
andrewl at microsoft.com
Thu May 8 20:08:06 BST 1997
I accidently sent this message before completing it. The full message
is here:
> Several people have written in recently asking, in effect, "What are
> the
> purposes of this strong typing? What needs does it solve?" So I
> asked
> around. Here are the needs that have been cited:
>
> 1. Storage optimization. Various clients want to be able to
> optimize storage by keeping numbers in a binary format, strings in a
> preallocated structure, etc.
>
> 2. Implied semantics. E.g. numbers can be added together, if you
> know they are numbers. Also, knowing that a number is meant to have a
> fixed versus floating precision affects how operations are performed,
> what kind of precision is retained during calculations, what errors
> are
> reported, etc. Knowing that a string is meant to be a
> URL gives hints on its use. Etc.
>
> 3. Parsing and formatting rules. Dates are expected to be in some
> standard representation, such as given by ISO 8601 (e.g.). Floating
> point numbers permit scientific notation. Etc. For example,
> though the number "0.1234E+20" could have been represented as
> "<mantissa>1234</mantissa><exponent>20</exponent>", and the date
> "19970508T10:47" could have been similarly broken into year, month,
> etc.,
> and this markup would eliminate the need for special parsers for
> numbers and
> dates, it has obvious readability and bloat problems.
> An explicit data type can signal what the internal elements are and
> how
> to parse for them without tags.
>
> 4. Different data types need different supplementary attributes,
> such as number of digits precision, total size in characters, whether
> time zones are present, etc. (In Tim's proposal, these all overload a
> single, generic attribute.)
>
> 5. Range restrictions. Dates and other kinds of things measured in
> numbers can be limited to a range of values. All types can be
> potentially limited to a set of descrete values (by enumeration or
> rule). For example, an attribute expressing a color
> in terms of wavelength could be limited to 400..700 (nanometers). An
> attribute listing a US egg size could be limited to be among
> "medium," "large," "extra large" and "jumbo." If represented
> numerically,
> it could be limited to "1," "2," "3" and "4."
>
> 6. Passthrough. Sometimes XML is a carrier syntax between systems
> where some participants need to convey implications not covered in
> points
> 1 through 5 above. For example, a database may make a distinction
> between CHAR and VARCHAR even though other readers of a document
> don't.
>
>
>
xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list