<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=969582216-20112007>Good evening.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=969582216-20112007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=969582216-20112007>Here's a minor contribution on binary
types.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=969582216-20112007></SPAN></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=969582216-20112007>1. In my experience t</SPAN>he common and preferred
type for uninterpreted data is Base64Binary, not HexBinary.<SPAN
class=969582216-20112007> I see no reason to drop either,
though.</SPAN><BR></FONT></FONT></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=969582216-20112007>2. A </SPAN>reference to a binary element using xpath
on the infoset <SPAN class=969582216-20112007>should </SPAN>give the entire
binary value<SPAN class=969582216-20112007> in some
implementation-dependent form</SPAN>.<SPAN class=969582216-20112007> It should
not return text, so applying functions like substring() would be way
out of line.</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT
size=2></FONT></FONT></FONT> </DIV>
<DIV><FONT><FONT><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=969582216-20112007>3. </SPAN>Can XPath expressions and functions
manipulate binary values? Since XPath is based on XML's type system, I
doubt it.<SPAN class=969582216-20112007> I think we should treat it as
opaque.</SPAN></FONT></FONT></FONT></FONT></FONT></DIV>
<DIV><FONT><FONT><FONT face=Arial color=#0000ff
size=2></FONT></FONT></FONT> </DIV>
<DIV><FONT><FONT><FONT face=Arial><FONT size=2><FONT color=#0000ff><SPAN
class=969582216-20112007>4. </SPAN>Specifying a text encoding for binary data is
a hint for XML text generators. It doesn't change the external representation or
the internal infoset value, which are both
binary.<BR></FONT></FONT></FONT></FONT></FONT></DIV>
<DIV><FONT><FONT><FONT><FONT><SPAN class=969582216-20112007><FONT face=Arial
color=#0000ff size=2>Just my
views.</FONT></SPAN></DIV></FONT></FONT></FONT></FONT>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=969582216-20112007>S</SPAN>orry I didn't have time to
participate earlier<SPAN class=969582216-20112007>, and might not have a chance
to elaborate before Wednesday's conference
either.</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=969582216-20112007>I read everything,
though.</SPAN></FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial size=2> Simon</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV><BR>
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> dfdl-wg-bounces@ogf.org
[mailto:dfdl-wg-bounces@ogf.org] <B>On Behalf Of </B>Steve
Hanson<BR><B>Sent:</B> 19 November 2007 18:20<BR><B>To:</B> Mike
Beckerle<BR><B>Cc:</B> dfdl-wg@ogf.org<BR><B>Subject:</B> Re: [DFDL-WG] DFDL
hexBinary and base64Binary<BR></FONT><BR></DIV>
<DIV></DIV><BR><FONT face=sans-serif size=2>Mike </FONT><BR><BR><FONT
face=sans-serif size=2>I also considered suggesting we drop xs:base64Binary
support. Clearly if we weren't using XSD type system we would have a single
'binary' logical type but we are re-using XSD type system. So would it be more
confusing for a user, familiar with XSD type system, to be forced to model
some binary base64 data as xs:hexBinary? </FONT> <BR><BR><FONT
face=sans-serif size=2>Fyi MRM supports both xs:hexBinary and xs:base64Binary
and treats them the same.</FONT> <BR><BR><FONT face=sans-serif size=2>Bottom
line: I'm happy to go with majority view. </FONT><BR><BR><FONT face=sans-serif
size=2>Regards, Steve<BR><BR>Steve Hanson<BR>WebSphere Message
Brokers<BR>Hursley, UK<BR>Internet: smh@uk.ibm.com<BR>Phone (+44)/(0)
1962-815848</FONT> <BR><BR><BR>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="40%"><FONT face=sans-serif size=1><B>Mike Beckerle
<beckerle@us.ibm.com></B> </FONT>
<P><FONT face=sans-serif size=1>19/11/2007 16:34</FONT> </P>
<TD width="59%">
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
<TD><FONT face=sans-serif size=1>Steve Hanson/UK/IBM@IBMGB</FONT>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
<TD><FONT face=sans-serif size=1>dfdl-wg@ogf.org</FONT>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
<TD><FONT face=sans-serif size=1>Re: [DFDL-WG] DFDL hexBinary and
base64Binary</FONT></TR></TBODY></TABLE><BR>
<TABLE>
<TBODY>
<TR vAlign=top>
<TD>
<TD></TR></TBODY></TABLE><BR></TR></TBODY></TABLE><BR><BR><BR><FONT
face=sans-serif size=2><BR>Steve, (& team)</FONT><FONT size=3>
<BR></FONT><FONT face=sans-serif size=2><BR>What you are suggesting is the
simplest of the simple. No 'text' representation at all, Users who have
actual hexidecimal strings in their data can always model them as either
strings or if they're small enough, integers in base 16 text.</FONT><FONT
size=3> <BR></FONT><FONT face=sans-serif size=2><BR>In this case the only
difference between hexBinary and base64Binary is what happens if you coerce
the infoset value to a string and this is into the API space which is outside
the scope of DFDL.</FONT><FONT size=3> <BR></FONT><FONT face=sans-serif
size=2><BR>To me this suggests that we leave out base64Binary entirely for
V1.0 to avoid confusion (it will be confusing to people to explain that
hexBinary and base64Binary are synonymous in DFDL)</FONT><FONT size=3>
<BR></FONT><FONT face=sans-serif size=2><BR>So the net functionality for DFDL
v1.0 would be this only:</FONT><FONT size=3> <BR></FONT>
<TABLE width="100%" border=4>
<TBODY>
<TR vAlign=top>
<TD width="5%">
<DIV align=center><FONT face=Arial
size=1><B><I>type</I></B></FONT></DIV>
<TD width="47%">
<DIV align=center><FONT face=Arial
size=1><B><I>representation</I></B></FONT></DIV>
<TD width="15%">
<DIV align=center><FONT face=Arial
size=1><B><I>lengthKind</I></B></FONT></DIV>
<TD width="10%">
<DIV align=center><FONT face=Arial size=1><B><I>resulting length (in
bytes)</I></B></FONT></DIV>
<TD width="22%">
<DIV align=center><FONT face=Arial
size=1><B><I>other</I></B></FONT></DIV>
<TR vAlign=top>
<TD><FONT face=Arial size=2>xs:hexBinary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>binary</FONT><FONT size=3> <BR>(note:
required - If 'text' specified it causes a schema definition error. This
reserves the 'text' behavior for possible future use.) </FONT>
<TD><FONT face=Arial size=2>implicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>xs:length facet </FONT>
<TD>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>explicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>dfdl:length </FONT>
<TD><FONT face=Arial size=1>Validation: xs:length facet must be equal to
resulting length in bytes </FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>(TBD: similar range checks on xs:minLength,
xs:maxLength) </FONT></P>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>endOfData or delimited or
nullTerminated</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>variable</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=1>Validation: xs:length facet must be equal to
resulting length in bytes </FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>(TBD: similar range checks on xs:minLength,
xs:maxLength) </FONT></P></TR></TBODY></TABLE>
<P><FONT size=3><BR><BR></FONT><FONT face=sans-serif size=2><BR>I'm very happy
with this for V1.0.</FONT><FONT size=3> <BR></FONT><FONT face=sans-serif
size=2><BR>Any further comments or should we go with this for
V1.0?</FONT><FONT size=3> <BR></FONT><FONT face=sans-serif
size=2><BR>...mikeb</FONT><FONT size=3> <BR></FONT><FONT face=sans-serif
size=2><BR>Mike Beckerle<BR>STSM, Architect, Scalable Computing<BR>IBM
Software Group<BR>Information Platform and Solutions<BR>Westborough, MA
01581<BR>direct: voice and FAX 508-599-7148<BR>assistant: Pam Riordan
<BR>
priordan@us.ibm.com <BR>
508-599-7046<BR></FONT><FONT size=3><BR><BR><BR></FONT>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="41%"><FONT face=sans-serif size=1><B>Steve Hanson
<smh@uk.ibm.com></B> <BR>Sent by:
dfdl-wg-bounces@ogf.org</FONT><FONT size=3> </FONT>
<P><FONT face=sans-serif size=1>11/19/2007 10:23 AM</FONT><FONT size=3>
</FONT></P>
<TD width="58%"><BR>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="13%">
<DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
<TD width="86%"><FONT face=sans-serif
size=1>dfdl-wg@ogf.org</FONT><FONT size=3> </FONT>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
<TD>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
<TD><FONT face=sans-serif size=1>Re: [DFDL-WG] DFDL hexBinary and
base64Binary</FONT></TR></TBODY></TABLE><BR><BR>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="50%">
<TD width="50%"></TR></TBODY></TABLE><BR></TR></TBODY></TABLE><BR><FONT
size=3><BR><BR></FONT><FONT face=sans-serif size=2><BR><BR>My view: The
logical type is binary, so the data in the information item is binary, the
length facets should always deal in bytes, and validation checks the length of
the binary data in bytes.</FONT><FONT size=3> </FONT><FONT face=sans-serif
size=2><BR><BR>From the above, of the two simplifications below, I would
rather disallow the text representations of xs:hexBinary and xs:base64Binary.
Fyi MRM today <BR>- does not support text reps for binary <BR>- has not had
such a request from users <BR>- uses length/minLength/maxLength facets to
validate binary field length post-parse</FONT><FONT size=3> </FONT><FONT
face=sans-serif size=2><BR>- uses length/maxLength to populate the default for
the physical length. <BR><BR>Regards, Steve<BR><BR>Steve Hanson<BR>WebSphere
Message Brokers<BR>Hursley, UK<BR>Internet: smh@uk.ibm.com<BR>Phone (+44)/(0)
1962-815848</FONT><FONT size=3> <BR></FONT>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="46%"><FONT face=sans-serif size=1><B>Mike Beckerle
<beckerle@us.ibm.com></B> <BR>Sent by:
dfdl-wg-bounces@ogf.org</FONT><FONT size=3> </FONT>
<P><FONT face=sans-serif size=1>16/11/2007 23:09</FONT><FONT size=3>
</FONT></P>
<TD width="53%"><BR>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="14%">
<DIV align=right><FONT face=sans-serif size=1>To</FONT></DIV>
<TD width="85%"><FONT face=sans-serif
size=1>dfdl-wg@ogf.org</FONT><FONT size=3> </FONT>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>cc</FONT></DIV>
<TD>
<TR vAlign=top>
<TD>
<DIV align=right><FONT face=sans-serif size=1>Subject</FONT></DIV>
<TD><FONT face=sans-serif size=1>[DFDL-WG] DFDL hexBinary and
base64Binary</FONT></TR></TBODY></TABLE><BR><FONT size=3><BR></FONT><BR>
<TABLE width="100%">
<TBODY>
<TR vAlign=top>
<TD width="50%">
<TD width="50%"></TR></TBODY></TABLE><BR></TR></TBODY></TABLE><BR><FONT
size=3><BR><BR></FONT><FONT face=sans-serif size=2><BR><BR><BR>I'm trying to
wrap up the opaque/hexBinary/base64Binary topic.</FONT><FONT size=3>
</FONT><FONT face=sans-serif size=2><BR><BR>I need opinions on this
discussion.</FONT><FONT size=3> </FONT><FONT face=sans-serif
size=2><BR><BR>Currently we have a property, dfdl:binaryType </FONT><FONT
face=Arial size=2><B>:</B></FONT><FONT size=3> </FONT><FONT face=Arial
size=2><B><BR><BR>Properties Specific to Binary Types (hexBinary,
base64Binary)</B></FONT><FONT size=3> </FONT>
<TABLE width="100%" border=4>
<TBODY>
<TR vAlign=top>
<TD width="19%"><FONT face=Arial size=1><I>Property Name</I></FONT><FONT
size=3> </FONT>
<TD width="80%"><FONT face=Arial size=1><I>Description</I></FONT><FONT
size=3> </FONT>
<TR vAlign=top>
<TD><FONT face=Arial size=1>binaryType</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=1>Enum</FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>This specifies the encoding method for the
binary. </FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>Valid values are ‘unspecified’, ‘hexBinary’,
‘base64Binary’, ‘uuencoded’</FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>Annotation: dfdl:element (simple type
‘binary’, ‘opaque’)</FONT></P></TR></TBODY></TABLE>
<P><FONT face=sans-serif size=2><BR><BR>This property speaks to what kinds of
representations can we interpret and construct logical hexbinary values from?
(similarly base64Binary)</FONT><FONT size=3> </FONT><FONT face=sans-serif
size=2><BR><BR>I believe the above is not clear, and causes issues with the
xs:length facet of XSD.</FONT><FONT size=3> </FONT><FONT face=sans-serif
size=2><BR><BR>I propose the 4 tables below which describe the 4
cases:</FONT><FONT size=3> </FONT><FONT face=sans-serif
size=2><BR><BR>hexbinary - binary</FONT><FONT size=3> </FONT><FONT
face=sans-serif size=2><BR>hexbinary - text</FONT><FONT size=3> </FONT><FONT
face=sans-serif size=2><BR>base64binary - binary</FONT><FONT size=3>
</FONT><FONT face=sans-serif size=2><BR>base64binary - text</FONT><FONT
size=3> </FONT><FONT face=sans-serif size=2><BR><BR>I have specified these so
that the meaning of the xs:length facet is always interpreted exactly as in
XSD. It always refers to the number of bytes of the unencoded binary data, and
never to the number of characters in the encoded form.</FONT><FONT size=3>
</FONT>
<TABLE width="100%" border=4>
<TBODY>
<TR vAlign=top>
<TD width="9%">
<DIV align=center><FONT face=Arial
size=1><B><I>type</I></B></FONT></DIV>
<TD width="9%">
<DIV align=center><FONT face=Arial
size=1><B><I>representation</I></B></FONT></DIV>
<TD width="27%">
<DIV align=center><FONT face=Arial
size=1><B><I>lengthKind</I></B></FONT></DIV>
<TD width="16%">
<DIV align=center><FONT face=Arial size=1><B><I>resulting length (in
bytes)</I></B></FONT></DIV>
<TD width="37%">
<DIV align=center><FONT face=Arial
size=1><B><I>other</I></B></FONT></DIV>
<TR vAlign=top>
<TD><FONT face=Arial size=2>xs:hexBinary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>binary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>implicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>xs:length facet </FONT>
<TD>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>explicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>dfdl:length </FONT>
<TD><FONT face=Arial size=1>Validation: xs:length facet must be equal to
resulting length in bytes </FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>(TBD: similar range checks on xs:minLength,
xs:maxLength) </FONT></P>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>endOfData or delimited or
nullTerminated</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>variable</FONT><FONT size=3> </FONT>
<TD></TR></TBODY></TABLE><BR>
<TABLE width="100%" border=4>
<TBODY>
<TR vAlign=top>
<TD width="7%">
<DIV align=center><FONT face=Arial
size=1><B><I>type</I></B></FONT></DIV>
<TD width="7%">
<DIV align=center><FONT face=Arial
size=1><B><I>representation</I></B></FONT></DIV>
<TD width="19%">
<DIV align=center><FONT face=Arial
size=1><B><I>lengthKind</I></B></FONT></DIV>
<TD width="15%">
<DIV align=center><FONT face=Arial size=1><B><I>resulting length (in
characters)</I></B></FONT></DIV>
<TD width="49%">
<DIV align=center><FONT face=Arial
size=1><B><I>other</I></B></FONT></DIV>
<TR vAlign=top>
<TD><FONT face=Arial size=2>xs:hexBinary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>text</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>implicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>2 * xs:length facet</FONT><FONT size=3>
</FONT>
<TD>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>explicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>dfdl:length</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=1>Validation: xs:length facet * 2 must
be equal to resulting character length (after removing all non-hex
characters)</FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1> (TBD: similar range checks on
xs:minLength, xs:maxLength) </FONT></P>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>endOfData, delimited,
nullTerminated</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>Variable</FONT><FONT size=3> </FONT>
<TD></TR></TBODY></TABLE>
<P>
<TABLE width="100%" border=4>
<TBODY>
<TR vAlign=top>
<TD width="11%">
<DIV align=center><FONT face=Arial
size=1><B><I>type</I></B></FONT></DIV>
<TD width="9%">
<DIV align=center><FONT face=Arial
size=1><B><I>representation</I></B></FONT></DIV>
<TD width="26%">
<DIV align=center><FONT face=Arial
size=1><B><I>dfdl:lengthKind</I></B></FONT></DIV>
<TD width="15%">
<DIV align=center><FONT face=Arial size=1><B><I>resulting length (in
bytes)</I></B></FONT></DIV>
<TD width="36%">
<DIV align=center><FONT face=Arial
size=1><B><I>other</I></B></FONT></DIV>
<TR vAlign=top>
<TD><FONT face=Arial size=2>xs:base64Binary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>binary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>implicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>xs:length facet </FONT>
<TD>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>explicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>dfdl:length </FONT>
<TD><FONT face=Arial size=1>Validation: xs:length facet must be equal to
resulting length in bytes </FONT>
<P><FONT face=Arial size=1>(TBD: similar range checks on xs:minLength,
xs:maxLength) </FONT></P>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>endOfData or delimited or
nullTerminated</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>variable</FONT><FONT size=3> </FONT>
<TD></TR></TBODY></TABLE>
<P>
<TABLE width="100%" border=4>
<TBODY>
<TR vAlign=top>
<TD width="8%">
<DIV align=center><FONT face=Arial
size=1><B><I>type</I></B></FONT></DIV>
<TD width="7%">
<DIV align=center><FONT face=Arial
size=1><B><I>representation</I></B></FONT></DIV>
<TD width="18%">
<DIV align=center><FONT face=Arial
size=1><B><I>lengthKind</I></B></FONT></DIV>
<TD width="14%">
<DIV align=center><FONT face=Arial size=1><B><I>resulting length (in
characters)</I></B></FONT></DIV>
<TD width="51%">
<DIV align=center><FONT face=Arial
size=1><B><I>other</I></B></FONT></DIV>
<TR vAlign=top>
<TD><FONT face=Arial size=2>xs:base64Binary</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>text</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>implicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>8/6 * xs:length facet</FONT><FONT size=3>
</FONT>
<TD>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>explicit</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>dfdl:length</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=1>Validation: xs:length facet *
8/6 must be equal to resulting character length (after removing
all non-base64-encoding characters)</FONT><FONT size=3> </FONT>
<P><FONT face=Arial size=1>(TBD: similar range checks on xs:minLength,
xs:maxLength) </FONT></P>
<TR vAlign=top>
<TD>
<TD>
<TD><FONT face=Arial size=2>endOfData, delimited,
nullTerminated</FONT><FONT size=3> </FONT>
<TD><FONT face=Arial size=2>Variable</FONT><FONT size=3> </FONT>
<TD></TR></TBODY></TABLE>
<P><FONT face=sans-serif size=2>Looking at the above, one way to simplify
things quite a bit is to disallow the xs:length and xs:minLength and
xs:maxLength facet on hexBinary and base64Binary types in DFDL
schemas.</FONT><FONT size=3> </FONT>
<P><FONT face=sans-serif size=2>Then the implicit lengthKind goes away, and
the complex validation check for the xs:length facet goes away. I
recommend this.</FONT><FONT size=3> </FONT>
<P><FONT face=sans-serif size=2>Another simplification alternative is to
disallow representation text altogether, but I am concerned that peopel with
data that does contain hex or base64 data will naturally want to use these
types to model it. I don't recommend this.</FONT><FONT size=3> </FONT>
<P><FONT face=sans-serif size=2>...mikeb</FONT><FONT size=3> </FONT>
<P><FONT face=sans-serif size=2>Mike Beckerle<BR>STSM, Architect, Scalable
Computing<BR>IBM Software Group<BR>Information Platform and
Solutions<BR>Westborough, MA 01581<BR>direct: voice and FAX
508-599-7148<BR>assistant: Pam Riordan <BR>
priordan@us.ibm.com <BR>
508-599-7046</FONT><TT><FONT size=2><BR>--<BR>dfdl-wg
mailing
list<BR>dfdl-wg@ogf.org<BR>http://www.ogf.org/mailman/listinfo/dfdl-wg</FONT></TT><FONT
size=3> <BR></FONT><FONT face=sans-serif size=3><BR></FONT><FONT
size=3><BR><BR></FONT>
<HR>
<P><FONT face=sans-serif size=2><I>Unless stated otherwise above:<BR>IBM
United Kingdom Limited - Registered in England and Wales with number 741598.
<BR>Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU</I></FONT><FONT size=3> </FONT>
<P><FONT size=3><BR><BR></FONT><FONT face=sans-serif
size=3><BR><BR></FONT><FONT size=3><BR></FONT><FONT face=sans-serif
size=3><BR></FONT><FONT size=3><BR><BR></FONT>
<HR>
<P><FONT face=sans-serif size=2><I>Unless stated otherwise above:<BR>IBM
United Kingdom Limited - Registered in England and Wales with number 741598.
<BR>Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU</I></FONT><FONT size=3> </FONT>
<P><FONT size=3><BR><BR></FONT><FONT face=sans-serif
size=3><BR></FONT><TT><FONT size=2><BR>--<BR>dfdl-wg mailing
list<BR>dfdl-wg@ogf.org<BR>http://www.ogf.org/mailman/listinfo/dfdl-wg</FONT></TT><FONT
size=3> </FONT><BR><FONT face=sans-serif size=3><BR></FONT><BR><FONT
face=sans-serif size=3><BR></FONT>
<HR>
<FONT face=sans-serif size=2><BR><I><BR></I></FONT>
<P><FONT face=sans-serif size=2><I>Unless stated otherwise above:<BR>IBM
United Kingdom Limited - Registered in England and Wales with number 741598.
<BR>Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU</I></FONT>
<P><FONT face=sans-serif size=2><BR></FONT><FONT face=sans-serif
size=3><BR></FONT><BR><BR><FONT face=sans-serif
size=3><BR></FONT></P></BLOCKQUOTE></BODY></HTML>