2012-04-29 57 views
1

我最近看了一些的:http://tools.ietf.org/html/rfc6570#section-1RFC 6570個URL模板:角色/與其他前綴

而且我發現下面的網址模板實例:

GIVEN : 
    var="value"; 
    x=1024; 
    path=/foo/bar; 

{/var,x}/here   /value/1024/here 
{#path,x}/here  #/foo/bar,1024/here 

這似乎是矛盾的。

在第一個,它看來/內容替換, 在第二一個,看來該被保持。

因此,我想知道羯羊有在這個特殊的RFC不一致。我是這些RFC的新手,所以也許我不完全瞭解這些開發背後的文化。

回答

2

這兩個例子中沒有矛盾。它們說明擴展表達式的第一個字符爲/的規則與擴展第一個字符爲#的表達式的規則不同。這些可供選擇的擴展規則幾乎是具有各種不同魔術主角的全部點 - 在RFC中稱爲運算符

具有前導字符/的表達式根據「表達式中的每個變量被替換爲其值,前面跟着一個/字符」的規則進行擴展。 (我在解釋真正的規則,這在RFC的第3.2.6節中有描述)。帶有前導#的表達式根據一條規則進行擴展,該規則指出「表達式中的每個變量都被其值替換,第一可變通過由前面,一個#和隨後的變量之前。(再次改寫,見3.2.4實際的規則。)