GEC11InstMeasWorkingSession: 072111_v0.3_MDOD_types.rnc

File 072111_v0.3_MDOD_types.rnc, 3.7 KB (added by hmussman@bbn.com, 8 years ago)
Line 
1# ##############################################################
2# File: MDOD_types.rnc
3# Version: 0.1
4# ##############################################################
5
6default namespace im = "http://www.geni.net/measurement/base/20110721"
7
8# One ID attribute for identifiers, descriptors, and holders
9MDOD_id = attribute id { xsd:string }
10
11# identifier types
12MDOD_rank = attribute rank { "primary" | "secondary" }
13MDOD_type = attribute type { "urn" | "variable" | "key" | "token" }
14MDOD_source = attribute source { xsd:string }
15
16MDOD_title = element title { xsd:string }
17MDOD_abstract = element abstract { xsd:string }
18MDOD_subject = element subject { xsd:string }
19MDOD_keywords = element keywords { xsd:string }
20
21MDOD_Annotation =
22    element annotation {
23        attribute user_id { xsd:string }?
24        & attribute date_time { xsd:string }?
25        & xsd:string
26    }
27
28# descriptor types
29MDOD_level = attribute level { xsd:int }
30MDOD_object_type = attribute object_type { "data_collection" | "data_flow" |
31    "data_dir" | "data_file" | "data_db" | "data_svc_portal" | "data_svc_gui" }
32MDOD_collection_location = attribute collection_location { xsd:string }
33
34# handling start/end times descriptor (lifetime) as in PerfSONAR
35MDOD_Lifetime =
36    element lifetime {
37        MDOD_StartTime
38        & (MDOD_EndTime | MDOD_Duration)?
39    }
40
41MDOD_TimeContent =
42    attribute type { text }
43    & xsd:string
44
45MDOD_StartTime = element start { MDOD_TimeContent }
46MDOD_EndTime = element end { MDOD_TimeContent }
47
48MDOD_Duration =
49    element duration {
50        attribute type { xsd:string }
51        & xsd:string
52    }
53
54MDOD_project_id = attribute project_id { xsd:string }
55MDOD_slice_id = attribute slice_id { xsd:string }
56MDOD_experiment_id = attribute experiment_id { xsd:string }
57MDOD_run_id = attribute run_id { xsd:string }
58MDOD_target = attribute target { xsd:string }
59
60MDOD_Category =
61    element category {
62        attribute parameter { xsd:string }
63        & xsd:string
64    }
65
66MDOD_Object_Size = element object_size { xsd:double }
67MDOD_Flow_Rate = element flow_rate { xsd:double }
68
69MDOD_Locator =
70    element locator {
71        attribute view { "global" | "per_assoc" | "by_holder" }
72        & attribute holder { xsd:string }?
73        & attribute type { "path" | "url" }
74        & attribute access_method { xsd:string }?
75        & xsd:string
76    }
77   
78MDOD_Object_Format = element object_format { "perfSONAR" | "OML" | "GUI" }
79MDOD_Interpretation_Method = element interpretation_method { xsd:string }
80MDOD_Encryption = element encryption { xsd:boolean }
81MDOD_Encryption_Method = element encryption_method { xsd:string }
82
83# holder types
84MDOD_order = attribute order { xsd:int }
85MDOD_domain = attribute domain { xsd:string }
86MDOD_subdomain = attribute subdomain { xsd:string }
87MDOD_service_id = attribute service_id { xsd:string }
88MDOD_user_id = attribute user_id { xsd:string }
89
90MDOD_Contact =
91    element contact {
92        attribute type { xsd:string }?
93        & xsd:string
94    }
95
96MDOD_Collection = element collection { "yes" | "inherited" }
97MDOD_Collection_Policy = element collection_policy { xsd:string }
98MDOD_Anonymization = element anonymization { "yes" | "no" | "inherited" }
99MDOD_Anonymization_Method = element anonymization_method { xsd:string }
100MDOD_Sharing = element sharing { "yes" | "no" | "inherited" }
101MDOD_Sharing_Policy = element sharing_policy { xsd:string }
102MDOD_Disposal = element disposal { "yes" | "no" | "inherited" }
103MDOD_Disposal_Policy = element disposal_policy { xsd:string }
104
105MDOD_Transaction = #
106    element transaction {
107        MDOD_id
108        & MDOD_type
109        & MDOD_Duration
110        & attribute info { xsd:string }
111        & MDOD_Annotation*
112    }
113