# ############################################################## # # File: nmtopo.rnc - Schema to describe topological # features to be used in subject # elements. # Version: $Id: nmtopo.rnc,v 1.12 2006/02/13 06:18:29 zurawski Exp $ # Purpose: This file lays out some major network topologies # used in measurement. # Reference: http://books.xmlschemata.org/relaxng/page2.html # # ############################################################## # ############################################################## # Namespace definitions # ############################################################## namespace nmwgtopo = "http://ggf.org/ns/nmwg/topology/2.0/" # ############################################################## # Covers the basic point to point measurement situation. The two # points are a source and destination; may contain information # such as hostname or ip address, and port number when applicable. # # Example: # # # # # port="OPTIONAL_PORT"/> # # # port="OPTIONAL_PORT"/> # # # # ############################################################## EndpointPair = element nmwgtopo:endPointPair { EndpointPairContent } EndpointPairContent = element nmwgtopo:src { EndpointContent } & element nmwgtopo:dst { EndpointContent } # ############################################################## # Similar to above, from one point only. # # Example: # # # port="OPTIONAL_PORT"/> # # ############################################################## Endpoint = element nmwgtopo:endPoint { EndpointContent } EndpointContent = ( attribute value { xsd:string } | text ) & attribute type { xsd:string } & attribute port { xsd:int }? # ############################################################## # When looking at network utilization numbers (from a router or # related software) there is a different set of applicable # information # # Example: # # # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # TEXT # # # # ############################################################## Interface = element nmwgtopo:interface { InterfaceContent } InterfaceContent = element nmwgtopo:ipAddress { Address }? & element nmwgtopo:hostName { xsd:string }? & element nmwgtopo:ifName { xsd:string }? & element nmwgtopo:ifDescription { xsd:string }? & element nmwgtopo:ifAddress { Address }? & element nmwgtopo:ifHostName { xsd:string }? & element nmwgtopo:ifIndex { xsd:string }? & element nmwgtopo:type { xsd:string }? & element nmwgtopo:direction { xsd:string }? & element nmwgtopo:authRealm { xsd:string }? & element nmwgtopo:classOfService { xsd:string }? & element nmwgtopo:capacity { xsd:string }? Address = ( attribute value { xsd:string } | text ) & attribute type { xsd:string }