dfdl-wg
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
August 2010
- 3 participants
- 11 discussions
Hi,
I stumbled upon DFDL searching about data archaeology - very interesting
and relevant work! Is it already applied in practise for information
preservation in libraries and archives? Unfortunately DFDL is not
documented very well, compared to standards of W3C and similar
institutions. Do you plan to set up a website with a more readable
description of DFDL like other popular standards? json.org is one of the
good examples because it describes the JSON standard easy to understand
and with links to implementations.
My second question is about the notation of DFDL. Has anyone tried to
create a notation that is not based on XML? For instance Notation 3 is
much more readable than RDF/XML and Backus-Naur-Form is more readable
than a grammar formally defined in mathematical formulas. Especially if
you describe non-XML formats it is a barrier to set up the whole XML
framework stack in oder to use DFDL.
I think that DFDL has strong potential but in the current form (both the
way it is documented and its notation) it does not encourage potential
users to adopt it.
Cheers
Jakob Voss
--
Verbundzentrale des GBV (VZG)
Digitale Bibliothek - Jakob Voß
Platz der Goettinger Sieben 1
37073 Goettingen - Germany
+49 (0)551 39-10242
http://www.gbv.de
jakob.voss(a)gbv.de
3
2

31 Aug '10
1. Current Actions
Current Actions:
No
Action
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
...
17/02: IBM is willing in principle to publish the test case format and
some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will
be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases
will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
25/08: Will chase to allow Daffodil access to test cases.
The WG should define how implementation confirm that they 'conform to DFDL
v1'
085
ALL: publicise Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask
them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan
had posted changes made in draft 041. Steve suggested send a note to the
WG highlighting these changes. Steve also suggested requesting an
extension as other IBM groups may review. We discussed whether this was
necessary as changes will need to be made during the implementation phase
anyway. Alan to ask OGF what the process is for changes post public
comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of
the process.
30/06: Alan has emailed Joel asking what the process is now public comment
period is over and can we update the published version with WG updates. No
response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
04/08: Joel has responded that it is up to the WG to decide if the changes
are significant enough to need additional review. Alan to contact David
Martin and Erwin Laure for guidance if we split the specification.
11/08: Received a response from Joel that the WG can decide if a re-
public review is necessary before becoming a 'proposed recommendation'.
Alan responded that the WG agreed that a re-review was not necessary. The
next stage is for OGF review committee to approve publication.
11/08: Specification is now 'awaiting author changes' before being
submitted to the OGF technical committee for approval as a 'proposed
specification'.
Alan would like to have the updated specification complete by Sept 10th.
The WG needs to complete all actions by then or decide that they do not
need to be included in this phase of the process.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a
separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports.
Suggested levels and/or profiles. Steve highlighted a problem when a DFDL
schema from an implementation of just the core functions was moved to a
full DFDL implementation what should happen about the missing properties.
Does the full implementation need to be aware of subsets of functions?
Should it raise a schema definition error for use of a function not in the
subset.
21/07: no progress
04/08: Steve had updated proposed groups of function.
(Subset_proposal_v2.ppt). We discussed whether its is better to have
discrete sets of functions or expanding levels of function.
Purpose of subsetting is:
1. Allow simpler implementations. (main purpose)
2. Simplify tooling
3. Simplify specification.
Steve to contact previous members of WG to check if we have the correct
subsets
11/08: Steve sent an email to previous members of the WG asking for
opinions on splitting the specification. Bob McGrath from National Center
For Supercomputing responded that they had implemented about 80% of the
function. Alejandro will send a description of the function they have
implemented.
Action will be raised to track the Daffodil implementation
11/08: not discussed
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a
validation error or processing error. Decided that for consistency it
should be a validation error.
It would be useful however to avoid having to duplication of facet
information in an assert which could become unwieldy for, say, a large
enumeration.
Suggestions
- a parser option that 'converted all validation errors to processing
errors'
- a dfdl expression function that 'applied all facets' or 'applied
specific facet' to a particular element.
Stephanie will produce some examples of how this could be used..
04/08: Stephanie had produced examples but they were not discussed due to
lack of time
11/08: We started to discuss Stephanie's HIPPA example but ran out of
time.
25/08: Not discussed
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual
bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that
use existence flags to see if they are still required.
04/08: Not discussed
11/08: Not discussed
25/08: Not discussed
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
25/08: there has been some offline discussions about simplifying how
hidden elements are implemented. The proposal is
dfdl:hidden property on xs:element only
xs:minOccurs and xs:maxOccurs MUST be 0 when hidden
dfdl:minOccurs and dfdl:maxOccurs for hidden elements only.
An element is 'required' when dfdl:minOccurs >0 and normal default
processing occurs.
The schema, without dfdl annotations, must match the infoset so
assumption is that non-DFDL tools, such as mappers, will ignore/not show
elements with xs:minOccurs and xs:maxOccurs = '0'
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
11/08: Not discussed
25/08: Not discussed
110
Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values after the element has been parsed
just creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
element has been parsed.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
25/08: There was a brief discussion as IBM needs a resolution soon. Is it
possible to restrict newVariableInstance to backward references only so
remove the problem? setVariable must obviously be able to access the
current value.
111
Daffodil DFDL parser
Bob and Alejandro described the new implementation that they have
developed. It is a new code base and is not based on the Deffudle
prototype. It is written in scala and implements approximately 80% of the
features in the public comments draft of DFDL V1. Alejandro will send a
list of the features not implemented.
We discussed the scenarios that motivated the development which was to
extract data from various sources and transform into canonical formats.
Bob offered to make Daffodil available for the WG to assess the
functionality. IBM WG members will get approval the company to allow them
to receive Daffodil.
Bob raised the question that if Daffodil becomes the public implementation
of DFDL then we will need to work out how that would be funded and
managed.
It would be helpful if IBM test cases were available to Daffodil. IBM will
investigate
25/08: Alejandro had sent a list of the functions that he has implemented
and Steve ahd responding indicating the extra functions he thought were
essential.
Since then Alejandro has implemented some of the missing functions, such
as escape schemes, pre-defined variables, binary decimal numbers, etc, and
will update his list.
Bob is planning to make the parser available on the internet to allow
testing.
His organisation is being reorganised and he doesn't know what the
priority of Daffodill will be so it is essential that we move quickly. It
would help if IBM could indicate its support for Daffodil in some
semi-formal way.
Discussed how to certify DFDL implementations. Alan to investigate if OGF
have a defined process.
112
DFDL certification process
113
2. Regular Expressions.
The DFDL regular expressions should provide lookahead and backreferences.
Is the current regular expression language sufficient?
Discussed two aspects:
a. Is the XML regular expression language the correct one to use. Tim
asked if DFDL needs to specify an language at all and should leave it to
implementers to pick one. That would inhibit portability of schema.
b. A regular expression property on an assert/discriminator as an
alternative to the test expression. Either a DFDL expression or a regular
expression could be specified but not both.
114
3. OGF 30
OGF30 takes place on October 25-29 in Brussels
Should we have a WG session?
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
1
0
Open Grid Forum: Data Format Description Language Working Group
OGF DFDL Working Group Call, August 25-2010
Attendees
Alan Powell (IBM)
Suman Kalia (IBM)
Tim Kimber(IBM)
Bob McGrath (National Center for Supercomputing Applications)
Alejandro Rodriguez (National Center for Supercomputing Applications)
Apologies
Mike Beckerle (Oco)
Stephanie Fetzer (IBM)
Steve Hanson (IBM)
1. Current Actions
Updated Below
2. Regular Expressions.
The DFDL regular expressions should provide lookahead and backreferences.
Is the current regular expression language sufficient?
Discussed two aspects:
a. Is the XML regular expression language the correct one to use. Tim
asked if DFDL needs to specify an language at all and should leave it to
implementers to pick one. That would inhibit portability of schema.
b. A regular expression property on an assert/discriminator as an
alternative to the test expression. Either a DFDL expression or a regular
expression could be specified but not both.
3. OGF 30
OGF30 takes place on October 25-29 in Brussels
Should we have a WG session?
Meeting closed, 16:30
Next call Wednesday 1 September 2010 15:00 UK (10:00 ET)
Next action: 115
Actions raised at this meeting
No
Action
112
DFDL certification process
113
2. Regular Expressions.
The DFDL regular expressions should provide lookahead and backreferences.
Is the current regular expression language sufficient?
Discussed two aspects:
a. Is the XML regular expression language the correct one to use. Tim
asked if DFDL needs to specify an language at all and should leave it to
implementers to pick one. That would inhibit portability of schema.
b. A regular expression property on an assert/discriminator as an
alternative to the test expression. Either a DFDL expression or a regular
expression could be specified but not both.
114
3. OGF 30
OGF30 takes place on October 25-29 in Brussels
Should we have a WG session?
Current Actions:
No
Action
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
...
17/02: IBM is willing in principle to publish the test case format and
some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will
be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases
will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
25/08: Will chase to allow Daffodil access to test cases.
The WG should define how implementation confirm that they 'conform to DFDL
v1'
085
ALL: publicise Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask
them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan
had posted changes made in draft 041. Steve suggested send a note to the
WG highlighting these changes. Steve also suggested requesting an
extension as other IBM groups may review. We discussed whether this was
necessary as changes will need to be made during the implementation phase
anyway. Alan to ask OGF what the process is for changes post public
comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of
the process.
30/06: Alan has emailed Joel asking what the process is now public comment
period is over and can we update the published version with WG updates. No
response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
04/08: Joel has responded that it is up to the WG to decide if the changes
are significant enough to need additional review. Alan to contact David
Martin and Erwin Laure for guidance if we split the specification.
11/08: Received a response from Joel that the WG can decide if a re-
public review is necessary before becoming a 'proposed recommendation'.
Alan responded that the WG agreed that a re-review was not necessary. The
next stage is for OGF review committee to approve publication.
11/08: Specification is now 'awaiting author changes' before being
submitted to the OGF technical committee for approval as a 'proposed
specification'.
Alan would like to have the updated specification complete by Sept 10th.
The WG needs to complete all actions by then or decide that they do not
need to be included in this phase of the process.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a
separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports.
Suggested levels and/or profiles. Steve highlighted a problem when a DFDL
schema from an implementation of just the core functions was moved to a
full DFDL implementation what should happen about the missing properties.
Does the full implementation need to be aware of subsets of functions?
Should it raise a schema definition error for use of a function not in the
subset.
21/07: no progress
04/08: Steve had updated proposed groups of function.
(Subset_proposal_v2.ppt). We discussed whether its is better to have
discrete sets of functions or expanding levels of function.
Purpose of subsetting is:
1. Allow simpler implementations. (main purpose)
2. Simplify tooling
3. Simplify specification.
Steve to contact previous members of WG to check if we have the correct
subsets
11/08: Steve sent an email to previous members of the WG asking for
opinions on splitting the specification. Bob McGrath from National Center
For Supercomputing responded that they had implemented about 80% of the
function. Alejandro will send a description of the function they have
implemented.
Action will be raised to track the Daffodil implementation
11/08: not discussed
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a
validation error or processing error. Decided that for consistency it
should be a validation error.
It would be useful however to avoid having to duplication of facet
information in an assert which could become unwieldy for, say, a large
enumeration.
Suggestions
- a parser option that 'converted all validation errors to processing
errors'
- a dfdl expression function that 'applied all facets' or 'applied
specific facet' to a particular element.
Stephanie will produce some examples of how this could be used..
04/08: Stephanie had produced examples but they were not discussed due to
lack of time
11/08: We started to discuss Stephanie's HIPPA example but ran out of
time.
25/08: Not discussed
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual
bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that
use existence flags to see if they are still required.
04/08: Not discussed
11/08: Not discussed
25/08: Not discussed
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
25/08: there has been some offline discussions about simplifying how
hidden elements are implemented. The proposal is
dfdl:hidden property on xs:element only
xs:minOccurs and xs:maxOccurs MUST be 0 when hidden
dfdl:minOccurs and dfdl:maxOccurs for hidden elements only.
An element is 'required' when dfdl:minOccurs >0 and normal default
processing occurs.
The schema, without dfdl annotations, must match the infoset so
assumption is that non-DFDL tools, such as mappers, will ignore/not show
elements with xs:minOccurs and xs:maxOccurs = '0'
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
11/08: Not discussed
25/08: Not discussed
110
Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values after the element has been parsed
just creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
element has been parsed.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
25/08: There was a brief discussion as IBM needs a resolution soon. Is it
possible to restrict newVariableInstance to backward references only so
remove the problem? setVariable must obviously be able to access the
current value.
111
Daffodil DFDL parser
Bob and Alejandro described the new implementation that they have
developed. It is a new code base and is not based on the Deffudle
prototype. It is written in scala and implements approximately 80% of the
features in the public comments draft of DFDL V1. Alejandro will send a
list of the features not implemented.
We discussed the scenarios that motivated the development which was to
extract data from various sources and transform into canonical formats.
Bob offered to make Daffodil available for the WG to assess the
functionality. IBM WG members will get approval the company to allow them
to receive Daffodil.
Bob raised the question that if Daffodil becomes the public implementation
of DFDL then we will need to work out how that would be funded and
managed.
It would be helpful if IBM test cases were available to Daffodil. IBM will
investigate
25/08: Alejandro had sent a list of the functions that he has implemented
and Steve ahd responding indicating the extra functions he thought were
essential.
Since then Alejandro has implemented some of the missing functions, such
as escape schemes, pre-defined variables, binary decimal numbers, etc, and
will update his list.
Bob is planning to make the parser available on the internet to allow
testing.
His organisation is being reorganised and he doesn't know what the
priority of Daffodill will be so it is essential that we move quickly. It
would help if IBM could indicate its support for Daffodil in some
semi-formal way.
Discussed how to certify DFDL implementations. Alan to investigate if OGF
have a defined process.
112
DFDL certification process
113
2. Regular Expressions.
The DFDL regular expressions should provide lookahead and backreferences.
Is the current regular expression language sufficient?
Discussed two aspects:
a. Is the XML regular expression language the correct one to use. Tim
asked if DFDL needs to specify an language at all and should leave it to
implementers to pick one. That would inhibit portability of schema.
b. A regular expression property on an assert/discriminator as an
alternative to the test expression. Either a DFDL expression or a regular
expression could be specified but not both.
114
3. OGF 30
OGF30 takes place on October 25-29 in Brussels
Should we have a WG session?
Closed actions
No
Action
104
Expressions
Discuss error behaviour when evaluating an expression in various contexts
- All properties:
wrong type returned : schema definition error
exception when evaluating expression : schema definition error
referenced variables/paths not available : schema definition error
- Properties which allow a forward reference
referenced variables/paths not available : no error. DFDL processor
continues processing until the expression result is available, then acts
on the result.
21/07: Steve stated the current definition that returning the incorrect
type was a schema definition error and everything else was a processing
error.
04/08: Not discussed
25/08: Closed
Work items:
No
Item
target version
status
005
Improvements on property descriptions
not started
012
Reordering the properties discussion: move representation earlier, improve
flow of topics
not started
036
Update dfdl schema with change properties
ongoing
042
Mapping of the DFDL infoset to XDM
none
not required for V1 specification
070
Write DFDL primer
071
Write test cases.
083
Implement RFC2116
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
1
0
1. Current Actions
2. Regular Expressions.
The DFDL regular expressions should provide lookahead and backreferences.
Is the current regular expression language sufficient?
3. OGF 30
OGF30 takes place on October 25-29 in Brussels
Current Actions:
No
Action
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
...
17/02: IBM is willing in principle to publish the test case format and
some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will
be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases
will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
11/08: work continues
085
ALL: publicise Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask
them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan
had posted changes made in draft 041. Steve suggested send a note to the
WG highlighting these changes. Steve also suggested requesting an
extension as other IBM groups may review. We discussed whether this was
necessary as changes will need to be made during the implementation phase
anyway. Alan to ask OGF what the process is for changes post public
comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of
the process.
30/06: Alan has emailed Joel asking what the process is now public comment
period is over and can we update the published version with WG updates. No
response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
04/08: Joel has responded that it is up to the WG to decide if the changes
are significant enough to need additional review. Alan to contact David
Martin and Erwin Laure for guidance if we split the specification.
11/08: Received a response from Joel that the WG can decide if a re-
public review is necessary before becoming a 'proposed recommendation'.
Alan responded that the WG agreed that a re-review was not necessary. The
next stage is for OGF review committee to approve publication.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a
separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports.
Suggested levels and/or profiles. Steve highlighted a problem when a DFDL
schema from an implementation of just the core functions was moved to a
full DFDL implementation what should happen about the missing properties.
Does the full implementation need to be aware of subsets of functions?
Should it raise a schema definition error for use of a function not in the
subset.
21/07: no progress
04/08: Steve had updated proposed groups of function.
(Subset_proposal_v2.ppt). We discussed whether its is better to have
discrete sets of functions or expanding levels of function.
Purpose of subsetting is:
1. Allow simpler implementations. (main purpose)
2. Simplify tooling
3. Simplify specification.
Steve to contact previous members of WG to check if we have the correct
subsets
11/08: Steve sent an email to previous members of the WG asking for
opinions on splitting the specification. Bob McGrath from National Center
For Supercomputing responded that they had implemented about 80% of the
function. Alejandro will send a description of the function they have
implemented.
Action will be raised to track the Daffodil implementation
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a
validation error or processing error. Decided that for consistency it
should be a validation error.
It would be useful however to avoid having to duplication of facet
information in an assert which could become unwieldy for, say, a large
enumeration.
Suggestions
- a parser option that 'converted all validation errors to processing
errors'
- a dfdl expression function that 'applied all facets' or 'applied
specific facet' to a particular element.
Stephanie will produce some examples of how this could be used..
04/08: Stephanie had produced examples but they were not discussed due to
lack of time
11/08: We started to discuss Stephanie's HIPPA example but ran out of
time.
104
Expressions
Discuss error behaviour when evaluating an expression in various contexts
- All properties:
wrong type returned : schema definition error
exception when evaluating expression : schema definition error
referenced variables/paths not available : schema definition error
- Properties which allow a forward reference
referenced variables/paths not available : no error. DFDL processor
continues processing until the expression result is available, then acts
on the result.
21/07: Steve stated the current definition that returning the incorrect
type was a schema definition error and everything else was a processing
error.
04/08: Not discussed
11/08: Not discussed
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual
bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that
use existence flags to see if they are still required.
04/08: Not discussed
11/08: Not discussed
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
11/08: Not discussed
110
Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values after the element has been parsed
just creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
element has been parsed.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
111
Daffodil DFDL parser
Bob and Alejandro described the new implementation that they have
developed. It is a new code base and is not based on the Deffudle
prototype. It is written in scala and implements aproximately 80% of the
features in the public comments draft of DFDL V1. Alejandro will send a
list of the features not implemented.
We discussed the scenarios that motivated the development which was to
extract data from various soucres and transform into canonical formats.
Bob offered to make Daffodil available for the WG to assess the
functionality. IBM WG members will get approval the company to allow them
to receive Daffodil.
Bob raised the question that if Daffodil becomes the public implementation
of DFDL then we will need to work out how that would be funded and
managed.
It would be helpful if IBM test cases were available to Daffodil. IBM will
investigate
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
1
0
Open Grid Forum: Data Format Description Language Working Group
OGF DFDL Working Group Call, August 11-2010
Attendees
Steve Hanson (IBM)
Alan Powell (IBM)
Stephanie Fetzer (IBM)
Tim Kimber(IBM)
Bob McGrath (National Center for Supercomputing Applications)
Alejandro Rodriguez (National Center for Supercomputing Applications)
Apologies
Mike Beckerle (Oco)
Suman Kalia (IBM)
1. Current Actions
Updated Below
2 Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values after the element has been parsed
just creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
element has been parsed.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
11/08: Not discussed. Action raised
3 Daffodil DFDL parser implementation at National Center for
Supercomputing Applications
Bob and Alejandro described the new implementation that they have
developed. It is a new code base and is not based on the Deffudle
prototype. It is written in scala and implements aproximately 80% of the
features in the public comments draft of DFDL V1. Alejandro will send a
list of the features not implemented.
We discussed the scenarios that motivated the development which was to
extract data from various soucres and transform into canonical formats.
Bob offered to make Daffodil available for the WG to assess the
functionality. IBM WG members will get approval the company to allow them
to receive Daffodil.
Bob raised the question that if Daffodil becomes the public implementation
of DFDL then we will need to work out how that would be funded and
managed.
It would be helpful if IBM test cases were available to Daffodil. IBM will
investigate
Meeting closed, 16:30
Next call Wednesday 25 August 2010 15:00 UK (10:00 ET)
Next action: 112
Actions raised at this meeting
No
Action
110
Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values after the element has been parsed
just creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
element has been parsed.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
111
Daffodil DFDL parser
Bob and Alejandro described the new implementation that they have
developed. It is a new code base and is not based on the Deffudle
prototype. It is written in scala and implements aproximately 80% of the
features in the public comments draft of DFDL V1. Alejandro will send a
list of the features not implemented.
We discussed the scenarios that motivated the development which was to
extract data from various soucres and transform into canonical formats.
Bob offered to make Daffodil available for the WG to assess the
functionality. IBM WG members will get approval the company to allow them
to receive Daffodil.
Bob raised the question that if Daffodil becomes the public implementation
of DFDL then we will need to work out how that would be funded and
managed.
It would be helpful if IBM test cases were available to Daffodil. IBM will
investigate
Current Actions:
No
Action
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
...
17/02: IBM is willing in principle to publish the test case format and
some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will
be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases
will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
11/08: work continues
085
ALL: publicise Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask
them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan
had posted changes made in draft 041. Steve suggested send a note to the
WG highlighting these changes. Steve also suggested requesting an
extension as other IBM groups may review. We discussed whether this was
necessary as changes will need to be made during the implementation phase
anyway. Alan to ask OGF what the process is for changes post public
comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of
the process.
30/06: Alan has emailed Joel asking what the process is now public comment
period is over and can we update the published version with WG updates. No
response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
04/08: Joel has responded that it is up to the WG to decide if the changes
are significant enough to need additional review. Alan to contact David
Martin and Erwin Laure for guidance if we split the specification.
11/08: Received a response from Joel that the WG can decide if a re-
public review is necessary before becoming a 'proposed recommendation'.
Alan responded that the WG agreed that a re-review was not necessary. The
next stage is for OGF review committee to approve publication.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a
separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports.
Suggested levels and/or profiles. Steve highlighted a problem when a DFDL
schema from an implementation of just the core functions was moved to a
full DFDL implementation what should happen about the missing properties.
Does the full implementation need to be aware of subsets of functions?
Should it raise a schema definition error for use of a function not in the
subset.
21/07: no progress
04/08: Steve had updated proposed groups of function.
(Subset_proposal_v2.ppt). We discussed whether its is better to have
discrete sets of functions or expanding levels of function.
Purpose of subsetting is:
1. Allow simpler implementations. (main purpose)
2. Simplify tooling
3. Simplify specification.
Steve to contact previous members of WG to check if we have the correct
subsets
11/08: Steve sent an email to previous members of the WG asking for
opinions on splitting the specification. Bob McGrath from National Center
For Supercomputing responded that they had implemented about 80% of the
function. Alejandro will send a description of the function they have
implemented.
Action will be raised to track the Daffodil implementation
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a
validation error or processing error. Decided that for consistency it
should be a validation error.
It would be useful however to avoid having to duplication of facet
information in an assert which could become unwieldy for, say, a large
enumeration.
Suggestions
- a parser option that 'converted all validation errors to processing
errors'
- a dfdl expression function that 'applied all facets' or 'applied
specific facet' to a particular element.
Stephanie will produce some examples of how this could be used..
04/08: Stephanie had produced examples but they were not discussed due to
lack of time
11/08: We started to discuss Stephanie's HIPPA example but ran out of
time.
104
Expressions
Discuss error behaviour when evaluating an expression in various contexts
- All properties:
wrong type returned : schema definition error
exception when evaluating expression : schema definition error
referenced variables/paths not available : schema definition error
- Properties which allow a forward reference
referenced variables/paths not available : no error. DFDL processor
continues processing until the expression result is available, then acts
on the result.
21/07: Steve stated the current definition that returning the incorrect
type was a schema definition error and everything else was a processing
error.
04/08: Not discussed
11/08: Not discussed
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual
bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that
use existence flags to see if they are still required.
04/08: Not discussed
11/08: Not discussed
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
11/08: Not discussed
110
Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values after the element has been parsed
just creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
element has been parsed.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
111
Daffodil DFDL parser
Bob and Alejandro described the new implementation that they have
developed. It is a new code base and is not based on the Deffudle
prototype. It is written in scala and implements aproximately 80% of the
features in the public comments draft of DFDL V1. Alejandro will send a
list of the features not implemented.
We discussed the scenarios that motivated the development which was to
extract data from various soucres and transform into canonical formats.
Bob offered to make Daffodil available for the WG to assess the
functionality. IBM WG members will get approval the company to allow them
to receive Daffodil.
Bob raised the question that if Daffodil becomes the public implementation
of DFDL then we will need to work out how that would be funded and
managed.
It would be helpful if IBM test cases were available to Daffodil. IBM will
investigate
Closed actions
No
Action
Work items:
No
Item
target version
status
005
Improvements on property descriptions
not started
012
Reordering the properties discussion: move representation earlier, improve
flow of topics
not started
036
Update dfdl schema with change properties
ongoing
042
Mapping of the DFDL infoset to XDM
none
not required for V1 specification
070
Write DFDL primer
071
Write test cases.
083
Implement RFC2116
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
1
0
Alan and Steve both away
1
0
1. Current Actions
2 Semantics of newVariableInstance and setVariable
what should a DFDL processor ( parser or serializer ) do when it cannot
evaluate the expression in a newVariableInstance or setVariable
annotation?
Moving the setting of variable values into the END_ELEMENT state just
creates other problems A new instance must be available to other
expressions on the same component, and to the children of a group/element.
So it cannot be left until the end of the element.
On the other hand, there are clearly some types of setVariable /
newVariableInstance annotations which *cannot* be evaluated until the
END_ELEMENT state.
For the parser, it might be OK to
- evaluate the expression when the component ( element or group ) is
started
- if it cannot be evaluated, add it to a list of annotations that must be
processed at the end of the component
- if in the mean time any other expressions attempt to access the variable
that was being set/created then throw a processing error ( because the
result will be undefined ). This will probably require the
variable/instance to be placed into a 'not available' state until its
expression is resolvable
Current Actions:
No
Action
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
...
17/02: IBM is willing in principle to publish the test case format and
some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will
be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases
will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
21/07: work continues
04/08: work continues
085
ALL: publicize Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask
them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan
had posted changes made in draft 041. Steve suggested send a note to the
WG highlighting these changes. Steve also suggested requesting an
extension as other IBM groups may review. We discussed whether this was
necessary as changes will need to be made during the implementation phase
anyway. Alan to ask OGF what the process is for changes post public
comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of
the process.
30/06: Alan has emailed Joel asking what the process is now public comment
period is over andcan we update the published version with WG updates. No
response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
04/08: Joel has responded that it is up to the WG to decide if the changes
are significant enough to need additional review. Alan to contact David
Martin and Erwin Laure for guidance if we split the specification.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a
separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports.
Suggested levels and/or profiles. Steve highlighted a problem when a DFDL
schema from an implementation of just the core functions was moved to a
full DFDL implementation what should happen about the missing properties.
Does the full implementation need to be aware of subsets of functions?
Should it raise a schema definition error for use of a function not in the
subset.
21/07: no progress
04/08: Steve had updated proposed groups of function.
(Subset_proposal_v2.ppt). We discussed whether its is better to have
discrete sets of functions or expanding levels of function.
Purpose of subsetting is:
1. Allow simpler implementations. (main purpose)
2. Simplify tooling
3. Simplify specification.
Steve to contact previous members of WG to check if we have the correct
subsets.
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a
validation error or processing error. Decided that for consistency it
should be a validation error.
It would be useful however to avoid having to duplication of facet
information in an assert which could become unwieldy for, say, a large
enumeration.
Suggestions
- a parser option that 'converted all validation errors to porcessing
errors'
- a dfdl expression function that 'applied all facets' or 'applied
specific facet' to a particular element.
Stephanie will produce some examples of how this could be used..
04/08: Stephanie had produced examples but they were not discussed due to
lack of time
104
Expressions
Discuss error behaviour when evaluating an expression in various contexts
- All properties:
wrong type returned : schema definition error
exception when evaluating expression : schema definition error
referenced variables/paths not available : schema definition error
- Properties which allow a forward reference
referenced variables/paths not available : no error. DFDL processor
continues processing until the expression result is available, then acts
on the result.
21/07: Steve stated the current definition that returning the incorrect
type was a schema definition error and everything else was a processing
error.
04/08: Not discussed
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual
bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that
use existence flags to see if they are still required.
04/08: Not discussed
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
1
0
Open Grid Forum: Data Format Description Language Working Group
OGF DFDL Working Group Call, August 04-2010
Attendees
Steve Hanson (IBM)
Alan Powell (IBM)
Stephanie Fetzer (IBM)
Ella Belisario (IBM)
Apologies
Mike Beckerle (Oco)
Suman Kalia (IBM)
Tim Kimber(IBM)
1. Current Actions
Updated Below
2. dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
Option A:
Leave the DFDL specification unchanged, in which case we must expose the
internal DFDL constructs to the user of the DFDL editor. That means the
following:
- to make a group member hidden, a local group and a global group must be
created to represent the hidden item. This is a refactoring operation.
- to make the UI consistent, the global group needs to be exposed as a
first-class modelling construct. That means that it appears along with
local element/element ref/local group/group ref in any context where the
user is dealing with group members.
There are more details of what the editor needs to do in Steve's comments
on the first note in this chain.
Option B:
Make one change to the DFDL specification, to make it possible for a DFDL
editor to present dfdl:hidden as a simple flag on any group member
The change is to put a DFDL annotation on the global sequence group that
contains the hidden items. This would allow the DFDL editor to distinguish
these global groups from the real ones that belong to the user's schema.
This allows a hidden item to be represented by a pair of *internal*
groups, both of which have a dfdl:annotation. One is local, and appears
where the hidden item used to appear, The other is global and is
referenced by the local one. They are created and deleted as pairs
whenever an item is hidden or un-hidden.
A lively discussion. The specification works as currently defined so
discussed whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
3. dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
Meeting closed, 16:00
Next call Wednesday 11 August 2010 15:00 UK (10:00 ET)
Next action: 110
Actions raised at this meeting
No
Action
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
Current Actions:
No
Action
066
Investigate format for defining test cases
25/11:IBM to see if it is possible to publish its test case format.
04/12: no update
...
17/02: IBM is willing in principle to publish the test case format and
some of the test cases. May need some time to build a 'compliance suite'
24/03: No progress
03/03: Discussions have been taking place on the subset of tests that will
be provided.
10/03: work is progressing
17/03: work is progressing
31/03: work is progressing
14/04: And XML test case format has been defined and is being tested.
21/04. Schema for TDML defined. Need to define how this and the test cases
will be made public
05/05: Work still progressing
12/05: Work still progressing
02/06: Work still progressing on technical and legal considerations
...
21/07: work continues
04/08: work continues
085
ALL: publicize Public comments phase to ensure a good review..
14/04: see minutes
21/04: Press release, OMG and other standards bodies.
05/05: Alan and Steve H have contacted other standards bodies. Will ask
them to add comments on spec
15/05: still no public comments
02/06: No public comments
16/06: Public comments period has ended with no external comments. Alan
had posted changes made in draft 041. Steve suggested send a note to the
WG highlighting these changes. Steve also suggested requesting an
extension as other IBM groups may review. We discussed whether this was
necessary as changes will need to be made during the implementation phase
anyway. Alan to ask OGF what the process is for changes post public
comment.
23/06: Still no comments. Alan will contact OGF to understand the rest of
the process.
30/06: Alan has emailed Joel asking what the process is now public comment
period is over andcan we update the published version with WG updates. No
response yet.
07/07: No response. Alan will chase up
14/07: No response from Joel. Sent email to Greg Newby by no response.
21/07: Still no response.
04/08: Joel has responded that it is up to the WG to decide if the changes
are significant enough to need additional review. Alan to contact David
Martin and Erwin Laure for guidance if we split the specification.
099
Splitting the specification in simpler sections.
07/07: Steve sent a proposal but not discussed. Alan will arrange a
separate call.
14/07:Discussed Steve's proposal and Suman's and Alan's comments.
Need to add choice, validation, facets.
Also how does an implementation declare which subsets it supports.
Suggested levels and/or profiles. Steve highlighted a problem when a DFDL
schema from an implementation of just the core functions was moved to a
full DFDL implementation what should happen about the missing properties.
Does the full implementation need to be aware of subsets of functions?
Should it raise a schema definition error for use of a function not in the
subset.
21/07: no progress
04/08: Steve had updated proposed groups of function.
(Subset_proposal_v2.ppt). We discussed whether its is better to have
discrete sets of functions or expanding levels of function.
Purpose of subsetting is:
1. Allow simpler implementations. (main purpose)
2. Simplify tooling
3. Simplify specification.
Steve to contact previous members of WG to check if we have the correct
subsets.
101
Semantics of 'fixed'
21/07: Discussed whether not matching the 'fixed' value should be a
validation error or processing error. Decided that for consistency it
should be a validation error.
It would be useful however to avoid having to duplication of facet
information in an assert which could become unwieldy for, say, a large
enumeration.
Suggestions
- a parser option that 'converted all validation errors to porcessing
errors'
- a dfdl expression function that 'applied all facets' or 'applied
specific facet' to a particular element.
Stephanie will produce some examples of how this could be used..
04/08: Stephanie had produced examples but they were not discussed due to
lack of time
104
Expressions
Discuss error behaviour when evaluating an expression in various contexts
- All properties:
wrong type returned : schema definition error
exception when evaluating expression : schema definition error
referenced variables/paths not available : schema definition error
- Properties which allow a forward reference
referenced variables/paths not available : no error. DFDL processor
continues processing until the expression result is available, then acts
on the result.
21/07: Steve stated the current definition that returning the incorrect
type was a schema definition error and everything else was a processing
error.
04/08: Not discussed
107
teston/testoff dfdl expression functions.
Are these functions still needed. They were introduced to allow individual
bits to be set in a byte. Steve to look at TLog and ISO 8583 formats that
use existence flags to see if they are still required.
04/08: Not discussed
108
dfdl:hidden
There has been some discussion on whether the 'hidden' global group should
be indicated in some way.
04/08: A lively discussion. The specification is works as currently
defined so whether changes need to be made to make tooling easier. There
shouldn't be 'conventions' in particular tooling as they must be able to
properly deal with schema from other tools that would not obey those
conventions. Steve stated that it is often dangerous to hide too much from
users when they can see they underlying schema. To be continued.
109
dfdl:discriminator : the 'message' attribute
>From Tim:
I remembered the reason why I thought this was a good idea.
Consider the situation where someone is generating their DFDL schema from
meta-data. The model is large, and consists of many references to global
structures. Each global structure ( e.g. an HL7 segment ) is identified in
a particular way. Sometimes the segment is required, sometimes it is not.
Sometimes it occurs as a child of a choice group, and sometimes not.
Regardless, it is highly likely that the segment will be identified in the
same way wherever it occurs. A natural decision for the modeler would be
to create a dfdl:discriminator on all references to the segement, even if
the ref is not under a point of uncertainty. It's harmless, and it carries
no performance penalty. If we disallow the "message" attribute, it will
force the modeler to put in extra logic to work out whether the ref is
under a POI, and generate an assert/discriminator as appropriate.
I'd be interested to know what Steph thinks about this - I think I've
heard her say that she sometimes uses discriminators where an assert would
have done the job, just to maintain consistency throughout the model.
04/08: not discussed.
Closed actions
No
Action
086
AP: Nils and Defaults during unparsing - update table
31/03: TK to documetn use cases for parsing
14/04: Investigate new property to control empty string behaviour.
21/04: After investigation a new property is not required. New rules
developed and tables updated.
Need examples of complexTypes to confirm tables apply.
Review Nils, defaulting spec section.
05/05: Discussed defaulting complex elements. Tables updated but need to
add terminator.
SH; to confirm WMD behaviour when infoset item has no value on unparsing
Need to describe defaulting choices.
15/05: More discussion. Alan updating sections
26/05: Discussed draft updates. Stephanie to confirm asserts do not make
an element required.
Alan will update draft.. All: review rest of draft.
02/06: Alan updated description. Please review.
Discussed Stephanie's example using discriminators. Decided no changes
needed.
16/05: went through Steves comments. Steve to update draft.
23/06: Steve's updates to the rules discussed. See minutes. Rest of
document needs updating.
30/06: Discussed Alans updates. Some corrections. Alan will send out
updated copy for review before next call.
07/07: Discussed Alan updates and Tim and Steve's comments. Still some
corrections and updates.
14/07: Discussed Alan updates (v9) Still some corrections and updates.
21/07: Discussed Draft 10. Shouldn't mention input/outputValueCalc in this
section. Mention defaulting in calculated values section.
Move details of nilValue from nilKind property.
04/08: Draft v11.1 was included in Spec Draft v42. Minor corrections.
Closed.
102
Clarify the specification of error reporting from a DFDL processor
- section 2.3 needs to be updated
21/07: Section is not clear. Alan will update.
04/08: Sections updated in draft 42. Closed
103
Asserts and discriminators
- specify the scope of forward references. Must be downward-only. The
expression must be resolvable by the time the component on which it is
positioned goes out of scope - otherwise it is a processing error.
21/07: Agreed
04/08: Updated in draft 42. Closed
Work items:
No
Item
target version
status
005
Improvements on property descriptions
not started
012
Reordering the properties discussion: move representation earlier, improve
flow of topics
not started
036
Update dfdl schema with change properties
ongoing
042
Mapping of the DFDL infoset to XDM
none
not required for V1 specification
070
Write DFDL primer
071
Write test cases.
083
Implement RFC2116
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
1
0
I have corrected a misspelled property name
(dfdl:missingValueDelimiterPolicy should be
dfdl:emptyValueDelimiterPolicy) in Draft 42 and uploaded a corrected
version
http://forge.gridforum.org/sf/docman/do/downloadDocument/projects.dfdl-wg/d…
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
----- Forwarded by Alan Powell/UK/IBM on 05/08/2010 14:09 -----
From:
Alan Powell/UK/IBM@IBMGB
To:
dfdl-wg(a)ogf.org
Date:
30/07/2010 15:55
Subject:
[DFDL-WG] DFDL V1 draft 42 is available
DFDL V1 draft 42 is available from gridforge.
http://forge.gridforum.org/sf/docman/do/downloadDocument/projects.dfdl-wg/d…
Revision History
Latest entry at the top please
Version
Author/
Contributor
History
Date(yyyy-mm-dd)
042
Alan Powell
Rename leadingSkipBytes and trailingSkipBytes to leadingSkip and
TrailingSkip to allow either to be bytes or bits.
Removed restrictons on alignmentUnits
Clarified trailingSkip when dfdl:lengthKind is delimited or endOfParent
Removed timing from dfdl:assert.
Expression for dfdl:assert and dfdl:discriminator may only refer to
previous or child elements.
Clarified when expression must be evaluated.
Clarified defaulting arrays and separatorPolicy 'required'
Improved description of xxpadCharacter
Changed choicekind enumerations. Added choiceLengthKind
Corrected syntax of expression predicates
Allow packed or bcd calendars to be delimited
Clarified that outputValueCalc ignores infoset.
Other minor changes.
Property expressions must not contain forward references.
Improved descriptions of property types and corrected some properties.
Significant update to Nils and defaults sections.
Dropped dfdl:nilIndicatorPath and dfdl:nilIndicatorIndex
dfdl:missingValueInitiatorPolicy applies to dfdl:element, dfdl:simpleType,
dfdl:sequence, dfdl:choice, dfdl:group
2010-07-28
Regards
Alan Powell
Development - MQSeries, Message Broker, ESB
IBM Software Group, Application and Integration Middleware Software
-------------------------------------------------------------------------------------------------------------------------------------------
IBM
MP211, Hursley Park
Hursley, SO21 2JN
United Kingdom
Phone: +44-1962-815073
e-mail: alan_powell(a)uk.ibm.com
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
--
dfdl-wg mailing list
dfdl-wg(a)ogf.org
http://www.ogf.org/mailman/listinfo/dfdl-wg
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
1
0
I've thought further on this. I think any subsets need to be fairly wide
ranging and independent, in order for implementations (runtime and
tooling) to be able to sensibly offer support. If it becomes too
fragmented then users will find it difficult to know what construct may be
used when. I realise that this means it takes more effort to implement a
subset in terms of content, but I think it will be easier to understand
how to do it. Accordingly I've revised the strawman. Note that I have
introduced choices and unordered sequences at the same point as
initiators, as that provides a way of resolving uncertainty without
speculation, which is introduced under an advanced expression subset.
Regards
Steve Hanson
Strategy, Common Transformation & DFDL
Co-Chair, OGF DFDL WG
IBM SWG, Hursley, UK,
smh(a)uk.ibm.com,
tel +44-(0)1962-815848
----- Forwarded by Steve Hanson/UK/IBM on 04/08/2010 13:50 -----
From:
Steve Hanson/UK/IBM
To:
Suman Kalia <kalia(a)ca.ibm.com>
Cc:
dfdl-wg(a)ogf.org, dfdl-wg-bounces(a)ogf.org
Date:
07/07/2010 18:34
Subject:
Re: [DFDL-WG] Subsetting the DFDL spec
Hi Suman
I added hidden elements as it allows things to be omitted from the
infoset, which is a very useful technique. I removed it from the
expression subset because you only need hidden + expressions when for
example using a hidden complex element to return a synthesised simple
value. Hidden on its own just to skip things is useful, easy to implement,
and does no harm in core.
Defaults are a core capability. Otherwise you can't create a sparse
infoset on output. If we can separate out nils then perhaps nils could be
in a separate subset. I started off that way then changed my mind but we
can revisit.
I originally had choices in core but I removed it because without
initiators or expressions how can you resolve a choice? You can't.
Choices are not as common as you might think in the non-XML world, for
precisely this reason. However, as I write I've realised that I've not
allocated uncertainty (ie, choice or 'optionality') to any of the subsets,
a major omission on my part. I was intending core to be fixed occurrences
thereby avoiding the need to implement backtracking, a significant item in
any implementation. I'll think more on this.
My rationale for omitting delimiters from core was to keep core for fixed
length data. Many scientific users will never need delimiter support -
and they are the folk most likely from OGF to write an implementation.
Once you add in separators you pull in a huge amount of implementation -
all the scanning, escaping, etc. However, the uncertainty issue could
well force us to split initiators from the other delimiters because of
their role in uncertainty resolution.
Thanks for your input though, I'll have a think and send out an update
before next call.
Regards
Steve Hanson
Strategy, Common Transformation & DFDL
Co-Chair, OGF DFDL WG
IBM SWG, Hursley, UK,
smh(a)uk.ibm.com,
tel +44-(0)1962-815848
From:
Suman Kalia <kalia(a)ca.ibm.com>
To:
Steve Hanson/UK/IBM@IBMGB
Cc:
dfdl-wg(a)ogf.org, dfdl-wg-bounces(a)ogf.org
Date:
07/07/2010 17:50
Subject:
Re: [DFDL-WG] Subsetting the DFDL spec
Steve - some comments
I suggest we create a category DFDL Advanced features and put support for
hidden elements under this as not many users would need it or implement
it. One can also make the case for putting "Nils and defaults" under the
DFDL advanced features as this is one of the complex part of the
specification.
Core - should have support for choice construct as this is the most common
building block. I would like to see support for delimited data; the
basic and most widely used form is comma separated records which would
require lenghtKind=delimited and separators to be moved to core
specification..
Suman Kalia
IBM Toronto Lab
WebSphere Message Broker Toolkit Architect and Development Lead
WebSphere Business Integration Application Connectivity Tools
http://www.ibm.com/developerworks/websphere/zones/businessintegration/wmb.h…
Tel : 905-413-3923 T/L 969-3923
Fax : 905-413-4850 T/L 969-4850
Internet ID : kalia(a)ca.ibm.com
From: Steve Hanson <smh(a)uk.ibm.com>
To: dfdl-wg(a)ogf.org
Date: 07/07/2010 09:47 AM
Subject: [DFDL-WG] Subsetting the DFDL spec
Sent by: dfdl-wg-bounces(a)ogf.org
Some thoughts about subsetting the DFDL spec to make it more consumable
for readers and implementors.
We need to decide how the use of a subset is indicated in a DFDL xsd. It
can be implicit by the properties referenced, or explicit up front. The
difference is best illustrated by an example. Let's say Bidi support is a
subset and I don't want to use Bidi. If using the implicit method, then I
still need the dfdl:textBidi property to be set to 'no' even when in
subset mode because the same xsd could be used by a full DFDL processor
and it will expect a value. If using explicit, then I don't need to set
the dfdl:textBidi property at all, because the DFDL processor will never
look for it unless the xsd is switched to include that subset.
Here's a straw man for some subsets.
Regards
Steve Hanson
Strategy, Common Transformation & DFDL
Co-Chair, OGF DFDL WG
IBM SWG, Hursley, UK,
smh(a)uk.ibm.com,
tel +44-(0)1962-815848
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
--
dfdl-wg mailing list
dfdl-wg(a)ogf.org
http://www.ogf.org/mailman/listinfo/dfdl-wg
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
#### Subset_proposal_v1.ppt moved to MyAttachments Repository V3.8 () on
13 July 2010 by Steve Hanson.
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
1
0