[dfdl-wg] Ambiguous XPaths to hidden elements

Westhead, Martin (Martin) westhead at avaya.com
Thu Jan 19 10:26:17 CST 2006


Hi All,

I believe the XPath standard permits the extension of the language by
the addition of new functions. If I'm correct 1 and 2 are not a change
to the language but are (I believe) a permitted extension.

However I would be happy with 1. It is probably tidier and as Steve
points out (later) it seems to be suggestive of a simple implementation.

Martin

>-----Original Message-----
>From: owner-dfdl-wg at ggf.org [mailto:owner-dfdl-wg at ggf.org] On Behalf Of
>Steve Hanson
>Sent: Thursday, January 19, 2006 1:44 AM
>To: Westhead, Martin (Martin)
>Cc: dfdl-wg at ggf.org; owner-dfdl-wg at ggf.org
>Subject: Re: [dfdl-wg] Ambiguous XPaths to hidden elements
>
>As a DFDL parser implementor I do not want modifications to the XPath
>syntax. I want to be able to reuse existing XPath implementations. It's
>also something else for the user to have to learn. So 2a/b/c are not
>attractive.
>
>Regards, Steve
>
>Steve Hanson
>WebSphere Message Brokers,
>IBM Hursley, England
>Internet: smh at uk.ibm.com
>Phone (+44)/(0) 1962-815848
>
>
>
>             "Westhead, Martin
>             (Martin)"
>             <westhead at avaya.c
To
>             om>                       <dfdl-wg at ggf.org>
>             Sent by:
cc
>             owner-dfdl-wg at ggf
>             .org
Subject
>                                       [dfdl-wg] Ambiguous XPaths to
>                                       hidden elements
>             18/01/2006 20:24
>
>
>
>
>
>
>
>
>
>Hi folks,
>
>This is to try to pick up on the issue identified by Suman in today's
call.
>
>The Issue
>Consider the following example:
>
><xs:element name="root">
><xs:complexType>
>                                <xs:sequence>
>
<xs:annotation><xs:appinfo
>source="http://dataformat.org" />
>                                             <hidden>
><xs:element name="repeats" type="xs:integer"/>
>
</hidden>
>
></xs:appinfo></xs:annotation >
>                                <xs:element
name="testElement"
>type="xs:integer " minOccurs="0" maxOccurs="unbounded"
>                                 dfdl:repeatCount="../repeats">
>                </xs:complexType>
></xs:element>
>
>The problem is that the path "../repeats" can be broken by
modifications to
>the logical model due to name clashes on "repeats" and there are cases
that
>can be constructed where this would not be obvious to a user.
>
>Possible Solutions
>Possible fixes to this include:
>   1.  Disallow  XPath  references to hidden elements the user is
forced to
>      place the material into the global context to refer to it.
>   2.  Provide  a  special  XPath operator to indicate we are
referencing a
>      hidden element, possibilities include:
>         a. "../hidden(repeats)"
>         b.  "hidden(../repeats)"
>         c.  "../dfdl:hidden/repeats"
>   3.  Only allow hidden elements to be present in top level global
complex
>      types. These can then be included where needed. (This is the
solution
>      that  Suman  was  pushing  but  I  don't  fully  understand  it
- in
>      particular I don't see how it resolves the ambiguity issue.)
>
>
>I believe my preference here is 2a or 2b followed by 1.
>
>Comments/suggestions/opinions?
>
>Thanks,
>
>Martin





More information about the dfdl-wg mailing list