ts_103120_TrafficPolicy.xsd 2.51 KB
Newer Older
canterburym's avatar
canterburym committed
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:etsi="http://uri.etsi.org/03280/common/2017/07" xmlns:common="http://uri.etsi.org/03120/common/2016/02/Common" xmlns:core="http://uri.etsi.org/03120/common/2019/10/Core" xmlns="http://uri.etsi.org/03120/common/2022/07/TrafficPolicy" targetNamespace="http://uri.etsi.org/03120/common/2022/07/TrafficPolicy" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:import namespace="http://uri.etsi.org/03120/common/2016/02/Common"/>
    <xs:import namespace="http://uri.etsi.org/03120/common/2019/10/Core"/>
    <xs:import namespace="http://uri.etsi.org/03280/common/2017/07"/>
    <xs:complexType name="TrafficPolicyObject">
        <xs:complexContent>
            <xs:extension base="core:HI1Object">
                <xs:sequence>
                    <xs:element name="TrafficPolicy" type="TrafficPolicy" minOccurs="0"/>
canterburym's avatar
canterburym committed
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TrafficPolicy">
canterburym's avatar
canterburym committed
        <xs:sequence>
            <xs:element name="TrafficPolicyRule" type="TrafficPolicyRule" maxOccurs="unbounded"/>
canterburym's avatar
canterburym committed
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TrafficPolicyRule">
canterburym's avatar
canterburym committed
        <xs:sequence>
            <xs:element name="Order" type="xs:positiveInteger"/>
            <xs:element name="Action" type="common:DictionaryEntry"/>
            <xs:element name="TrafficPolicyCriteria" type="TrafficPolicyCriteria" maxOccurs="unbounded"/>    
canterburym's avatar
canterburym committed
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TrafficPolicyCriteria">
        <xs:choice>
            <xs:element name="IPPolicyCriteria" type="IPPolicyCriteria"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="IPPolicyCriteria">
        <xs:sequence>
            <!--<xs:element name="IPProtocol" type="etsi:IPProtocol" minOccurs="0"/> This is commented out until IPProtocol is added to 103 280 to enable validation-->
canterburym's avatar
canterburym committed
            <xs:element name="IPRange" type="etsi:IPCIDR" minOccurs="0"/>
            <xs:element name="PortRange" type="etsi:PortRange" minOccurs="0"/>
            <xs:element name="SourceOrDestination" type="SourceOrDestination" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="SourceOrDestination">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Source"/>
            <xs:enumeration value="Destination"/>
        </xs:restriction>
    </xs:simpleType>