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