2.2.8.2 SubResponseDataOptionalAttributes

The SubResponseDataOptionalAttributes attribute group contains attributes that are used in SubResponseData elements associated with a SubResponse element. The SubResponse element is a subresponse for any type of cell storage service subrequest. The attributes in SubResponseDataOptionalAttributes provide the data that was requested as part of the subrequest. The definition of the SubResponseDataOptionalAttributes attribute group is as follows:

 <xs:attributeGroup name="SubResponseDataOptionalAttributes">
     <xs:attributeGroup ref="tns:CellSubResponseDataOptionalAttributes"/>
     <xs:attributeGroup ref="tns:WhoAmISubResponseDataOptionalAttributes"/>
     <xs:attribute name="ServerTime" type="xs:positiveInteger" use="optional"/>
     <xs:attribute name="LockType" type="tns:LockTypes" use="optional" />
     <xs:attribute name="CoauthStatus" type="tns:CoauthStatusType" use="optional"/>
     <xs:attribute name="TransitionID" type="tns:guid" use="optional"/>
     <xs:attribute name="ExclusiveLockReturnReason" type="tns:ExclusiveLockReturnReasonTypes" use="optional" /> 
     <xs:attribute name="AmIAlone" type="tns:TRUEFALSE" use="optional" />
     <xs:attribute name="LockID" type="tns:guid" use="optional" />
     <xs:attribute name="LockedBy" type="xs:string" use="optional" />
 </xs:attributeGroup>

CellSubResponseDataOptionalAttributes: An attribute group that specifies attributes that MUST be used only for SubResponseData elements associated with a subresponse for a cell subrequest. The CellSubResponseDataOptionalAttributes attribute group is defined in section 2.3.3.2.

WhoAmISubResponseDataOptionalAttributes: An attribute group that specifies attributes that MUST be used only for SubResponseData elements associated with a subresponse for a WhoAmI subrequest. The WhoAmISubResponseDataOptionalAttributes attribute group is defined in section 2.3.3.6.

ServerTime: A positive integer that specifies the server time, which is expressed as a tick count. A single tick represents 100 nanoseconds, or one ten-millionth of a second. ServerTime specifies the number of 100-nanosecond intervals that have elapsed since 00:00:00 on January 1, 0001, which SHOULD<25> be Coordinated Universal Time (UTC). The ServerTime attribute MUST be specified in a server time subresponse that is generated in response to a server time subrequest.

LockType: A LockTypes that specifies the type of lock granted in a coauthoring subresponse or a schema lock subresponse. LockTypes is defined in section 2.2.5.9. If the ErrorCode attribute that is part of the SubResponse element is set to a value of "Success", the LockType attribute MUST be specified in a subresponse that is generated in response to one of the following types of cell storage service subrequest operations:

  • A coauthoring subrequest of type "Join coauthoring session"

  • A coauthoring subrequest of type "Refresh coauthoring session"

  • A schema lock subrequest of type "Get lock"

  • A schema lock subrequest of type "Refresh lock"

  • A lock status subrequest

The types of coauthoring subrequests are defined in section 2.3.3.3. The types of schema lock subrequests are defined in section 2.3.3.5.

CoauthStatus: A CoauthStatusType that specifies the coauthoring status in either a coauthoring subresponse or an exclusive lock subresponse. The CoauthStatusType is defined in section 2.2.5.1. If the ErrorCode attribute that is part of the SubResponse element is set to a value of "Success", the CoauthStatus attribute MUST be specified in a subresponse that is generated in response to one of the following types of cell storage service subrequest operations:

  • A coauthoring subrequest of type "Join coauthoring session"<26>

  • A coauthoring subrequest of type "Refresh coauthoring session"

  • A coauthoring subrequest of type "Get coauthoring status"

  • An exclusive lock subrequest of type "Convert to schema lock with coauthoring transition tracked"

The types of coauthoring subrequests are defined in section 2.3.3.3. The types of exclusive lock subrequests are defined in section 2.3.3.4.

TransitionID: A guid that specifies the unique file identifier stored for that file on the protocol server. This transition identifier serves as an input parameter to the IsOnlyClient, as specified in [MS-SHDACCWS]. The guid type is defined in section 2.2.5.7.

ExclusiveLockReturnReason: An ExclusiveLockReturnReasonTypes that specifies the reason why an exclusive lock is granted in either a coauthoring subresponse or a schema lock subresponse. ExclusiveLockReturnReasonTypes is defined in section 2.2.5.5. The ExclusiveLockReturnReason attribute MUST be specified in a subresponse that is generated in response to one of the following types of cell storage service subrequest operations when the LockType attribute in the subresponse is set to "ExclusiveLock":

  • A coauthoring subrequest of type "Join coauthoring session"

  • A schema lock subrequest of type "Get lock"

The types of coauthoring subrequests are defined in section 2.3.3.3. The types of schema lock subrequests are defined in section 2.3.3.5.

AmIAlone: A TRUEFALSE value that specifies whether the user is alone in the coauthoring session.

LockedID: A guid that specifies the id of the lock.

LockedBy: A string that specifies the user that has the file locked, if any.