Subject: [netmod] keyref ABNF

From: Andy Bierman <[email-masked]>
Date: Fri, 07 Nov 2008 10:42:09 -0800

Hi,

This ABNF on pg. 146 doesn't look right to me:

     relative-path          = descendant-path /
                              (".." "/"
                              *relative-path)

relative-path leads to path constructions such as "../../".
Clearly no ancestor node of 'self' is going to be a leaf,
let alone a key leaf.

I think this ABNF expresses the intended syntax:

     relative-path          = *(".." "/") descendant-path

Andy

_______________________________________________
netmod mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/netmod

---

From: Andy Bierman <[email-masked]>
Date: Fri, 07 Nov 2008 17:04:52 -0800

>     relative-path          = *(".." "/") descendant-path

This is wrong as well:

     descendant-path        = node-identifier *path-predicate
                              absolute-path

It should be:

     descendant-path        = node-identifier *path-predicate
                              [absolute-path]

(e.g., ../../foo)

Andy

---

From: Martin Bjorklund <[email-masked]>
Date: Mon, 10 Nov 2008 21:41:28 +0100 (CET)

> > relative-path          = *(".." "/") descendant-path

You are right, fixed.

>      descendant-path        = node-identifier *path-predicate

But this would also allow ../../foo[name=current()/../bar]

so I think it should be

      descendant-path        = node-identifier 
                               [*path-predicate absolute-path]

/martin

---

From: Andy Bierman <[email-masked]>
Date: Mon, 10 Nov 2008 13:53:25 -0800

>                                [*path-predicate absolute-path]

OK

Andy