[DFDL-WG] validating expressions on elements in a choice or unordered sequence

Mark Frost FROSTMAR at uk.ibm.com
Fri Apr 11 06:22:31 EDT 2014


When we were implementing unordered sequences, this raised some questions 
around evaluating relative paths in expressions, for elements in a choice 
or unordered sequence : 

DFDL spec: (gwdrp-dfdl-v1.0.4 section 15)
"When processing a choice group the parser validates
any contained path expressions. If a path 
expression contained inside a choice branch refers 
to any other branch of the choice, then it is a 
schema definition error."

1.      I'm not clear what benefit this restriction on path expressions 
gives.
It seems redundant since in any single instance of a choice group, if the 
branch  being processed exists, then by definition none of it's sibling 
branches exist. Any expression path referring to a non-existent branch 
would correctly return <empty sequence>

If the choice group is inside a repeating structure, then expressions 
referring to choice branches within other instances of the choice could be 
useful.
Should an expression referring to branches in other instances of a choice 
cause a schemadef error?

Example
expression on el_b could be { fn:count(../../el_choice/el_a) }

- parent
  [sequence]
    - el_choice [minOccurs=5 maxOccurs=5]
      [choice]
        - el_a
        - el_b
 

2.      Should an expression that potentially refers to branches in the 
choice cause a schemadef error?

Example
identically named elements in and out of a choice
expression on el_c could be { fn:count(../el_a) }

- parent
  [sequence]
    - el_a
    - el_b
    - [embedded choice group]
       - el_a
       - el_c





Regards,
Mark Frost
_____________________________________
MP 211, IBM Hursley, Winchester, SO21 2JN
Phone: (01962) 817009 or x247009
Email: frostmar at uk.ibm.com
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20140411/c8df9ce4/attachment.html>


More information about the dfdl-wg mailing list