1# zxid/sg/liberty-idwsf-subs-ref-v1.0.sg
2# Slightly edited, 1.3.2007, Sampo Kellomaki (sampo@iki.fi)
3# $Id: liberty-idwsf-subs-ref-v1.0.sg,v 1.2 2009-09-05 02:23:41 sampo Exp $
4
5target(subsref, urn:liberty:ssos:2006-08:ref)
6import(dst,  urn:liberty:dst:2006-08,liberty-idwsf-dst-v2.1.xsd)
7import(subs, urn:liberty:ssos:2006-08,liberty-idwsf-subs-v1.0.xsd)
8import(lu,   urn:liberty:util:2006-08,liberty-idwsf-utility-v2.0.xsd)
9
10Create         -> %subsref:CreateType
11CreateResponse -> %subsref:CreateResponseType
12Query          -> %subsref:QueryType
13QueryResponse  -> %subsref:QueryResponseType
14Modify         -> %subsref:ModifyType
15ModifyResponse -> %subsref:ModifyResponseType
16Delete         -> %subsref:DeleteType
17DeleteResponse -> %subsref:DeleteResponseType
18Notify         -> %subsref:NotifyType
19NotifyResponse -> %subsref:NotifyResponseType
20
21%SelectType:      base(xs:string) ;
22%TestOpType:      base(xs:string) ;
23%SortType:        base(xs:string) ;
24%TriggerType:     base(xs:string) ;
25%AggregationType: base(xs:string) ;
26%AppDataType:
27  subsref:Subscription*
28  ;
29
30%CreateType:	 base(dst:RequestType)
31  subsref:Subscription*
32  subsref:CreateItem+
33  subsref:ResultQuery*
34  ;
35
36CreateItem -> %subsref:CreateItemType
37%CreateItemType:
38  subsref:NewData?
39  &@dst:CreateItemAttributeGroup
40  ;
41NewData	 -> %subsref:AppDataType
42%CreateResponseType:	 base(subsref:DataResponseType) ;
43%DataResponseType:	 base(dst:DataResponseBaseType)
44  subsref:ItemData*
45  ;
46
47%QueryType:	 base(dst:RequestType)
48  subsref:TestItem*
49  subsref:QueryItem*
50  subsref:Subscription*
51  ;
52
53TestItem	 -> %subsref:TestItemType
54%TestItemType:	 base(dst:TestItemBaseType)
55  subsref:TestOp? -> %subsref:TestOpType
56  ;
57
58QueryItem	 -> %subsref:QueryItemType
59%QueryItemType:	 base(subsref:ResultQueryType)
60  &@dst:PaginationAttributeGroup
61  ;
62%QueryResponseType:	 base(dst:DataResponseBaseType)
63  lu:TestResult*
64  subsref:Data*
65  ;
66
67Data	 -> %subsref:DataType
68%DataType:	 base(subsref:ItemDataType)
69  &@dst:PaginationResponseAttributeGroup
70  ;
71
72%ModifyType:	 base(dst:RequestType)
73  subsref:Subscription*
74  subsref:ModifyItem+
75  subsref:ResultQuery*
76  ;
77ModifyItem	 -> %subsref:ModifyItemType
78%ModifyItemType:
79  subsref:Select?
80  subsref:NewData?
81  &@dst:ModifyItemAttributeGroup
82  ;
83%ModifyResponseType: base(subsref:DataResponseType) ;
84
85%DeleteType:	 base(dst:RequestType)
86  subsref:DeleteItem+
87  ;
88DeleteItem	 -> %subsref:DeleteItemType
89%DeleteItemType:     base(dst:DeleteItemBaseType)
90  subsref:Select?
91  ;
92%DeleteResponseType: base(lu:ResponseType) ;
93
94Select	 -> %subsref:SelectType
95ResultQuery	 -> %subsref:ResultQueryType
96%ResultQueryType:	 base(dst:ResultQueryBaseType)
97  subsref:Select?
98  subsref:Sort?	 -> %subsref:SortType
99  ;
100ItemData	 -> %subsref:ItemDataType
101%ItemDataType:	 base(subsref:AppDataType)
102  &@dst:ItemDataAttributeGroup
103  ;
104
105Subscription           -> %subsref:SubscriptionType
106%SubscriptionType:     base(subs:SubscriptionType)
107  subsref:ResultQuery*
108  subsref:Aggregation? -> %subsref:AggregationType
109  subsref:Trigger?     -> %subsref:TriggerType
110  ;
111
112%NotifyType:         base(dst:RequestType)
113  subsref:Notification*
114  &@subs:NotifyAttributeGroup
115  ;
116Notification         -> %subsref:NotificationType
117%NotificationType:   base(subs:NotificationType)
118  subsref:ItemData*
119  ;
120%NotifyResponseType: base(subs:NotifyResponseType) ;
121
122#EOF
123