W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > April to June 2001

Objection to hexBinary and base64Binary

From: Charles Frankston <cbf@isovia.com>
Date: Fri, 6 Apr 2001 00:42:21 -0400
Message-ID: <9904AD1312B6534C8D22B281215E95471A28E2@enterprise.isovia.com>
To: <www-xml-schema-comments@w3.org>
There was a change made to the binary datatype back in January, between
the Candidate Recommendation and the first Proposed Recommendation:
CR-53 Add built-in datatypes base64Binary and hexBinary Paul: remove
current binary type. Unfortunate consequence is that the two types have
no relation even though they have the same value space. RESOLVED: that
this change be made. 
The original issue was raised in response to a request by James Clark to
pre-define base64binary and hexbinary as shortcuts for binary with
encoding facets of base64 and hex.  James didn't ask for the bifurcation
of the binary data type, and I think that result is far worse than the
simple convenience that James was asking for.  If the standard goes to
Recommendation with this in it, parsers will forever have both these
datatypes forever.
First let me state that I disagree with the James' original request
because it went in the wrong direction.  I always maintained the most
important principle for the lexical format of a datatype is that there
only be one for each datatype.  A large part of the purpose of defining
the datatypes is to aid interoperability.  The quickest and easiest way
to be interoperable is to standardize representations.  This is why the
WG correctly decided that the lexical format of datatypes should not be
internationalized.  The correct resolution to this situation is to have
only one binary encoding.
It is anticipated that future XML parsers will have support for
datatypes that will free applications from any knowledge of the
underlying lexical representation.  Treating the different lexical
representations of binary blobs as different datatypes will create a
ugly wart that will last forever.
There are two possible ways to fix this before going to recommendation:
1.	return to the CR status of a binary datatype with an encoding
facet that could be either 'hex' or 'base64'.
2.	eliminate one of hexBinary or base64Binary, and call the
remaining type 'binary'.  *Note that this is the most conservative
decision*.  The missing encoding could always be added back, but once
released as an official recommendation parsers would be required to
support both encodings for all time.
Received on Friday, 6 April 2001 00:42:54 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:49:56 UTC