1# id-dap.sg -- Authorative ID-DAP 1.0 Service Schema 2# Author: Sampo Kellomaki (sampo@symlabs.com) 3# http://www.w3.org/2001/03/webdata/xsv 4# $Id: id-dap.sg,v 1.2 2007-06-19 15:17:04 sampo Exp $ 5# This schema reflects Liberty ID Directory Access Protocol, 6# version 1.0-07 of 11.10.2006 7 8target(dap, urn:liberty:id-sis-dap:2006-08:dst-2.1) 9import(dst, urn:liberty:dst:2006-08, liberty-idwsf-dst-v2.1.xsd) 10import(subs, urn:liberty:ssos:2006-08, liberty-idwsf-subs-v1.0.xsd) 11import(lu, urn:liberty:util:2006-08, liberty-idwsf-utility-v2.0.xsd) 12 13Create -> %dap:CreateType 14CreateResponse -> %dap:CreateResponseType 15Query -> %dap:QueryType 16QueryResponse -> %dap:QueryResponseType 17Modify -> %dap:ModifyType 18ModifyResponse -> %dap:ModifyResponseType 19Delete -> %dap:DeleteType 20DeleteResponse -> %dap:DeleteResponseType 21Notify -> %dap:NotifyType 22NotifyResponse -> %dap:NotifyResponseType 23 24%SelectType: 25 dap:dn? -> %xs:string 26 dap:filter? -> %xs:string 27 @scope? -> %xs:integer default(0) 28 @sizelimit? -> %xs:integer default(0) 29 @timelimit? -> %xs:integer default(0) 30 @attributes? -> %xs:string 31 @typesonly? -> %xs:boolean default(false) 32 @derefaliases? -> %xs:integer default(0) 33 ; 34 35%TestOpType: base(dap:SelectType) ; 36%SortType: base(xs:string) ; 37%TriggerType: base(xs:string) ; 38%AggregationType: base(xs:string) ; 39 40%AppDataType: 41 dap:LDIF? 42 dap:Subscription? 43 ; 44 45LDIF: base(xs:string) 46 &@dst:localizedLeafAttributes 47 ; 48 49%CreateType: base(dst:RequestType) 50 dap:Subscription* 51 dap:CreateItem+ 52 dap:ResultQuery* 53 ; 54 55CreateItem -> %dap:CreateItemType 56%CreateItemType: 57 dap:NewData? 58 &@dst:CreateItemAttributeGroup 59 ; 60 61NewData -> %dap:AppDataType 62 63%CreateResponseType: base(dap:DataResponseType) ; 64%DataResponseType: base(dst:DataResponseBaseType) 65 dap:ItemData* 66 ; 67 68%QueryType: base(dst:RequestType) 69 dap:TestItem* 70 dap:QueryItem* 71 dap:Subscription* 72 ; 73 74TestItem -> %dap:TestItemType 75%TestItemType: base(dst:TestItemBaseType) 76 dap:TestOp? -> %dap:TestOpType 77 ; 78 79QueryItem -> %dap:QueryItemType 80%QueryItemType: base(dap:ResultQueryType) 81 &@dst:PaginationAttributeGroup 82 ; 83 84%QueryResponseType: base(dst:DataResponseBaseType) 85 dst:TestResult* 86 dap:Data* 87 ; 88 89Data -> %dap:DataType 90%DataType: base(dap:ItemDataType) 91 &@dst:PaginationResponseAttributeGroup 92 ; 93 94%ModifyType: base(dst:RequestType) 95 dap:Subscription* 96 dap:ModifyItem+ 97 dap:ResultQuery* 98 ; 99 100ModifyItem -> %dap:ModifyItemType 101%ModifyItemType: 102 dap:Select? 103 dap:NewData? 104 &@dst:ModifyItemAttributeGroup 105 ; 106 107%ModifyResponseType: base(dap:DataResponseType) ; 108 109%DeleteType: base(dst:RequestType) 110 dap:DeleteItem+ 111 ; 112 113DeleteItem -> %dap:DeleteItemType 114%DeleteItemType: base(dst:DeleteItemBaseType) 115 dap:Select? 116 ; 117 118%DeleteResponseType: base(lu:ResponseType) ; 119 120Select -> %dap:SelectType 121 122ResultQuery -> %dap:ResultQueryType 123%ResultQueryType: base(dst:ResultQueryBaseType) 124 dap:Select? 125 dap:Sort? -> %dap:SortType 126 ; 127 128ItemData -> %dap:ItemDataType 129%ItemDataType: base(dap:AppDataType) 130 &@dst:ItemDataAttributeGroup 131 ; 132 133Subscription -> %dap:SubscriptionType 134%SubscriptionType: base(subs:SubscriptionType) 135 dap:ResultQuery* 136 dap:Aggregation? -> %dap:AggregationType 137 dap:Trigger? -> %dap:TriggerType 138 ; 139 140%NotifyType: base(dst:RequestType) 141 dap:Notification* 142 &@subs:NotifyAttributeGroup 143 ; 144 145Notification -> %dap:NotificationType 146%NotificationType: base(subs:NotificationType) 147 dap:ItemData* 148 ; 149 150%NotifyResponseType: base(subs:NotifyResponseType) ; 151 152#EOF 153