--- /dev/null
+start = RSpec
+RSpec = element RSpec {
+ attribute type { xsd:NMTOKEN },
+ ( network | request )
+}
+network = element network {
+ attribute name { xsd:NMTOKEN },
+ attribute slice { xsd:NMTOKEN }?,
+ ( site | link )+
+}
+site = element site {
+ attribute id { xsd:ID },
+ element name { text },
+ node+
+}
+node = element node {
+ attribute id { xsd:ID },
+ hostname,
+ kbps,
+ sliver*
+}
+link = element link {
+ attribute endpoints { xsd:IDREFS },
+ element description { text }?,
+ kbps?,
+ vlink*
+}
+request = element request {
+ ( sliver | vlink )+
+}
+sliver = element sliver {
+ attribute nodeid { xsd:ID }?,
+ empty
+}
+vlink = element vlink {
+ attribute endpoints { xsd:IDREFS }?,
+ element description { text }?,
+ kbps?
+}
+hostname = element hostname { text }
+kbps = element kbps { text }