This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 4906 - In 3.4, don't write deref() function into the BNF
Summary: In 3.4, don't write deref() function into the BNF
Status: RESOLVED WONTFIX
Alias: None
Product: SML
Classification: Unclassified
Component: Core (show other bugs)
Version: unspecified
Hardware: Macintosh All
: P2 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: SML Working Group discussion list
URL:
Whiteboard:
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2007-08-01 21:19 UTC by C. M. Sperberg-McQueen
Modified: 2007-10-17 20:28 UTC (History)
0 users

See Also:


Attachments

Description C. M. Sperberg-McQueen 2007-08-01 21:19:27 UTC
In section 3.4, the SML spec specifies that the XPath
expression in the sml:selector attribute must match a
grammar given in BNF form.  The grammar provides that 
the SML 'deref' function may be called in the XPath
expression, by including a production for a non-terminal
called DerefExpr.

It would probably be simpler (requiring less grammar, or
none) just to allow a normal XPath function call and
specify that the sml:deref function must be available in
the library of functions known to the XPath interpreter.
So I propose that the spec be changed to say that, instead
of conveying that fact through the grammar.
Comment 1 Kumar Pandit 2007-08-02 03:40:10 UTC
The XML id constraint selector uses a restricted subset of XPath. It does not allow any fn call. SML extends this to allow call to only the deref() fn. This is why we have the explicitly defined production DerefExpr.
Comment 2 C. M. Sperberg-McQueen 2007-08-02 03:52:47 UTC
I think the desired effect can be formulated by saying that when
the XPath expression in the id constraint selector is evaluated,
the 'function implementations' property of the dynamic context
is empty except for the SML 'deref' function.

This has the advantage that we do not need to write BNF to try
to handle the complexities of QName prefixes.  It makes it
easier to modify or adjust the set of available functions in 
future; that may or may not be an advantage.  
Comment 3 Pratul Dublish 2007-09-17 15:50:02 UTC
I think that the BNF in the spec is more useful since it clarifies that we allow deref functions to be nested. I recommend that we resolve this bug as WONTFIX