# ##############################################################
#
# 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 }