<br><font size=2 face="sans-serif">Property 'occursStopValueKind' has its
origins in the analogous property 'nullValueKind'. They are both
trying to solve the same kind of out-of-band problem. </font>
<br>
<br><font size=2 face="sans-serif">I would suspect that many users would
be happier considering their array as being terminated by an out-of-band
stop value rather than by some odd looking markup which combines a separator
with a text value. You will notice in your example that you have had to
duplicate the occurs separator in two properties, which immediately says
to me that it's the wrong approach.</font>
<br>
<br><font size=2 face="sans-serif">Also, having literal and logical stop
values gives us a bit more flexibility. We may decide that stop values
are considered data and give rise to an API event. I think this needs more
discussion, we need to take into account the unparser side. </font>
<br>
<br><font size=2 face="sans-serif">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%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>"Simon Parker"
<simon.parker@polarlake.com></b> </font>
<br><font size=1 face="sans-serif">Sent by: dfdl-wg-bounces@ogf.org</font>
<p><font size=1 face="sans-serif">30/08/2007 12:16</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif"><dfdl-wg@ogf.org></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: [DFDL-WG] V3 of length/occurs simplification
proposal</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2 color=blue face="Arial">Hmmm...</font>
<br><font size=3> </font>
<br><font size=2 color=blue face="Arial">I wasn't around for 'occursStopValueKind',
so excuse me if I miss the point.</font>
<br><font size=3> </font>
<br><font size=2 color=blue face="Arial">Here's a question and a tentative
answer I was playing with recently:</font>
<br><font size=3> </font>
<br><font size=2 color=blue face="Arial">What's the difference between
stopValue and terminator?<br>
'terminator' can be used to scan a stream of characters or bits without
parsing elements<br>
'stopValue' can be used to scan a sequence of parsed elements. Its datatype
must be the same as the array element.</font>
<br><font size=2 color=blue face="Arial">If I'm right, then Steve's example
is invalid because "done" is not an integer. To make it valid,
either:</font>
<br><font size=2 color=blue face="Arial"> - the stopValue
must be an 'int' such as -1, or</font>
<br><font size=2 color=blue face="Arial"> - the out-of-band
value "done" or "|done" must be a terminator for an
enclosing construct as follows.</font>
<br><font size=3> </font>
<br><font size=2 color=blue face="Arial">Change this:</font>
<br><font size=2 face="Arial"><element name="x" type="int"
maxOccurs="unbounded" dfdl:occursSeparator="|" dfdl:occursKind="stopValue"
dfdl:stopValue="done" dfdl:occursStopValueKind="literal"
dfdl:representation="text"/></font><font size=3 face="Times New Roman">
</font><font size=2 color=blue face="Arial"><br>
to this:</font>
<br><font size=2 face="Arial"><sequence dfdl:lengthKind="delimited"
dfdl:terminator="|done" dfdl:applies="hereonly"></font>
<br><font size=2 face="Arial"> <element name="x"
type="int" maxOccurs="unbounded" dfdl:occursSeparator="|"
dfdl:occursKind="endOfData" dfdl:representation="text"/></font><font size=3 face="Times New Roman">
</font><font size=2 face="Arial"><br>
</sequence></font>
<br><font size=2 color=blue face="Arial"> </font>
<br><font size=2 color=blue face="Arial">If I'm wrong, then what is the
correct answer to the question?</font>
<br><font size=3> </font>
<br><font size=2 color=blue face="Arial">---</font>
<br><font size=3> </font>
<br><font size=2 color=blue face="Arial">If we change the name of the property
'stopValue', then I would find these candidates consistent with similar
concepts elsewhere:</font>
<br><font size=2 color=blue face="Arial"> occursTerminator</font>
<br><font size=2 color=blue face="Arial"> occursTerminatorValue</font>
<br><font size=2 color=blue face="Arial"> terminatorValue</font>
<br><font size=3> </font>
<br><font size=2 face="Arial"> Simon</font>
<br><font size=3> </font>
<br>
<br>
<hr><font size=2 face="Tahoma"><b>From:</b> dfdl-wg-bounces@ogf.org [mailto:dfdl-wg-bounces@ogf.org]
<b>On Behalf Of </b>Mike Beckerle<b><br>
Sent:</b> 29 August 2007 19:52<b><br>
To:</b> Steve Hanson<b><br>
Cc:</b> dfdl-wg@ogf.org; dfdl-wg-bounces@ogf.org<b><br>
Subject:</b> Re: [DFDL-WG] V3 of length/occurs simplification proposal</font><font size=3><br>
</font>
<br><font size=2 face="sans-serif"><br>
Seems like occursStopValueKind="literal" only applies to representation="text".
</font><font size=3><br>
</font><font size=2 face="sans-serif"><br>
With that caveat, I think I agree we need to be able to say </font><font size=3><br>
</font><font size=2 face="sans-serif"><br>
<element name="x" type="int" maxOccurs="unbounded"
dfdl:occursSeparator="|" dfdl:occursKind="stopValue"
dfdl:stopValue="done" dfdl:occursStopValueKind="literal"
dfdl:representation="text"/></font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
Then this would be valid 3 occurences for element x.</font><font size=3>
<br>
</font><font size=2 face="sans-serif"><br>
2|3|4|done</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
I think we shoudl rename dfdl:stopValue to dfdl:occursStopValue for consistency.
</font><font size=3><br>
<br>
</font><font size=2 face="sans-serif"><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%>
<tr valign=top>
<td width=38%><font size=1 face="sans-serif"><b>Steve Hanson <smh@uk.ibm.com></b>
</font>
<p><font size=1 face="sans-serif">08/29/2007 01:32 PM</font><font size=3>
</font>
<td width=61%>
<br>
<table width=100%>
<tr valign=top>
<td width=12%>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td width=87%><font size=1 face="sans-serif">Mike Beckerle/Worcester/IBM@IBMUS</font><font size=3>
</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">dfdl-wg@ogf.org, dfdl-wg-bounces@ogf.org</font><font size=3>
</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: [DFDL-WG] V3 of length/occurs simplification
proposal</font></table>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=50%>
<td width=50%></table>
<br></table>
<br><font size=3><br>
<br>
</font><font size=2 face="sans-serif"><br>
<br>
Mike - looking at an old level of the spec, we had a occursStopValueKind
property, with enums 'logical', 'literal' and 'missing'. Analogous
to nullvalueKInd property. I'm sure we want to handle 'missing' differently
but the literal v logical distinction is required. How are we proposing
to cover this? <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%>
<tr valign=top>
<td width=43%><font size=1 face="sans-serif"><b>Mike Beckerle <beckerle@us.ibm.com></b>
<br>
Sent by: dfdl-wg-bounces@ogf.org</font><font size=3> </font>
<p><font size=1 face="sans-serif">29/08/2007 16:29</font><font size=3>
</font>
<td width=56%>
<br>
<table width=100%>
<tr valign=top>
<td width=12%>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td width=87%><font size=1 face="sans-serif">dfdl-wg@ogf.org</font><font size=3>
</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">[DFDL-WG] V3 of length/occurs simplification
proposal</font></table>
<br><font size=3><br>
</font>
<br>
<table width=100%>
<tr valign=top>
<td width=50%>
<td width=50%></table>
<br></table>
<br><font size=3><br>
<br>
</font><font size=2 face="sans-serif"><br>
<br>
Based on minutes from last week's meeting I've updated to v3 the proposal
for simplifying length/occurs properties.</font><font size=3> </font>
<p><font size=2 face="sans-serif">Changes are marked with comments.</font><font size=3>
</font><tt><font size=2>--<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 size=3 face="sans-serif"><br>
</font><font size=3><br>
<br>
</font>
<hr>
<p><font size=2 face="sans-serif"><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 size=3 face="sans-serif"><br>
</font><tt><font size=2>--<br>
dfdl-wg mailing list<br>
dfdl-wg@ogf.org<br>
http://www.ogf.org/mailman/listinfo/dfdl-wg</font></tt>
<br><font size=3 face="sans-serif"><br>
</font>
<br><font size=3 face="sans-serif"><br>
</font>
<hr><font size=2 face="sans-serif"><br>
<i><br>
</i></font>
<p><font size=2 face="sans-serif"><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 size=2 face="sans-serif"><br>
</font><font size=3 face="sans-serif"><br>
</font>
<br>
<br><font size=3 face="sans-serif"><br>
</font>