
More work to do on this, but no time before the meeting. Let's discuss the rules below, and refine afterwards: If dfdl:choiceKind='fixedLength' then there must be at least one branch of the choice for which all of the content has a calculable length. Definition : A DFDL region is a region of the data stream described by the DFDL grammar. Note : we need to define this term - we use the term 'region' without definition throughout the specification. Sometimes we call it a 'grammar region'. Definition: A DFDL region has a calculable length if the length of its representation in units of bytes can be calculated from the DFDL description alone. The leading alignment region has a calculable length if the alignment of the component is the same as the alignment of the parent. The trailing alignment region has a calculable length if the alignment of the component is the same as the alignment of the parent. Q: Is this rule necessary? The initiator region has a calculable length if all of the possible initiator values have a calculable length. An initiator value is a DFDL string literal. It has a calculable length if the DFDL string literal does not contain any variable-length parts. The terminator region has a calculable length if all of the possible terminator values have a calculable length. A terminator value is a DFDL string literal. It has a calculable length if the DFDL string literal does not contain any variable-length parts. A variable-length part is any of the following - a character string in a variable-width encoding - a DFLD entity in a variable-width encoding - a DFDL generic entity which can match a variable number of characters ( NL, WSP+, WSP* ) The simple content region has a calculable length if both of the following are true: - either the encoding is a fixed-width encoding or the representation does not contain characters. - either lengthKind is 'explicit' and the length is not a DFDL expression or lengthKind is 'implicit' and there is an implicit length for the simple type and its dfdl:representation The complex content region has a calculable length if all of the following are true: - either the encoding is a fixed-width encoding or the representation ( recursively ) does not contain characters. - the element has lengthKind='explicit' and dfdl:length is not a DFDL expression - all group members, recursively, are required ( minOccurs=maxOccurs ) regards, Tim Kimber, Common Transformation Team, Hursley, UK Internet: kimbert@uk.ibm.com Tel. 01962-816742 Internal tel. 246742 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