[DFDL-WG] questions on setVariable

Mike Beckerle mbeckerle.dfdl at gmail.com
Tue Sep 10 13:23:03 EDT 2013


Those are both public-comment-class issues.

The issue of what does "." mean in various places is interesting. It is
referring to an infoset node, but how to explain exactly which one it is....

The out-of-order issue with evaluation that you mention is definitely an
issue. The schema you gave will work or SDE depending on the order of
evaluation of the statements and the language is not precise enough to say
what the order is. I think the order of the setVariable and
newVariableInstance statements at any annotation point, must be linear
first to last. The order of setVariable and newVariableInstance combined
into the resolved set of annotations, but from multiple annotation points
(e.g., an element and a global type definition it references), those can be
interleaved in any order.


Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology |
www.tresys.com
Please note: Contributions to the DFDL Workgroup's email discussions are
subject to the OGF Intellectual Property
Policy<http://www.ogf.org/About/abt_policies.php>



On Tue, Sep 10, 2013 at 12:53 PM, Cranford, Jonathan W. <jcranford at mitre.org
> wrote:

>  These questions may go towards public comment if the answers aren't
> straight-forward.  Section references are against latest editor's draft.**
> **
>
> ** **
>
> **·        **Section 7.9 - 5th paragraph after first example - "A
> dfdl:setVariable value expression may refer to the value of this element
> using a relative path value '.'. "****
>
> ** **
>
> Which element?  ****
>
> ** **
>
> If dfdl:setVariable is attached to a simpleType, then the "element"
> referred to here is the element of that type, correct?****
>
> ** **
>
> But when it's attached to group reference, sequence, or choice, is it the
> parent element which contains the group reference, sequence, or choice?***
> *
>
> ** **
>
> ** **
>
> **·        **Section 7.9 - next-to-last paragraph:  "However, the order
> of execution among them is not specified."****
>
> ** **
>
> Wouldn't this be ambiguous, then?****
>
> ** **
>
> <xs:schema>****
>
>     <xs:annotation>****
>
>     <xs:appinfo source="http://www.ogf.org/dfdl/">****
>
>       <xs:defineVariable name="bar" />****
>
>       <xs:defineVariable name="baz" defaultValue="biff"/>****
>
>     </xs:appinfo>****
>
>     </xs:annotation>****
>
> ...****
>
>     <xs:element name="foo">****
>
>       <xs:annotation>****
>
>         <xs:appinfo source="http://www.ogf.org/dfdl/">****
>
>           <xs:setVariable ref="bar" value="{$tns:baz}"/>****
>
>           <xs:setVariable ref="baz" value="fooey"/>****
>
>         </xs:appinfo>****
>
>       </xs:annotation>****
>
>     </xs:element>****
>
> ...****
>
> </xs:schema>****
>
> ** **
>
> If the order of execution isn't specified, isn't it ambiguous whether
> tns:bar gets the value of "biff" (defaultValue of tns:baz) or "fooey"?****
>
> ** **
>
> ** **
>
> Respectfully,****
>
> ** **
>
> --****
>
> Jonathan W. Cranford ****
>
> Senior Information Systems Engineer****
>
> The MITRE Corporation (http://www.mitre.org)****
>
> ** **
>
> --
>   dfdl-wg mailing list
>   dfdl-wg at ogf.org
>   https://www.ogf.org/mailman/listinfo/dfdl-wg
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20130910/ee357a43/attachment.html>


More information about the dfdl-wg mailing list