[dfdl-wg] Ambiguous XPaths to hidden elements
Steve Hanson
smh at uk.ibm.com
Thu Jan 19 03:43:39 CST 2006
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