<?xml version="1.0" encoding="UTF-8"?>
<!-- TMF854 Version 1.0 - Copyright TeleManagement Forum 2005, 2006 -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="tmf854.v1" targetNamespace="tmf854.v1" attributeFormDefault="unqualified" elementFormDefault="qualified">
  <!-- ============ Includes ========= -->
  <xsd:include schemaLocation="GlobalDefinitions.xsd"/>
  <xsd:include schemaLocation="VendorExtensions.xsd"/>
  <xsd:include schemaLocation="LayerRates.xsd"/>
  <!-- ============ Global Type Declarations ========= -->
  <xsd:simpleType name="Topology_T">
    <xsd:annotation>
      <xsd:documentation>
Topology_T is used to describe the subnetwork configuration. The EMS shall be capable of providing a SubNetwork Connection through any physical termination point of any managed element that belongs to the Subnetwork.

The following values are supported:

TOPO_SINGLETON, which is used for a single NE (of any type) that is managed independently of its Topological Link connectivity to other NEs. It may for example be a member of a ring that is managed by a number of EMSes. It is acceptable for an EMS to represent all NEs as being in Singleton subnetworks regardless of the actual network configuration. A singleton subnetwork does not contain internal topological links.
TOPO_CHAIN, which is used to cover the case where two or more NEs are managed by the same EMS and are connected by Topological Links in a chain.
TOPO_PSR, which is used to cover the case where two or more NEs are managed by the same EMS and are connected by Topological Links in a ring that is capable of supporting subnetwork connection protection.
TOPO_OPEN_PSR, which is used to cover the case where two or more NEs of a PS ring (but not the entire ring) are managed by the same EMS.
TOPO_SPRING, which is used to cover the case where two or more NEs are managed by the same EMS and are connected by Topological Links in a complete ring that supports Shared Line Protection.
TOPO_OPEN_SPRING, which is used to cover cases where two or more NEs of an SP ring (but not the entire ring) are managed by one EMS.
TOPO_MESH, which is used to cover an arbitrary set of two or more NEs not covered by any other type.

Composite subnetworks (i.e. containing other Subnetworks) are not supported in this release of the interface
		    </xsd:documentation>
    </xsd:annotation>
    <xsd:union>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:pattern value="MINOR_([a-z]|[A-Z]|[0-9]|(_|-))*"/>
        </xsd:restriction>
      </xsd:simpleType>
      <xsd:simpleType>
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="TOPO_SINGLETON"/>
          <xsd:enumeration value="TOPO_CHAIN"/>
          <xsd:enumeration value="TOPO_PSR"/>
          <xsd:enumeration value="TOPO_OPEN_PSR"/>
          <xsd:enumeration value="TOPO_SPRING"/>
          <xsd:enumeration value="TOPO_OPEN_SPRING"/>
          <xsd:enumeration value="TOPO_MESH"/>
        </xsd:restriction>
      </xsd:simpleType>
    </xsd:union>
  </xsd:simpleType>
  <!-- ================= -->
  <xsd:complexType name="MultiLayerSubnetwork_T">
    <xsd:annotation>
      <xsd:documentation>
This aggregate defines the Subnetwork object.
      	</xsd:documentation>
    </xsd:annotation>
    <xsd:all>
      <xsd:element name="name" type="NamingAttributes_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          This attribute represents a unique identifier for the object on the CCV. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="discoveredName" type="DiscoveredName_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          This attribute represents a unique identifier for the object when its existence is first published on the CCV. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="namingOS" type="NamingOS_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          This attribute contains the name of the OS that provided the unique MTOSI name for the object. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="userLabel" type="UserLabel_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          "User-friendly" name for the object. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="source" type="Source_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          Indicates whether the object was discovered or entered in OS inventory. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="owner" type="Owner_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          Identifier for the owner of the object. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="aliasNameList" type="AliasNameList_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          List of aliases for the network entity. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="resourceState" type="ResourceState_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
          Indicates the state of the resource. Refer to the type definition for more details.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="subnetworkType" type="Topology_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
The subnetworkType gives a coarse view of the topology of the subnetwork. It is a readonly attribute.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="supportedRates" type="LayerRateList_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
This attribute is a list (possibly empty) of potential Cross Connection Rates at which it is possible to make SNCs within the subnetwork. It is a readonly attribute.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="networkAccessDomain" type="NetworkAccessDomain_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
A free-format string used to associate the resource to a Network Access Domain.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="vendorExtensions" type="MLSVendorExtensions_T" nillable="true" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>
Allows for additional information to be modeled
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:all>
    <xsd:attribute name="extVersion" type="xsd:string" use="optional"/>
    <xsd:attribute name="extAuthor" type="xsd:string" use="optional"/>
    <xsd:attribute name="tmf854Version" type="TMF854_Version_T" use="optional"/>
  </xsd:complexType>
  <!-- ================= -->
  <xsd:complexType name="MultiLayerSubnetworkList_T">
    <xsd:annotation>
      <xsd:documentation>
      List of MultiLayerSubnetworks
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element name="mlsn" type="MultiLayerSubnetwork_T" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
    <xsd:attribute name="extVersion" type="xsd:string" use="optional"/>
    <xsd:attribute name="extAuthor" type="xsd:string" use="optional"/>
    <xsd:attribute name="tmf854Version" type="TMF854_Version_T" use="optional"/>
  </xsd:complexType>
</xsd:schema>
