Rev

Rev 469 | Blame | Compare with Previous | Last modification | View Log | Download | SVN | Bug Tracker


<!-- TS 27.173 / 183 023 -->
<xs:schema targetNamespace="http://uri.etsi.org/ngn/params/xml/simservs/xcap"
                 xmlns:ss="http://uri.etsi.org/ngn/params/xml/simservs/xcap"
                 xmlns:xs="http://www.w3.org/2001/XMLSchema"
                 elementFormDefault="qualified"
                 attributeFormDefault="unqualified">

<!-- The element "simservs" maps to the Common Parts of an NGN PSTN/ISDN        Simulation services document -->

        <xs:element name="simservs">
       <xs:annotation>
           <xs:documentation>XML Schema for data manipulation of ETSI
                                     NGN PSTN/ISDN Simulation Services
           </xs:documentation>
       </xs:annotation>
       <xs:complexType>
           <xs:sequence>
              <xs:group ref="absServiceGroup" minOccurs="0" maxOccurs="unbounded" />
       <xs:element name="extensions" minOccurs="0">
       <xs:complexType>
       <xs:sequence>
              <xs:any namespace="##other" processContents="lax"
                        minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
           </xs:sequence>
           <xs:anyAttribute namespace="##any" processContents="lax"/>
       </xs:complexType>
    </xs:element>

        <xs:element name="absService" abstract="true" type="ss:simservType"/>
   
    <xs:complexType name="simservType">
       <xs:attribute name="active" type="xs:boolean"
                           use="optional" default="true" />
       <xs:anyAttribute namespace="##any" processContents="lax"/>
        </xs:complexType>

        <!-- service specific IETF common policy condition elements-->
        <xs:element name="anonymous" type="ss:empty-element-type"/>
        <xs:element name="presence-status" type="ss:presence-status-activity-type"/>
        <xs:element name="media" type="ss:media-type1"/>
        <xs:element name="communication-diverted" type="ss:empty-element-type"/>
        <xs:element name="rule-deactivated" type="ss:empty-element-type"/>
        <xs:element name="not-registered" type="ss:empty-element-type"/>
        <xs:element name="busy" type="ss:empty-element-type"/>
        <xs:element name="no-answer" type="ss:empty-element-type"/>
  <xs:element name="not-reachable" type="ss:empty-element-type"/>
        <xs:element name="roaming" type="ss:empty-element-type"/>

        <!-- service specific type declarations -->
        <xs:simpleType name="media-type1">
    <xs:restriction base="xs:string"/>
        </xs:simpleType>
        <xs:simpleType name="presence-status-activity-type">
    <xs:restriction base="xs:string"/>
        </xs:simpleType>
        <xs:complexType name="empty-element-type"/>
       
        <!-- ETSI substitutionGroup workaround, because TTCN-3 does not support mapping of substitutionGroup -->
        <xs:group name="absServiceGroup">
                <xs:choice>
                 <!-- default -->
                 <xs:element ref="absService"/>
                 <!-- TIP-TRI -->
                 <xs:element ref="terminating-identity-presentation-restriction"/>
                 <xs:element ref="terminating-identity-presentation"/>
                  <!-- OIP-OIR -->
                 <xs:element ref="originating--identity--presentation--restriction"/>
                 <xs:element ref="originating--identity--presentation"/>
                  <!-- CDIV -->
                 <xs:element ref="communication-diversion"/>
                  <!-- ACR-CB -->
                 <xs:element ref="incoming-communication-barring"/>
                 <xs:element ref="outgoing-communication-barring"/>
                  <!-- CUG -->
                 <!-- <xs:element ref="cug"/> -->
                </xs:choice>
        </xs:group>

</xs:schema>