| From: | Alan Powell/UK/IBM@IBMGB |
| To: | dfdl-wg@ogf.org |
| Date: | 30/04/2010 16:26 |
| Subject: | [DFDL-WG] Action 086: Nils and Defaults for complex elements |
| Sent by: | dfdl-wg-bounces@ogf.org |
|
initiator region
|
content region
|
Logical Value
| ||
|
matching
|
Not empty
|
parsed children
| ||
|
matching
|
empty
|
A default is specified
|
emptyValueDelimiterPolicy
must be initiator or both |
default value
of children |
|
empty
|
Not empty
|
Initiator must not be
specified
|
parsed children
| |
|
empty
|
empty
|
A default is specified
|
emptyValueDelimiterPolicy
must be none or Initiator must not be specified |
default value of children |
|
Logical Value
|
initiator region contains
|
content region contains
| ||
|
Missing or present with no
children
|
default of all children is
empty string
|
emptyValueDelimiterPolicy
none |
empty
|
empty
|
|
emptyValueDelimiterPolicy
initiator or both |
initiator string
| |||
|
default of any child is not
empty string
|
initiator string
|
representation of the
child default value.
| ||
|
a least on child exists
|
initiator string
|
representation of children | ||
Examples
Defaulting Complex types
ONE:one,
TWO:
TWOONE:twoone;
TWOTWO:twotwo;
TWOTHREE:twothree,
THREE:three
<end>
In the following TWO is 'empty' (when relevant dfdl properties are set)
ONE:one,THREE:three<end>
|separatorPolicy='suppressed', emptyValueDelimiterPolicy='none'
ONE:one,,THREE:three<end>
separatorPolicy='required', emptyValueDelimiterPolicy='none'
ONE:one<end>
separatorPolicy='suppressed' or 'suppressedAtEnd', emptyValueDelimiterPolicy='none'
<end>
separatorPolicy='suppressed' or 'suppressedAtEnd', emptyValueDelimiterPolicy='none'
ONE:one,TWO:,THREE:three<end>
separatorPolicy= don't care , emptyValueDelimiterPolicy='initiator'
ONE:one,TWO:<end>
separatorPolicy= 'suppressed' or 'suppressedAtEnd', emptyValueDelimiterPolicy='initiator'
ONE:one,TWO:,<end>
separatorPosition='postfix'
separatorPolicy= 'suppressed' or 'suppressedAtEnd', emptyValueDelimiterPolicy='initiator'
*** Should 'postfix' separator be there when 'supressedAtEnd' ***
ONE:one,TWO:TWOONE:,THREE:three<end>
separatorPolicy= 'suppressed' or 'suppressedAtEnd', (TWO)emptyValueDelimiterPolicy='initiator'
(TWOONE)emptyValueDelimiterPolicy='initiator'
ONE:one,TWOONE:,THREE:three<end>
separatorPolicy= 'suppressed' or 'suppressedAtEnd', (TWO)emptyValueDelimiterPolicy='none'
(TWOONE)emptyValueDelimiterPolicy='initiator'
*** We should discuss this example. ***
| 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@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@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