[DFDL-WG] Padding to Minimum length proposal and Implicit lengths

DFDL mbeckerle.dfdl at gmail.com
Tue Dec 9 13:24:40 CST 2008


In the table I didn't understand the "totaldigits+1/2"


...mikeb


On Dec 9, 2008, at 1:33 PM, Alan Powell <alan_powell at uk.ibm.com> wrote:

>
> Mike, Steve
>
> The proposal to allow padding to minimum length on output consists of
> new property ouputMinLength
> Separate pad properties for string, number and calendar types
> new textxxxxPad property to control padding . Moved from from  
> textxxxxxxJustification
> 1        Padding
>
> Property Name	Description
> outputMinLength 	String.
> Only used when textStringPad, textNumberPad or textCalendarPad is ’m 
> inlength’.
>
> Specifies the minimum output length of this element using either a  
> fixed number or an expression to refer to an element earlier in the  
> data,.
>
> Annotation: dfdl:element (all simple types)
>
> 1.1        Properties Specific to Strings with Text representation
>
> Property Name	Description
> textStringPad	Enum
> Valid values  ‘none’,  ‘fixed’, ‘minLength’
>
> Controls how an item is justified on output when the actual length  
> of a text string is different from the specified length.
>
> Controls how an item is trimmed on input if  textTrimKind is padChar
>
> If ‘none’ the string is expected to match the length.
>
> Otherwise:
>
> - If lengthKind results in a fixed length: If shorter than the  
> specified length it is padded with the pad character. If longer than  
> the specified length it is truncated.
>
> - If lengthKind is ‘prefixed’: If the string is longer than any  
> specified maximum length it is truncated.
>
> textStringJustification	Enum
> Valid values ‘left’, ‘right’,  ‘center’
>
>  ‘center’ adds equal padChars before and after the string  
> contents if the string is too short. It adds one extra padChar befor 
> e if needed.
>
> ‘center’ truncates equal numbers of characters before and after  
> if the string is too long. It removes one extra character at the fro 
> nt of the string if needed.
>
>  [OMG/CAM property justification]
>
> Annotation: dfdl:element (simple type ‘string’)
>
> textStringPadCharacter 	String.
> The padding character used as the default for justification of text  
> elements.
>
> In fixed width character sets this must contain a full single  
> character representation. So if hex entities are used, enough hex  
> bytes must be supplied to provided the full width of a character.
>
> In variable width character sets, this character must be a minimum- 
> width character unless it is specified as an entity (see section TBD  
> Entities)
>
> Annotation: dfdl:element (simple type ‘string’)
>
> 1.2        Properties Specific to Number with Text representation
>
> Property Name	Description
> textNumberPad	Enum
> Valid values  ‘none’,  ‘fixed’, ‘minLength’
>
> Controls how an item is justified on output when the actual length  
> of a text string is different from the specified length.
>
> Controls how an item is trimmed on input if  textTrimKind is padChar
>
> If ‘none’ the string is expected to match the length.
>
> Otherwise:
>
> - If lengthKind results in a fixed length: If shorter than the  
> specified length it is padded with the pad character. If longer than  
> the specified length it is truncated.
>
> - If lengthKind is ‘prefixed’: If the string is longer than any  
> specified maximum length it is truncated.
>
> textNumberJustification	Enum
> Valid values ‘left’, ‘right’,  ‘center’
>
>  ‘center’ adds equal padChars before and after the string  
> contents if the string is too short. It adds one extra padChar befor 
> e if needed.
>
> ‘center’ truncates equal numbers of characters before and after  
> if the string is too long. It removes one extra character at the fro 
> nt of the string if needed.
>
>  [OMG/CAM property justification]
>
> Annotation: dfdl:element (simple type ‘string’)
>
> textNumberPadCharacter 	String.
> The padding character used as the default for justification of text  
> elements.
>
> In fixed width character sets this must contain a full single  
> character representation. So if hex entities are used, enough hex  
> bytes must be supplied to provided the full width of a character.
>
> In variable width character sets, this character must be a minimum- 
> width character unless it is specified as an entity (see section TBD  
> Entities)
>
> Annotation: dfdl:element (simple type ‘string’)
>
> 1.3        Properties Specific to Calendar  with Text representation
>
> Property Name	Description
> textCalendarPad	Enum
> Valid values  ‘none’,  ‘fixed’, ‘minLength’
>
> Controls how an item is justified on output when the actual length  
> of a text string is different from the specified length.
>
> Controls how an item is trimmed on input if  textTrimKind is padChar
>
> If ‘none’ the string is expected to match the length.
>
> Otherwise:
>
> - If lengthKind results in a fixed length: If shorter than the  
> specified length it is padded with the pad character. If longer than  
> the specified length it is truncated.
>
> - If lengthKind is ‘prefixed’: If the string is longer than any  
> specified maximum length it is truncated.
>
> textCalendarJustification	Enum
> Valid values ‘left’, ‘right’,  ‘center’
>
>  ‘center’ adds equal padChars before and after the string  
> contents if the string is too short. It adds one extra padChar befor 
> e if needed.
>
> ‘center’ truncates equal numbers of characters before and after  
> if the string is too long. It removes one extra character at the fro 
> nt of the string if needed.
>
>  [OMG/CAM property justification]
>
> Annotation: dfdl:element (simple type ‘string’)
>
> textCalendarPadCharacter 	String.
> The padding character used as the default for justification of text  
> elements.
>
> In fixed width character sets this must contain a full single  
> character representation. So if hex entities are used, enough hex  
> bytes must be supplied to provided the full width of a character.
>
> In variable width character sets, this character must be a minimum- 
> width character unless it is specified as an entity (see section TBD  
> Entities)
>
> Annotation: dfdl:element (simple type ‘string’)
>
>
> I also completed the table of meaning of implicit lengths for  
> different types
>
> 1.1        Lengths of simple types for lengthKind=implicit
>
> Implemented in WMB GUI helper function
>
> Simple type	text (+ xml)	binary	
> String	Length/maxlength 	n/a	
> Float	Text: numberPattern
> (length of positive subpattern)
> Zoned: TotalDigits
>
> 32	
> Double	Text: numberPattern
> Zoned: TotalDigits
>
> 64	
> Decimal/Integer 	Text: numberPattern
> Zoned: TotalDigits
>
> Pkd/bcd: TotalDigits+1/2	
> Long, UnsignedLong	Text: numberPattern
> Zoned: 19
>
> binary: 64
> Pkd/bcd: TotalDigits+1/2
>
> Int, Unsignedint 	Text: numberPattern
> Zoned: 10
>
> binary: 32
> Pkd/bcd: TotalDigits+1/2
>
> Short, Unsignedshort	Text: numberPattern
> Zoned: 5
>
> binary: 16
> Pkd/bcd: TotalDigits+1/2
>
> Byte, Unsignedbyte	Text: numberPattern
> Zoned: 3
>
> binary: 8
> Pkd/bcd: TotalDigits+1/2
>
> DateTime	Calendarpattern		
> Date	Calendarpattern		
> Time	Calendarpattern		
> Duration	Calendarpattern		
> Boolean	Length of  textBooleanTrue	32	
> HexBinary	n/a	Length/maxlength 	
>
>
> Alan Powell
>
> MP 211, IBM UK Labs, Hursley,  Winchester, SO21 2JN, England
> Notes Id: Alan Powell/UK/IBM     email: alan_powell at uk.ibm.com
> Tel: +44 (0)1962 815073                  Fax: +44 (0)1962 816898
>
>
>
>
>
>
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with  
> number 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire  
> PO6 3AU
>
>
>
>
>
>
>
>
>
>
>
>
> 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 at ogf.org
>  http://www.ogf.org/mailman/listinfo/dfdl-wg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/dfdl-wg/attachments/20081209/82558791/attachment-0001.html 


More information about the dfdl-wg mailing list