<?xml version="1.0" encoding="UTF-8"?>
<!-- NMWG Request subject -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.ggf.org/namespaces/2004/10/gridNetworkMonitoring" xmlns:tns="http://www.ggf.org/namespaces/2004/10/gridNetworkMonitoring">
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:element ref="tns:host"/>
    </xs:sequence>
    <xs:attribute name="version" use="required" type="xs:token">
      <xs:annotation>
        <xs:documentation>IP version</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
  <xs:element name="host" type="xs:token">
    <xs:annotation>
      <xs:documentation>Host address</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:group name="Node">
    <xs:annotation>
      <xs:documentation>A node with an address. This may also contain a name</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element ref="tns:address"/>
      <xs:group minOccurs="0" ref="tns:Name"/>
    </xs:sequence>
  </xs:group>
  <xs:element name="address" type="tns:Address"/>
  <xs:group name="Name">
    <xs:annotation>
      <xs:documentation>Just a named node. This is just any identifier of an end-host, unique or not.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="name" type="xs:string"/>
    </xs:sequence>
  </xs:group>
  <xs:complexType name="Path">
    <xs:annotation>
      <xs:documentation>A path between two nodes</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element ref="tns:source"/>
      <xs:element ref="tns:destination"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="source">
    <xs:complexType>
      <xs:choice>
        <xs:group ref="tns:Node"/>
        <xs:group ref="tns:Name"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="destination">
    <xs:complexType>
      <xs:choice>
        <xs:group ref="tns:Node"/>
        <xs:group ref="tns:Name"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>

