perfsonar-dev - nmwg: r277 - trunk/nmwg/schema/rnc/topo
Subject: perfsonar development work
List archive
- From:
- To: ,
- Subject: nmwg: r277 - trunk/nmwg/schema/rnc/topo
- Date: Fri, 28 Sep 2007 16:47:38 -0400
Author: aaron
Date: 2007-09-28 16:47:38 -0400 (Fri, 28 Sep 2007)
New Revision: 277
Modified:
trunk/nmwg/schema/rnc/topo/nmtopo_base.rnc
Log:
Update the base schema based on the various discussions.
Modified: trunk/nmwg/schema/rnc/topo/nmtopo_base.rnc
===================================================================
--- trunk/nmwg/schema/rnc/topo/nmtopo_base.rnc 2007-09-26 12:00:27 UTC (rev
276)
+++ trunk/nmwg/schema/rnc/topo/nmtopo_base.rnc 2007-09-28 20:47:38 UTC (rev
277)
@@ -18,28 +18,78 @@
start |= Topology
Topology = element nmtb:topology {
- Node* &
- Link* &
- Port* &
- Network* &
- Path*
+ Domain*
+ & Node*
+ & Link*
+ & Port*
+ & Network*
+ & Path*
}
+Domain = element nmtb:domain {
+ Identifier?
+ & IdReference?
+ & element nmtb:comments { xsd:string }?
+ & Node*
+ & Link*
+ & Network*
+ & Path*
+ }
+
## ########################
+## generic node
+## ########################
+Node = element nmtb:node { BaseNodeContent }
+BaseNodeContent =
+ Identifier?
+ & IdReference?
+ & BaseName?
+ & BaseRelation*
+ & element nmtb:role { xsd:string }?
+ & element nmtb:type { xsd:string }?
+ & element nmtb:description { xsd:string }?
+ & element nmtb:hostName { xsd:string }?
+ & element nmtb:location { LocationContent }?
+ & element nmtb:contact { ContactInformationContent }?
+ & element nmtb:comments { xsd:string }?
+ & Port*
+
+ContactInformationContent =
+ element nmtb:email { xsd:string }?
+ & element nmtb:phoneNumber { xsd:string }?
+ & element nmtb:administrator { xsd:string }?
+ & element nmtb:institution { xsd:string }?
+
+LocationContent =
+ element nmtb:continent { xsd:string }?
+ & element nmtb:country { xsd:string }?
+ & element nmtb:zipcode { xsd:integer }?
+ & element nmtb:state { xsd:string }?
+ & element nmtb:institution { xsd:string }?
+ & element nmtb:city { xsd:string }?
+ & element nmtb:streetAddress { xsd:string }?
+ & element nmtb:floor { xsd:string }?
+ & element nmtb:room { xsd:string }?
+ & element nmtb:cage { xsd:string }?
+ & element nmtb:rack { xsd:string }?
+ & element nmtb:shelf { xsd:string }?
+ & element nmtb:latitude { xsd:float }?
+ & element nmtb:longitude { xsd:float }?
+
+## ########################
## generic port
## ########################
Port = element nmtb:port { BasePortContent }
BasePortContent =
Identifier?
- & PortIdRef*
- & NodeIdRef?
+ & IdReference?
& BaseName?
+ & BaseRelation*
+ & element nmtb:role { xsd:string }?
& element nmtb:type { xsd:string }?
- & element nmtb:hostName { xsd:string }?
- & element nmtb:portName { xsd:string }?
& element nmtb:description { xsd:string }?
- & element nmtb:index { xsd:string }?
& element nmtb:capacity { xsd:string }?
+ & element nmtb:comments { xsd:string }?
& Link*
## ########################
@@ -48,15 +98,17 @@
Link = element nmtb:link { BaseLinkContent }
BaseLinkContent =
Identifier?
- & LinkIdRef?
- & PortIdRef*
+ & IdReference?
& BaseName?
- & element nmtb:index { xsd:string }?
+ & BaseRelation*
+ & element nmtb:role { xsd:string }?
& element nmtb:type { xsd:string }?
+ & element nmtb:description { xsd:string }?
& element nmtb:globalName {
attribute type { xsd:string }?
& xsd:string
}?
+ & element nmtb:comments { xsd:string }?
## ########################
## generic network
@@ -64,74 +116,55 @@
Network = element nmtb:network { BaseNetworkContent }
BaseNetworkContent =
Identifier?
- & NetworkIdRef?
+ & IdReference?
& NodeIdRef*
& PortIdRef*
& LinkIdRef*
& BaseName?
+ & BaseRelation*
& element nmtb:type { xsd:string }?
-
-## ########################
-## generic node
-## ########################
-NodeContent |=
- Identifier?
- & NodeIdRef?
- & BaseRole?
- & BaseName?
- & element nmtb:type { xsd:string }?
- & element nmtb:hostName { xsd:string }?
& element nmtb:description { xsd:string }?
- & element nmtb:cpu { xsd:string }?
- & element nmtb:operSys { xsd:string }?
- & element nmtb:location { LocationContent }?
- & element nmtb:institution { xsd:string }?
- & element nmtb:country { xsd:string }?
- & element nmtb:city { xsd:string }?
- & element nmtb:latitude { xsd:float }?
- & element nmtb:longitude { xsd:float }?
- & Port*
-
-LocationContent =
- element nmtb:institution { xsd:string }?
- & element nmtb:country { xsd:string }?
- & element nmtb:zipcode { xsd:integer }?
- & element nmtb:state { xsd:string }?
- & element nmtb:city { xsd:string }?
- & element nmtb:streetAddress { xsd:string }?
- & element nmtb:floor { xsd:string }?
- & element nmtb:room { xsd:string }?
- & element nmtb:cage { xsd:string }?
- & element nmtb:rack { xsd:string }?
- & element nmtb:shelf { xsd:string }?
- & element nmtb:latitude { xsd:float }?
- & element nmtb:longitude { xsd:float }?
+ & element nmtb:comments { xsd:string }?
## ########################
## generic path
## ########################
-Path = element nmtb:path { BasePathContent }
-BasePathContent =
- Identifier
- & PathIdRef?
- & element nmtb:hop {
- Link | Node
- }*
+Path =
+ element nmtb:path { BasePathContent }
+# a path consists of a list of hops
+BasePathContent =
+ Identifier
+ & BaseRelation*
+ & element nmtb:comments { xsd:string }?
+ & element nmtb:hop { BaseHopContent }*
+
+BaseHopContent =
+ Identifier,
+ (
+ DomainIdRef
+ | NodeIdRef
+ | LinkIdRef
+ | PathIdRef
+ | NetworkIdRef
+ )
+
## ########################
## misc
## ########################
-BaseAddress =
- (attribute value { xsd:string }
- | text)
- & attribute type { xsd:string }
-
-BaseRole =
- attribute role { xsd:string }
- | element nmtb:role { xsd:string }
-
BaseName =
element nmtb:name {
attribute type { xsd:string }?
& xsd:string
}
+
+BaseRelation =
+ element nmtb:relation {
+ attribute type { xsd:string }
+ & DomainIdRef*
+ & NodeIdRef*
+ & PortIdRef*
+ & LinkIdRef*
+ & PathIdRef*
+ & NetworkIdRef*
+ }
- nmwg: r277 - trunk/nmwg/schema/rnc/topo, svnlog, 09/28/2007
Archive powered by MHonArc 2.6.16.