VINI RSpec definition in Relax NG Compact syntax
authorAndy Bavier <acb@cs.princeton.edu>
Tue, 26 Jan 2010 19:44:27 +0000 (19:44 +0000)
committerAndy Bavier <acb@cs.princeton.edu>
Tue, 26 Jan 2010 19:44:27 +0000 (19:44 +0000)
sfa/rspecs/aggregates/vini/vini.rnc [new file with mode: 0644]

diff --git a/sfa/rspecs/aggregates/vini/vini.rnc b/sfa/rspecs/aggregates/vini/vini.rnc
new file mode 100644 (file)
index 0000000..bcd986d
--- /dev/null
@@ -0,0 +1,41 @@
+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 }