Here's what we say about "implicit"
in its various usages:
For dfdl:lengthKind="implicit":
‘implicit means the length is to be determined
in terms of the type of the element and its schema-specified properties
if any.
For binary representations of fixed-length
numeric types (byte, short, int, long and their unsigned variants, float,
double and any simple restrictions of these), dfdl:lengthKind='implicit'
means the length (in bits) will match the maximum precision for the base
type of the element. For example 32 bits for ‘int’ type (or anything
derived from it), 64 bits for ‘long’ type, 8 bits for ‘byte’ etc.
For simple type elements with text representations
(including xs:string type elements) the XSD length information (length
or maxLength facets) are used.
For complex type elements that are sequences,
'implicit' means the length is determined by adding up the lengths of the
contained children, plus that of any separators or other framing introduced
by the sequence itself.
for dfdl:calendarPattern='implicit':
‘implicit’ means the pattern is derived
from the XML schema date/time type.
for dfdl:alignment='implicit' ( my words
):
'implicit' means the number is aligned
on a byte boundary using the natural size of the binary number based on
its XML Schema simple type'
for dfdl:choiceKind='implicit':
When lengthKind='implicit' all alternative
branches of the choice are padded to the fixed length of the largest one
so that overall the entire choice construct is fixed length
1. I'm still not clear why 'parsed'
is better than 'implicit'. It's a new keyword for DFDL, and seems to overlap
a great deal with the meaning of 'implicit'. The justification given
for 'parsed' seems to give undue emphasis to the simple type usage. If
you look at all of the uses of 'implicit' listed above it has quite
a wide range of meanings, but they can be summarized as:
'use the XML Schema definitions instead
of the DFDL annotations' ( lengths of xs:string and binary numbers
)
'parse recursively to discover the implicit
length' ( lengths of complex types
and choices )
For dfdl:occursCountKind='implicit',
the meaning would be
'use the XML Schema definitions instead
of the DFDL annotations' ( xs:minOccurs / xs:maxOccurs instead of
dfdl:occursCount/dfdl:stopValue)
'parse recursively to discover the implicit
length of the array' ( use normal parsing
rules until the end of the array is found )
2. The assertion about dfdl:initiatedContent
is wrong. If the array is initiated, the number of occurrences can be found
using the normal speculative parsing rules. No need for the containing
structure or the next sibling to be initiated. If we limit the usage of
dfdl:initiatedContent, I think we will introduce inconsistencies in the
way that users can control backtracking at a point of uncertainty.
regards,
Tim Kimber, Common Transformation Team,
Hursley, UK
Internet: kimbert@uk.ibm.com
Tel. 01962-816742
Internal tel. 246742
----- Forwarded by Tim
Kimber/UK/IBM on 13/08/2009 13:58 -----
From:
| dfdl-wg-request@ogf.org
|
To:
| dfdl-wg@ogf.org
|
Date:
| 13/08/2009 13:17
|
Subject:
| dfdl-wg Digest, Vol 36, Issue 9 |
Send dfdl-wg mailing list submissions to
dfdl-wg@ogf.org
To subscribe or unsubscribe via the World Wide Web, visit
http://www.ogf.org/mailman/listinfo/dfdl-wg
or, via email, send a message with subject or body 'help' to
dfdl-wg-request@ogf.org
You can reach the person managing the list at
dfdl-wg-owner@ogf.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of dfdl-wg digest..."
Today's Topics:
1. Minutes for OGF DFDL Working Group Call, Aug-12-2009 (Alan Powell)
----------------------------------------------------------------------
Message: 1
Date: Thu, 13 Aug 2009 13:16:43 +0100
From: Alan Powell <alan_powell@uk.ibm.com>
Subject: [DFDL-WG] Minutes for OGF DFDL Working Group Call,
Aug-12-2009
To: dfdl-wg@ogf.org
Message-ID:
<OFE15B314F.603C9401-ON80257611.00434F4E-80257611.00437213@uk.ibm.com>
Content-Type: text/plain; charset="us-ascii"
Open Grid Forum: Data Format Description Language Working Group
OGF DFDL Working Group Call, Aug-12-2009
Attendees
Mike Beckerle (Oco)
Alan Powell (IBM)
Suman Kalia (IBM)
Apologies
Peter Lambros (IBM)
Steve Hanson (IBM)
Actions discussed and updated below.
1. Scoping element and group reference (Suman)
Suman had emailed some examples of element and group references but these
did not follow the proposed new scoping rules and parameterization.
Suggest that PL uses these examples when completing Action 042 Variables.
2. New occursCountKind for when number of occurrences can be resolved by
parsing.
Agreed that this needs to be added.
Following considered as new enumeration
- 'implicit': rejected. Although dfdl:lengthKind='implicit' for
complexTypes meant 'the length of the children' for simpleTypes it has
the
very strict meaning on used xs:length or xs:maxlength.
- 'delimited' : rejected. dfdl:lengthKind='delimited' uses terminators
and
separators to determine length rather than initiators or other speculative
parsing.
- 'parsed': accepted. Although not ideal it was felt this most described
the behaviour.
It was also agreed that it wasn't necessary to add dfdl:initiatedContent
fo arrays as for this to work the following element must also be initiated
so the containing sequence would have dfdl:initiatedContent
3. Make dfdl:initiatedContent discriminating
It was agreed to extend the meaning of dfdl:initiatedContent to make it
discriminating when the content is optional.
Actions raised at this meeting
No
Action
Current Actions:
No
Action
012
AP/SH: Update decimalCalendarScheme
10/9: Not allocated yet
17/9: No update
24/9: Add calendar binary formats to actions
22/10: No progress
16/1: proposal distributed and discussed. Will be redistributed
21/1: add locale,
04/02: changed from locale to specific properties
18/2: Need more investigation of ICU strict/lax behaviour.
08/04: Not discussed
22/04: AP to complete asap once the ICU strict/lax behaviour is
understood.
29/04: No progress
06/05: No progress
13/05: Calendar has been added to latest spec version v034 but still a
few
details to clarify.
20/05: No Progress
27/05: No Progress
03/06: No Progress (low priority)
09/06: No Progress (low priority)
17/06: SH to check ICU code for lax calendar behaviour
24/06: no progress
01/07: no progress
15/07: no progress
29/07: no progress
05/08: no progress
12/08: no progress
026
SH: Envelopes and Payloads
08/04: Not discussed explicity, but recursive use of DFDL is tied up with
this
22/04: Two aspects. Firstly compositional - do sufficient mechanisms exist
to model an envelope with a payload that varies. Secondly markup syntax
-
this might be defined in the envelope.
The second of these is very much tied up with the variable markup action
028, so will be considered there. SH to verify the composition aspect.
29/04: SH and AP working on proposal. related to Action 028
06/05: No progress
06/05: No progress
20/05: No Progress
27/05: Still a number of aspects to be decided.
- Compostion - Does the envelope and payload need to be defined in the
same schema or should they be dynamically bound at runtime?
- Compostion- How is a variable payload specified. Choice or xs:any; New
action raised to discuss xs:any
- extracting dymanic syntax from data. Covered by action 029 valuecalc.
03/06: Dynamic runtime binding will not be supported.
SH investigating use of variables to enable standalone and use in envelope
of global element.
09/06: Payload should be specified using a choice rather than xs:any
17/06: SH still working on example using variables
24/06: SH to document how property list satisfies uses cases.
01/07: SH to document how property list satisfies uses cases. PL looking
at variable also. MB suggested modelling first separator as data for use
case 3.
15/07: Action 042 on variables now includes examples of enevlopes and
payloads. SH will also circulate what he has agreed with WTX team.
29/07: no progress
05/08: see action 042
12/08: see action 042
033
AP/TK: Assert/Discriminator semantics. AP to document. TK to check uses
of
discriminator besides choice.
08/04: In progress within IBM
22/04: Waiting for TK to return from leave to complete.
29/04: TK has sent examples shown need for discriminators beyond choice.
Agreed. MB to respond to TK
06/05: Discussed suggestion of adding type indicator to discriminator.
MB
to provide examples.
15/03: Semantic documented in v034. MB to provide examples of need for
scope indicator on discriminator
20/05: MB to provide examples of need for scope indicator on discriminator
(but lower priority than action 029)
27/05: No Progress (lower priority)
03/06: No Progress (lower priority)
09/06: No Progress (lower priority)
24/06: No Progress (lower priority)
01/07: No Progress (lower priority)
15/07: No Progress (lower priority)
29/07: no progress (lower priority)
05/08: No Progress (lower priority)
12/08: No Progress (lower priority)
037
All: Approach for XML Schema 1.0 UPA checks.
22/04: Several non-XML models, when expressed in their most obvious DFDL
Schema form, would fail XML Schema 1.0 Unique Particle Attribution checks
that police model ambiguity. And even re-jigging the model sometimes
fails to fix this. Note this is equally applicable to XMl Schema 1.1 and
1.0. While the DFDL parser/unparser can happily resolve the ambiguities,
the issue is one of definition. If an XSD editor that implements UPA
checks is used to create DFDL Schema, then errors will be flagged. DFDL
may have to adopt the position that:
a)DFDL parser/unparser will not implement some/all UPA checks (exact
checks tbd)
b) XML Schema editors that implement UPA checks will not be suitable for
all DFDL models
c) If DFDL annotations are removed, the resulting pure XSD will not always
be valid (ie, the equivalent XML is ambiguous and can't be modelled by
XML
Schema 1.0)
Ongoing in case another solution can be found.
29/04: Will ask DG and S Gao for opinion before closing
06/05: Discussed S Gao email and suggestions. Decided need to review all
XML UPA rules and decide which apply to dfdl.
20/05: SH or SKK to investigate
27/05: No Progress
03/06: The concern is that some dfdl schemas will fail UPA check when
validation is turned on or when editted using tooling that enforces UPA
checks. Renaming fields will resolve some/most issues. Need documentation
that describes issue and best practice.
17/06: no change
24/06: no change
01/07: no prgress
15/07: No Progress (lower priority)
29/07: No Progress (lower priority)
05/08: No Progress (lower priority)
12/08: No Progress (lower priority)
042
MB: Complete variable specification.
To include how properties such as encoding can be set externally. Must
be
a known variable name.
06/05: No progress
20/05: AP to make proposal
27/05: MB proposed differentiating between input and output variables to
avoid unnecessary evaluations during parse and unparse. Need to complete
rest of variable specification.
03/06: Pointed out problem of declaring variables input or output when
used to define syntax which is used both times. MB to update proposal to
include how variables are set externally and how specific properties such
as encoding are set.
09/06: SKK to use example to dicument his proposal
17/06: SKK to refine proposal. Other aspects need progress.
24/06: SKK proposal discussed but not accepted. PL to document simpler
proposal.
07/01: PL working on proposal
15/07: PL has distributed his proposal. SH, MB and SKK have commented.
Broad agreement in principle. Need to agree on better name for
dfdl:variable to reflect the annotation's purpose. PL to update proposal.
15/07: No Progress
29/07: No Progress
05/08: SH and others had commented on Variables [Draft proposal -
20090715].doc. SH stated that fixOnMatch is not needed in dfdl v1.0
MB will document how to implement fixOnMatch behaviour with existing
function. PL to update proposal
12/08: PL to update proposal with SKK examples.
044
13/05: Bidi
20/05: AP: will check what IBM products support.
27/05: Bidi is supported so will be needed in dfdl v1
03/06: No Progress
09/06: No Progress
24/06: No Progress
01/07: AP started investigation and documented issues. Suggest do whatever
XML does.
15/07: No further progress
29/07: No Progress
05/08: AP has been in touch with IBM bidi experts.
12/08: No Progress
045
20/05 AP: Speculative Parsing
27/05: Psuedo code has been circulated. Review for next call
03/06: Comments received and will be incorporated
09/06: Progress but not discussed
17/06: Discussed briefly
24/06: No Progress
01/07: No Progress
15/07: No progress. MB not happy with the way the algorithm is documented,
need to find a better way.
29/07: No Progress
05/08: No Progress. Will document behaviour as a set of rules.
12/08: No Progress
049
20/05 AP Built-in specification description and schemas
03/06: not discussed
24/06: No Progress
24/06: No Progress (hope to get these from test cases)
15/07: No progress. Once available, the examples in the spec should use
the dfdl:defineFormat annotations they provide.
29/07: No Progress (lower priority)
05/08: No Progress (lower priority)
12/08: No Progress (lower priority)
051
Scoping rules.
MB: to document change to scoping rules to satisfy implementation concerns
17/06: MB and SH proposals discussed. Needs further discussion
24/06: AP to update presentation with latest proosal
24/06: AP had updated presentation. MB to review
08/07: Discussed at length. Simple types will now take annotations.
Variables will be used for parameters.
15/07: No further progress. Needs final write up.
29/07: No Progress
05/08: No Progress
12/08: No Progress
054
ICU DecimalNumber/ Calendar behaviour
15/07: No progress
29/07: No Progress.
05/08: No Progress. This action is to discover and document ICU behaviour.
DFDL will do whatever ICU does.
12/08: No Progress
055
Document which properties can take an expression
12/08: AP has distributed proposed list of properties and wording
056
resolve lenghtKind=bits including fillbytes
12/08: No Progress
Closed actions:
Work items:
No
Item
target version
status
003
Variables (from action 042)
036
awaiting completion of action 042
005
Improvements on property descriptions
not started
006
Envelopes and Payloads (from action 026)
036
awaiting completion of actions 026 and 042
007
valueCalc (from action 029)
036
ensure all aspects documented
011
How speculative parsing works (combining choice and variable-occurence
-
currently these are separate) (from action 045)
awaiting completion of actions 045
012
Reordering the properties discussion: move representation earlier, improve
flow of topics
not started
033
Numeric data - what physical reps are allowed for what logical types (from
action 020)
036
ensure all behaviour documented
036
Update dfdl schema with change properties
038
Improve length section including bit handling
not started
042
Mapping of the DFDL infoset to XDM
not required for V1 specification
051
Revised scoping rules (from action 051)
036
awaiting completion of action 051
052
add entity for 'one or more white space characters'
036
053
name, baseFormat, selector, escapeSchemeRef, textNumberFormatRef,
textCalendarFormatRef, binaryCalendarFormatRef attributes only
036
054
Add occureCountKind='parsed'
036
055
Make dfdl:initiatedConet discriminating
036
Next call 19 August 14:00 UK
Meeting closed, 15:00
Alan Powell
MP 211, IBM UK Labs, Hursley, Winchester, SO21 2JN, England
Notes Id: Alan Powell/UK/IBM email: alan_powell@uk.ibm.com
Tel: +44 (0)1962 815073
Fax: +44 (0)1962 816898
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20090813/4ec1ac2a/attachment.html
------------------------------
--
dfdl-wg mailing list
dfdl-wg@ogf.org
http://www.ogf.org/mailman/listinfo/dfdl-wg
End of dfdl-wg Digest, Vol 36, Issue 9
**************************************
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU