
------------------------- replication failed so I am not sure if it ever got distributed.. Mike - You are right. Here is a simplified description of these types .. They are both binary . One alternative is to treat them as native XSD types, honor the encoding schemas as defined in schema and allow only the set of dfdl:annotations pertaining to the set of valid XSD facets. enumeration, length, maxLength, minLength, pattern hexBinary The value space of xsd:hexBinary is the set of all binary contents; its lexical space is a simple coding of each octet as its hexadecimal value. base64Binary The value space of xsd:base64Binary is the set of arbitrary binary contents. Its lexical space is the same set after base64 coding. This coding is described in Section 6.8 of RFC 2045. Restrictions RFC 2045 describes the transfer of binary contents over text-based mail systems. It imposes a line break at least every 76 characters to avoid the inclusion of arbitrary line breaks by the mail systems. Sending base64 content without line breaks is nevertheless a common usage for applications such as SOAP and the W3C XML Schema Working Group. After a request from other W3C Working Groups, the W3C XML Schema Working Group decided to remove the obligation to include these line breaks from the constraints on the lexical space. (This decision was made after the publication of the W3C XML Schema Recommendation. It is now noted in the errata.) Suman Kalia IBM Toronto Lab WebSphere Business Integration Application Connectivity Tools Tel : 905-413-3923 T/L 969-3923 Fax : 905-413-4850 T/L 969-4850 Internet ID : kalia@ca.ibm.com Mike Beckerle <beckerle@us.ibm.com> Sent by: dfdl-wg-bounces@ogf.org 11/16/2007 04:55 PM To Mike Beckerle <beckerle@us.ibm.com> cc dfdl-wg@ogf.org, dfdl-wg-bounces@ogf.org Subject Re: [DFDL-WG] DFDL infoset and hexBinary Let me start answering my own question by way of these two definitions found in the XSD spec: The ·value space· of hexBinary is the set of finite-length sequences of binary octets. The ·value space· of base64Binary is the set of finite-length sequences of binary octets. Note that the value of these is not some sort of encoded string form. I.e., hexBinary values do not involve characters 0-9A-F, rather. It's the octets that are the value. To me this means that hexBinary and base64Binary are really identical in DFDL, except if we provide some sort of expressions for converting them to/from strings in that case the conversions are different and produce/consume different strings. ...mike Mike Beckerle/Worcester/IBM@IBMUS Sent by: dfdl-wg-bounces@ogf.org 11/16/2007 04:23 PM To dfdl-wg@ogf.org cc Subject [DFDL-WG] DFDL infoset and hexBinary What is the DFDL infoset value for a hexBinary type element? Our doc says an element of type hexBinary has a value member in the infoset whose type is a hexBinary, but what is a hexBinary anyway? Consider this 12 bytes of data, dumped here as hex: 003100320033004100420043 If that's a string in UTF-16BE encoding, it looks like "123ABC" It is 12 bytes long. Suppose we describe this using this DFDL: <element name="a" type="hexBinary" length='12' /> As I understand it, this is correct XSD in that the length of a hexBinary is always specified as the number of 'octets' of the binary data, not characters. Now, the contents of the basic XML infoset for an element matching this schema are these 24 characters: "003100320033004100420043". This is because the XML infoset has no idea what this string is because it is not schema aware. An XML document corresponding to this might look like: <! xml version='1.0' encoding="UTF-16BE" !> <a>003100320033004100420043</a> So, the question is...... What are the contents of the DFDL Infoset for a hexBinary like this? Same 24 characters? or 12 'octets' of data? This is essentially the answer to the question "what IS a hexBinary?" or maybe "what is a hexBinary in the PSVI other than just a string?" ...mikeb -- dfdl-wg mailing list dfdl-wg@ogf.org http://www.ogf.org/mailman/listinfo/dfdl-wg -- dfdl-wg mailing list dfdl-wg@ogf.org http://www.ogf.org/mailman/listinfo/dfdl-wg