3.1.4.3.5.7 InternalUrl
The InternalUrl attribute is a composite string denoting the path to some structural element of the site that appears in change notification (see section 3.1.4.3). The structural element can be one of the following: site collection, site, list, folder, or list item. The value of InternalUrl is not meant to be used as a URL; any similarity in the name and syntax is purely coincidental. The syntax of the string is specified as follows in Augmented BNF notation [RFC5234] (assuming that the term GUID is implicitly defined):
-
SPACE = %x20 ALPHA = %x41-7A DIGIT = %x30-39 INTEGER = *DIGIT UNDERSCORE = %x5F ; _ PUNCTUATION = ( "." / "," / ";" / "!" / "-" / "@" / "(" / ")" / "[" / "]" / ";" ) ; characters ~ " # % & * : < > ? / \ { | } are forbidden in names! NAME = (ALPHA / UNDERSCORE) *[ SPACE / ALPHA / UNDERSCORE / DIGIT / PUNCTUATION] ; NAME cannot begin or end with dot "." , or contain consecutive dots ".." PATH = [ NAME / NAME '/’ PATH ] GUIDEMBRACED = '{' GUID '}' INTERNALURL = '/siteurl=' PATH '/siteid=' GUIDEMBRACED [ '/weburl=' PATH '/webid=' GUIDEMBRACED [ ( '/listid =' GUIDEMBRACED ( [ '/folderurl=' PATH [ '/itemid=' INTEGER ] ] / ‘/viewid=’ GUIDEMBRACED ) / '/fpfolder=' PATH [ '/fpitemid=' NAME ] ) ] ]
For folder and file changes that are not in a document library, the InternalUrl contains fpfolder and fpitemid components. For document library items the InternalUrl contains listid, folderurl, and itemid components.
For example, the InternalUrl:
-
/siteurl=/siteid={9bd2c245-41d0-4440-a6ad-1f526dcbe116}/weburl=Subsite/webid={6213f860-baea-4167-ac5f-c5830b52f015}/listid={a04db214-c3c6-45d3-a601-dd1e0e14816a}/folderurl=Subfolder/itemid=5
targets list item with ID set to 5, and has the following components:
-
-
siteurl: Specifies the URL of the changed site collection responding to this GetChanges operation. The URL is a store-relative URL to the server URL; an empty value means the site collection URL is the same as the server URL. For example, if the site collection URL is: http://servername/sites/site01, then the siteurl will be "sites/site01"; if the site collection URL is: http://servername, the siteurl will be empty.
-
siteid: Specifies the GUID of the site.
-
weburl: Specifies the URL of the subsite relative to the site collection URL (included for Webs and child items).
-
webid: Specifies the GUID of that subsite.
-
listid: Specifies the GUID of the list (included for lists and child items).
-
folderurl: Specifies the path to the folder relative to the list itself (an empty value means that the item is contained in the list itself, not in a sub folder).
-
itemid: Specifies the identifier (integer) of the list item inside of its list (included for list items only).
-
Another example would be as follows.
-
/siteurl=/siteid={fab5349c-eb94-43bd-9792-917c44b75040}/weburl=/webid={45ff402e-c3be-4612-98d6-915b569b742a}/fpfolder=Subfolder/fpitemid=default.aspx
This targets list item with ID set to 5, and has the following components:
-
-
siteurl: Specifies the store-relative URL of the structural element responding to this GetChanges operation. An empty value means "this site collection itself".
-
siteid: Specifies the GUID of the site.
-
weburl: Specifies the URL of the subsite relative to the site collection URL (included for Webs and child items).
-
webid: Specifies the GUID of that subsite.
-
fpfolder: Specifies the path to the folder relative to the subsite (for folders and files that are not in a document library).
-
fpitemid: Specifies the file name (included for files only).
-
viewid: A non-empty GUID that identifies the View.
-