Uri Templates: Questions on draft-gregorio-uritemplate-06

Hi All,
 i am having trouble reconciling some of the examples in the 06 draft
with both the descriptions of the expansions and the sample
implementation.

The first set hinge on the handling of expansions where named (in the
sense of the table in appendix A) is true. The variable list has the
list value ["red", "green", "blue"]. The example expansions are:

        {;list}        ;list=red,green,blue
        {;list*}        ;red;green;blue
        {?list}        ?list=red,green,blue
        {?list*}        ?list=red&list=green&list=blue
        {&list}        &list=red,green,blue
        {&list*}        &list=red&list=green&list=blue

I don't understand why the expansions of ? and & include list= for
each entry when exploded. The description of the handling for the case
of an exploded list makes no mention of the use of the name, and there
is no separate section (as there is for the unexploded case). Also,
the table makes ; the same as ? and & for named, and yet their
handling appears different. The descriptions in 3.2.7 and 3.2.8 /
3.2.9 are likewise similar. In short, i can't see why the examples
differ, given the rest of the document, i was expecting

        {?list*}        ?red&green&blue
        {&list*}        &red&green&blue

I know these don't look like valid form query or form continuation
strings - am i missing something in the description of ? and & (and
the implementation hints) regarding special handling for the name when
exploded ?

The second case is the examples for the variable foo with string value
"That's right!"

        {foo}        That%27s%20right%21
        {+foo}        That%27s%20right!
        {#foo}        #That%27s%20right!

As far as i can see, the single quote character between the t and the
s is in sub-delims (in section 1.5) between & and (. I don't
understand why it is treated differently to ! which is also in
sub-delims. I would have expected these last two expansions to be:

        {+foo}        That's%20right!
        {#foo}        #That's%20right!

since both + and # have allow U+R, and ', ! (but not space) are
sub-delims and hence reserved.

Thanks in advance for any enlightenment,

 - Robbie

Received on Monday, 5 September 2011 13:07:48 UTC