Rev 633 |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| SVN
| Bug Tracker
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema targetNamespace="http://uri.etsi.org/ngn/params/xml/comm-div-info"
xmlns:tns="http://uri.etsi.org/ngn/params/xml/comm-div-info"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/ngn/params/xml/comm-div-info"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- This import brings in the XML language definition -->
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="xml.xsd" />
<!-- Communication Diversion Information. This is the top-level XML element -->
<xs:element name="comm-div-info" type="comm-div-info-type" />
<!-- Communication Diversion Information Type. This is the top-level
XML element -->
<xs:complexType name="comm-div-info-type">
<xs:sequence>
<xs:element name="comm-div-subs-info" type="comm-div-subs-info-type"
minOccurs="0" />
<xs:element name="comm-div-ntfy-info" type="comm-div-ntfy-info-type"
minOccurs="0" />
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="entity" type="xs:anyURI" use="required" />
</xs:complexType>
<!--- Communication Diversion Subscription Type. Used at Subscription
time to select Communication Diversions for notification, when to notify
them and what to notify. -->
<xs:complexType name="comm-div-subs-info-type">
<xs:sequence>
<xs:element name="comm-div-selection-criteria"
type="comm-div-selection-criteria-type" minOccurs="0" />
<xs:element name="comm-div-ntfy-trigger-criteria"
type="comm-div-ntfy-trigger-criteria-type" minOccurs="0" />
<xs:element name="comm-div-info-selection-criteria"
type="comm-div-info-selection-criteria-type" minOccurs="0" />
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!--- Communication Diversion Notification Information Type Used while
notifying the User about the Communication Diversion -->
<xs:complexType name="comm-div-ntfy-info-type">
<xs:sequence>
<xs:element name="originating-user-info" type="user-info-type"
minOccurs="0" />
<xs:element name="diverting-user-info" type="xs:anyURI"
minOccurs="0" />
<xs:element name="diverted-to-user-info" type="xs:anyURI"
minOccurs="0" />
<xs:element name="diversion-time-info" type="xs:dateTime"
minOccurs="0" />
<xs:element name="diversion-reason-info" type="diversion-reason-info-type"
minOccurs="0" />
<xs:element name="diversion-rule-info" type="diversion-rule-info-type"
minOccurs="0" />
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="previous-cdivn-state" type="cdivn-states-types"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- COMMUNICATION DIVERSION SELECTION CRITERIA -->
<xs:complexType name="comm-div-selection-criteria-type">
<xs:sequence>
<xs:element name="originating-user-selection-criteria"
type="user-selection-criteria-type" minOccurs="0" />
<xs:element name="diverting-user-selection-criteria"
type="xs:anyURI" minOccurs="0" />
<xs:element name="diverted-to-user-selection-criteria"
type="xs:anyURI" minOccurs="0" />
<xs:element name="diversion-time-selection-criteria"
type="time-range-selection-criteria-type" minOccurs="0" />
<xs:element name="diversion-reason-selection-criteria"
type="diversion-reason-selection-criteria-type"
minOccurs="0" />
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- COMMUNICATION DIVERSION NOTIFICATION TRIGGER CRITERIA -->
<xs:complexType name="comm-div-ntfy-trigger-criteria-type">
<xs:sequence>
<xs:element name="notification-time-selection-criteria"
type="time-range-selection-criteria-type" minOccurs="0" />
<xs:element name="presence-status-selection-criteria"
type="presence-status-selection-criteria-type"
minOccurs="0" />
<xs:element name="notification-buffer-interval"
minOccurs="0" default="86400">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxInclusive value="86400" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- COMMUNICATION DIVERSION INFORMATION SELECTION CRITERIA -->
<xs:complexType name="comm-div-info-selection-criteria-type">
<xs:sequence>
<xs:element name="disable-originating-user-info"
type="xs:boolean" default="false" minOccurs="0" />
<xs:element name="disable-diverting-user-info"
type="xs:boolean" default="false" minOccurs="0" />
<xs:element name="disable-diverted-to-user-info"
type="xs:boolean" default="false" minOccurs="0" />
<xs:element name="disable-diversion-time-info"
type="xs:boolean" default="false" minOccurs="0" />
<xs:element name="disable-diversion-reason-info"
type="xs:boolean" default="false" minOccurs="0" />
<xs:element name="disable-diversion-rule-info"
type="xs:boolean" default="false" minOccurs="0" />
<xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- User Info Type -->
<xs:complexType name="user-info-type">
<xs:sequence>
<xs:element name="user-name" type="xs:string"
minOccurs="0" maxOccurs="1" />
<xs:element name="user-URI" type="xs:anyURI" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- CDIVN FSM STATES -->
<xs:simpleType name="cdivn-states-types">
<xs:list itemType="cdivn-states-type" />
</xs:simpleType>
<xs:simpleType name="cdivn-states-type">
<xs:restriction base="xs:string">
<xs:enumeration value="IDLE" />
<xs:enumeration value="DIVERSION_NOTIFIED" />
<xs:enumeration value="DIVERSION_NOT_NOTIFIED" />
</xs:restriction>
</xs:simpleType>
<!-- DIVERSION REASON INFO -->
<xs:simpleType name="diversion-reason-info-types">
<xs:list itemType="diversion-reason-info-type" />
</xs:simpleType>
<xs:simpleType name="diversion-reason-info-type">
<xs:restriction base="xs:integer">
<xs:enumeration value="404" />
<xs:enumeration value="486" />
<xs:enumeration value="408" />
<xs:enumeration value="302" />
<xs:enumeration value="487" />
<xs:enumeration value="480" />
<xs:enumeration value="503" />
</xs:restriction>
</xs:simpleType>
<!-- DIVERSION RULE INFO -->
<xs:complexType name="diversion-rule-info-type">
<xs:sequence>
<xs:element name="diversion-rule" type="xs:string" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- ORIGINATING USER SELECTION CRITERIA -->
<xs:complexType name="user-selection-criteria-type">
<xs:sequence>
<xs:element name="user-info" type="user-info-type"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- DIVERSION REASON SELECTION CRITERIA -->
<xs:complexType name="diversion-reason-selection-criteria-type">
<xs:sequence>
<xs:element name="diversion-reason-info" type="diversion-reason-info-types" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- TIME RANGE SELECTION CRITERIA -->
<xs:complexType name="time-range-selection-criteria-type">
<xs:sequence>
<xs:element name="time-range" type="time-range-type"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- TIME RANGE INFO -->
<xs:complexType name="time-range-type">
<xs:sequence>
<xs:element name="start-time" type="xs:dateTime" />
<xs:element name="end-time" type="xs:dateTime" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- PRESENCE STATUS SELECTION CRITERIA -->
<xs:complexType name="presence-status-selection-criteria-type">
<xs:sequence>
<xs:element name="presence-status-info" type="presence-status-info-type"
minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
<!-- PRESENCE STATUS INFo -->
<xs:complexType name="presence-status-info-type">
<xs:sequence>
<xs:element name="presence-status" type="xs:string" />
</xs:sequence>
<xs:anyAttribute namespace="##other"
processContents="lax" />
</xs:complexType>
</xs:schema>