
Mike, thanks for comments, replies in-line below. Regards Steve Hanson Architect, Data Format Description Language (DFDL) Co-Chair, OGF DFDL Working Group IBM SWG, Hursley, UK smh@uk.ibm.com tel:+44-1962-815848 From: Mike Beckerle <mbeckerle.dfdl@gmail.com> To: Steve Hanson/UK/IBM@IBMGB, Cc: dfdl-wg@ogf.org Date: 18/02/2013 22:26 Subject: Re: [DFDL-WG] representation properties vs. format properties This proposal is a very good solution to all these terminology issues - The term 'DFDL property' applies to all DFDL properties carried on any DFDL annotation. We should use it in preference to 'attribute' even when an XML attribute is the only way that a DFDL property may be specified. (This is in keeping with XML Schema, where for example the 'name' property of a component is given by an XML attribute representation 'name'). The above is very good, because we have even more ways to represent DFDL properties, having long, short, and element forms. - Similarly, the term 'XSD property' applies to all XML Schema properties, such as default, fixed, minOccurs, maxOccurs, etc. This is very useful, because in the spec we aren't consistent here. - The term 'format property' applies to all DFDL properties carried on DFDL format annotations. (One could envisage similar terms 'statement property' and 'defining property' but we don't need them at the moment). I'm ok with this. - The term 'representation property' applies to all format properties that are used to describe grammar regions. The revised grammar uses 'Rep' in grammar terms like 'SimpleElementEmptyRep' etc. So, is encoding a representation property? Is representation a representation property? I am not quite sure what it means to 'describe grammar regions'. SMH: Yes to both. I struggled to come up with a condensed phrase to describe what representation properties cover. I was trying to say that the term applies to all format properties that are used when taking some data in the data stream, parsing it and creating the infoset (and vice versa when serializing), and not to properties that are used for schema linkage or to synthesise infoset values. - The term 'non-representation property' applies to all format properties that are not representation properties, specifically dfdl:ref, dfdl:hiddenGroupRef, dfdl:elementId, dfdl:choiceBranchRef, dfdl:inputValueCalc, dfdl:outputValueCalc, dfdl:escapeSchemeRef. Is that list exhaustive? SMH: I believe so. The one non-standard property is dfdl:escapeSchemeRef, because it is a non-representation property yet can still be placed into scope. All the other non-representation properties can not be placed into scope. I am ok with that, it just means that whether a format property is a non-representation property is decoupled from whether it can be placed into scope or not, and should be considered on a case-by-case basis. Alternatively we can say that dfdl:escapeSchemeRef is a representation property even though it points at a defining annotation (and so is similar in this respect to dfdl:prefixLengthType). I think we should say that escapeSchemeRef is a representation property, which eliminates the scope/non-scope issue. I think the analogy to prefixLengthType is very close. Since delimiter properties are representation properties, then so should escapeSchemeRef as it is effectively a modifier on the delimiter properties. SMH: I am ok with that. - Property dfdl:representation must be qualified by the namepace prefix when referred to in the spec, and preferably either preceded by 'property' or used on its own, rather than followed by 'property', to avoid any ambiguity. - The term 'attribute' should be used only when describing how a property is represented in XML terms. 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