# 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 }?
}
)?
}+
}
}