[dfdl-wg] notes from F2F 2006-03-01
Mike Beckerle
beckerle at us.ibm.com
Wed Mar 1 23:09:00 CST 2006
Attendees:
Bob McGrath - NCSA
Martin Westhead - Avaya
Suman Kalia - IBM
Geoff Judd - IBM
Steve Hanson - IBM
Mike Beckerle - IBM
Agenda Review
Context doc discussion - Martin
Issues list:
- write once context variables - expressiveness limit?
- list valued context variables - define them then 'commit' to make them
read-only?
- default values for context variables? - breaks write-once behavior?
- hidden: don't want paths to hidden peers to be any different from paths
to non-hidden peers - mikeb
- hidden: need to specify the order of traversal for parsing
- hidden: on output, traversal order is very different
- need inputCalc and outputCalc
- hidden: currently says hidden can only appear where elements could
appear
- exception needed - simple types need hidden complex sub-structure -
'repDef'
- maybe use hidden attributes and avoid element substructure for simple
types.
- or have an explicit repDef construct with a full indirection from a
simple type to a complexType that is its representation
- Roundtrip problem is not general data transformation
- Separate tracker for round-trip to data issue
- Copyright slugline example is sufficient
Bundles:
- is this just really for the top-level statements like conversion
declarations?
- revisit this once we've overviewed the scoping stuff - probably some
features of one or the other are redundant.
- bundles are like xs:include except can be used not-only at top-level.
Conversions:
- are an expository tool
- organize properties into libraries
- plug in conversions are allowed, but built-in property/conversions don't
have to be implemented using the plug-in mechanism
- ? DFDL systems might be allowed to not even implement plug-ins
- need to explain XML all the way down idea more clearly. Stream of
xs:byte, then streams of higher types.
- test guard should select the conversion
- once selected then requirements
- if you can't find any conversion for something then the schema is
invalid.
- if the guard of a conversion is satisfied, but required properties are
not present in the context, then the schema is invalid.
- issue: can more than one conversion have the same name?
- issue: what are the update rules for the conversion list in the context
as you extend the context with new conversions
- issue: type matching - match exactly? or ignore restrictions? E.g.,
string of length 1 matches general string, but general string doesn't
match string of length 1.
- issue: type A has child derived type B. Conversions for type B cannot be
selected based on existance of conversions that have source/target type A.
(isA relationship not involved in conversion selection). The type matching
has only to do with restrictions actually.
- issue: can different dfdl implementations use different search
algorithms? Probably not. They must choose the same set of conversions so
the standard can specify the selection algorithm exactly. Implementations
are free to use different more efficient algorithms so long as they choose
equivalent conversion chains. (need notion of equivalent conversion
defined)
- issue: context needs to contain the input-stream type (in the "C"
context, or just in the informal context of the parser? E.g., you can ask
what is the type of this element without that having to be in the "C"
context. The type of the source stream could also be in this informal
context.
- property names should be namespace qualified when used in guard and
required formulas of conversions.
- conversions stuff doesn't cover all properties. E.g., choice
discriminators aren't described how they use as part of conversions.
- issue: alignment - can there be an alignment conversion
Extensibility:
- defineConversion - should express required properties test as well as
input type and output type.
- whitebox conversions - doubleInt example doesn't seem intuitive to some.
suggestion is to name the complex type, separate the named conversion
definition and just reference the type name
- change keyword for guards to 'guard' not test, since test is used for
statement conditional execution.
- name conflicts: guard vs. selector vs. test - define terms specifically.
- need tracker item re: output
- steve hanson suggests using EDI security segments for the useStream
example.
- guard optional - if not specified means guard="true"
Scoping:
- simplify: don't allow base format on construct-specific annoation
elements if inside dfdl:default or dfdl:defineFormat.
variable defaults in the context:
- if a variable has a default value, and you keep track of whether anyone
has received the default value if they have received the default value
then an attempt to set it is an error. This is consistent with single
assignment behavior.
variable declaration scope
- a dfdl:declare on an xsd:element with maxOccurs > 1 is about the type,
not the particle (not about the entire repeating element vector, but about
each element within).
external control of format:
- should do overrides much like element references, i.e., external
controls have override behavior.
leaf contexts:
- ? do these distinguish properties from variables
Mike Beckerle
STSM, Architect, Scalable Computing
IBM Software Group
Information Integration Solutions
Westborough, MA 01581
voice and FAX 508-599-7148
home/mobile office 508-915-4795
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20060301/4c350c8e/attachment.html
More information about the dfdl-wg
mailing list