summaryrefslogtreecommitdiff
path: root/doc/service-description.rnc
blob: 978e831fcfbc4c3d39bac3618e56f520d8c4b089 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Relax NG schema for the UPnP Service Control Protocol Definition files.  See
# section 2.3 of UPnP Device Architecture 1.0 for the canonical reference.

default namespace = "urn:schemas-upnp-org:service-1-0"

start = scpd

scpd = element scpd {
   element specVersion {
      element major { text } &
      element minor { text }
   } &
   
   element actionList {
      element action {
         element name { text } &
         element argumentList {
            element argument {
               element name { text } &
               element direction { "in"|"out" } &
               element retval { text }? &
               element relatedStateVariable { text }
            }+
         }?
      }+
   }? &
   
   element serviceStateTable {
      element stateVariable {
         attribute sendEvents { "yes"|"no" }? &
         element name { text } &
         element dataType {
            "ui1"|"ui2"|"ui4"|"i1"|"i2"|"i4"|"int"|
            "r4"|"r8"|"number"|"fixed.14.4"|"float"|
            "char"|"string"|
            "date"|"dateTime"|"dateTime.tz"|"time"|"time.tz"|
            "boolean"|"bin.base64"|"bin.hex"|"uri"|"uuid"
         } &
         element defaultValue { text }? &
         (
            element allowedValueList {
               element allowedValue { text }+
            }
          |
            element allowedValueRange {
               element minimum { text } &
               element maximum { text } &
               element step { text }?
            }
         )?
      }+
   }
}