1# zxid/sg/saml-schema-protocol-2.0.sg 2# $Id: saml-schema-protocol-2.0.sg,v 1.5 2008-02-23 03:59:31 sampo Exp $ 3# 4# N.B. This file is not a direct conversion. Instead it has been manually 5# edited to make it simpler and to facilitate code generation. 6 7target(sp,urn:oasis:names:tc:SAML:2.0:protocol) 8import(sa,urn:oasis:names:tc:SAML:2.0:assertion,saml-schema-assertion-2.0.xsd) 9import(ds,http://www.w3.org/2000/09/xmldsig#,http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd) 10ns(xs, http://www.w3.org/2001/XMLSchema) 11 12%RequestAbstractType: 13 sa:Issuer? 14 ds:Signature? 15 sp:Extensions? 16 @ID -> %xs:ID 17 @Version -> %xs:string 18 @IssueInstant -> %xs:dateTime 19 @Destination? -> %xs:anyURI 20 @Consent? -> %xs:anyURI 21 ; 22 23Extensions -> %sp:ExtensionsType 24%ExtensionsType: 25 any+ 26 ; 27 28%StatusResponseType: 29 sa:Issuer? 30 ds:Signature? 31 sp:Extensions? 32 sp:Status 33 @ID -> %xs:ID 34 @InResponseTo? -> %xs:NCName 35 @Version -> %xs:string 36 @IssueInstant -> %xs:dateTime 37 @Destination? -> %xs:anyURI 38 @Consent? -> %xs:anyURI 39 ; 40 41Status -> %sp:StatusType 42%StatusType: 43 sp:StatusCode 44 sp:StatusMessage? 45 sp:StatusDetail? 46 ; 47 48StatusCode -> %sp:StatusCodeType 49%StatusCodeType: 50 sp:StatusCode? 51 @Value -> %xs:anyURI 52 ; 53 54StatusMessage -> %xs:string 55 56StatusDetail -> %sp:StatusDetailType 57%StatusDetailType: 58 any* 59 ; 60 61AssertionIDRequest -> %sp:AssertionIDRequestType 62%AssertionIDRequestType: base(sp:RequestAbstractType) 63 sa:AssertionIDRef+ 64 ; 65 66SubjectQuery -> %sp:SubjectQueryAbstractType 67%SubjectQueryAbstractType: base(sp:RequestAbstractType) 68 sa:Subject 69 ; 70 71AuthnQuery -> %sp:AuthnQueryType 72%AuthnQueryType: base(sp:SubjectQueryAbstractType) 73 sp:RequestedAuthnContext? 74 @SessionIndex? -> %xs:string 75 ; 76 77RequestedAuthnContext -> %sp:RequestedAuthnContextType 78%RequestedAuthnContextType: 79 sa:AuthnContextClassRef* 80 sa:AuthnContextDeclRef* 81 @Comparison? -> %sp:AuthnContextComparisonType 82 ; 83 84%AuthnContextComparisonType: enum( exact minimum maximum better ) ; 85 86AttributeQuery -> %sp:AttributeQueryType 87%AttributeQueryType: base(sp:SubjectQueryAbstractType) 88 sa:Attribute* 89 ; 90 91AuthzDecisionQuery -> %sp:AuthzDecisionQueryType 92%AuthzDecisionQueryType: base(sp:SubjectQueryAbstractType) 93 sa:Action+ 94 sa:Evidence? 95 @Resource -> %xs:anyURI 96 ; 97 98AuthnRequest -> %sp:AuthnRequestType 99%AuthnRequestType: base(sp:RequestAbstractType) 100 sa:Subject? 101 sp:NameIDPolicy? 102 sa:Conditions? 103 sp:RequestedAuthnContext? 104 sp:Scoping? 105 @ForceAuthn? -> %xs:boolean 106 @IsPassive? -> %xs:boolean 107 @ProtocolBinding? -> %xs:anyURI 108 @AssertionConsumerServiceIndex? -> %xs:unsignedShort 109 @AssertionConsumerServiceURL? -> %xs:anyURI 110 @AttributeConsumingServiceIndex? -> %xs:unsignedShort 111 @ProviderName? -> %xs:string 112 ; 113 114NameIDPolicy -> %sp:NameIDPolicyType 115%NameIDPolicyType: 116 @Format? -> %xs:anyURI 117 @SPNameQualifier? -> %xs:string 118 @AllowCreate? -> %xs:boolean 119 ; 120 121Scoping -> %sp:ScopingType 122%ScopingType: 123 sp:IDPList? 124 sp:RequesterID* 125 @ProxyCount? -> %xs:nonNegativeInteger 126 ; 127 128RequesterID -> %xs:anyURI 129 130IDPList -> %sp:IDPListType 131%IDPListType: 132 sp:IDPEntry+ 133 sp:GetComplete? 134 ; 135 136IDPEntry -> %sp:IDPEntryType 137%IDPEntryType: 138 @ProviderID -> %xs:anyURI 139 @Name? -> %xs:string 140 @Loc? -> %xs:anyURI 141 ; 142 143GetComplete -> %xs:anyURI 144 145Response -> %sp:ResponseType 146%ResponseType: base(sp:StatusResponseType) 147 sa:Assertion? 148 sa:EncryptedAssertion? 149 ; 150 151ArtifactResolve -> %sp:ArtifactResolveType 152%ArtifactResolveType: base(sp:RequestAbstractType) 153 sp:Artifact 154 ; 155 156Artifact -> %xs:string 157 158ArtifactResponse -> %sp:ArtifactResponseType 159%ArtifactResponseType: base(sp:StatusResponseType) 160 sp:Response? 161 any? 162 ; 163 164ManageNameIDRequest -> %sp:ManageNameIDRequestType 165%ManageNameIDRequestType: base(sp:RequestAbstractType) 166 sa:NameID? 167 sa:EncryptedID? 168 sp:NewID? 169 sp:NewEncryptedID? 170 sp:Terminate? 171 ; 172 173NewID -> %xs:string 174 175NewEncryptedID -> %sa:EncryptedElementType 176 177Terminate -> %sp:TerminateType 178 179ManageNameIDResponse -> %sp:StatusResponseType 180 181LogoutRequest -> %sp:LogoutRequestType 182%LogoutRequestType: base(sp:RequestAbstractType) 183 sa:BaseID? 184 sa:NameID? 185 sa:EncryptedID? 186 sp:SessionIndex* 187 @Reason? -> %xs:string 188 @NotOnOrAfter? -> %xs:dateTime 189 ; 190 191SessionIndex -> %xs:string 192 193LogoutResponse -> %sp:StatusResponseType 194 195NameIDMappingRequest -> %sp:NameIDMappingRequestType 196%NameIDMappingRequestType: base(sp:RequestAbstractType) 197 sa:BaseID? 198 sa:NameID? 199 sa:EncryptedID? 200 sp:NameIDPolicy 201 ; 202 203NameIDMappingResponse -> %sp:NameIDMappingResponseType 204%NameIDMappingResponseType: base(sp:StatusResponseType) 205 sa:NameID? 206 sa:EncryptedID? 207 ; 208 209#EOF 210