
Nevermind. I found section 6.3.2 is very clear on this: DFDL expressions reference other items in the infoset or augmented infoset using absolute or relative paths. Relative paths are evaluated when the component containing the expression is referenced not when it is declared. For example a global element may have a DFDL property which is an expression that contains a relative path to another element. The relative path is evaluated when the global element is referenced from an element reference. I guess I need to re-read the whole darn thing! On Thu, Jul 11, 2013 at 3:58 PM, Mike Beckerle <mbeckerle.dfdl@gmail.com>wrote:
Suppose I have
<dfdl:defineFormat name="myFormat"> <dfdl:format byteOrder="{../bOrder }"/> </dfdl:defineFormat>
<dfdl:format encoding="{ ../enc }"/>
Is that immediately nonsense, since ../bOrder isn't meaningful at top level where formats are defined? What about ../enc - evaluated at top level or when the encoding property is needed?
I.e., I use this format down inside my schema
....<element ref="myElement" dfdl:ref="myFormat"/>
Does the relative path ../bOrder get executed relative to myElement?
My initial thought was that relative paths aren't usable in top-level definitions, but if that's the case then escapeScheme's, which can only be defined at top level currently, would not have any way to take advantage of the runtime-expression capabilites of escapeChar, escapeEscapeChar, etc.
...mike
-- Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com
-- Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com