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