| Top |  |  |  |  | 
Figure 11. Schema fragment for lib:LogoutRequest
<xs:element name="LogoutRequest" type="LogoutRequestType"/>
<xs:complexType name="LogoutRequestType">
  <xs:complexContent>
    <xs:extension base="samlp:RequestAbstractType">
      <xs:sequence>
        <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="ProviderID"/>
        <xs:element ref="saml:NameIdentifier"/>
        <xs:element name="SessionIndex" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="RelayState" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute ref="consent" use="optional"/>
      <xs:attribute name="NotOnOrAfter" type="xs:dateTime" use="optional"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
<xs:element name="ProviderID" type="md:entityIDType"/>
<xs:element name="RelayState" type="xs:string"/>
LassoNode *
lasso_lib_logout_request_new (void);
Creates a new LassoLibLogoutRequest object.
LassoNode * lasso_lib_logout_request_new_full (char *providerID,LassoSamlNameIdentifier *nameIdentifier,LassoSignatureType sign_type,LassoSignatureMethod sign_method);
Creates a new LassoLibLogoutRequest object and initializes it with the parameters.
| providerID | the provider ID requesting the logout | |
| nameIdentifier | the name identifier to log out | |
| sign_type | a LassoSignatureType value | |
| sign_method | a LassoSignatureMethod value | 
struct LassoLibLogoutRequest {
	LassoSamlpRequestAbstract parent;
	/* <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/> */
	GList *Extension; /* of xmlNode* */
	char *ProviderID;
	LassoSamlNameIdentifier *NameIdentifier;
	char *SessionIndex;
	char *RelayState;
	char *consent;
	char *NotOnOrAfter;
};