420 lines
14 KiB
XML
Executable File
420 lines
14 KiB
XML
Executable File
<?xml version="1.0" encoding="utf-8"?>
|
|
<xs:schema xmlns:tns="urn:ietf:params:xml:ns:pidf:caps"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
targetNamespace="urn:ietf:params:xml:ns:pidf:caps"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified">
|
|
|
|
<!-- This import brings in the XML language
|
|
attribute xml:lang-->
|
|
|
|
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
|
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
|
|
|
<!-- ROOT -->
|
|
<xs:element name="servcaps" type="tns:servcapstype"/>
|
|
<xs:complexType name="servcapstype">
|
|
<xs:sequence>
|
|
<xs:element name="actor" type="tns:actortype"
|
|
minOccurs="0"/>
|
|
<xs:element name="application" type="tns:applicationtype"
|
|
minOccurs="0"/>
|
|
<xs:element name="audio" type="tns:audiotype" minOccurs="0"/>
|
|
<xs:element name="automata" type="tns:automatatype"
|
|
minOccurs="0"/>
|
|
<xs:element name="class" type="tns:classtype"
|
|
minOccurs="0"/>
|
|
<xs:element name="control" type="tns:controltype"
|
|
minOccurs="0"/>
|
|
<xs:element name="data" type="tns:datatype"
|
|
minOccurs="0"/>
|
|
<xs:element name="description" type="tns:descriptiontype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="duplex" type="tns:duplextype"
|
|
minOccurs="0"/>
|
|
<xs:element name="event-packages" type="tns:event-packagestype"
|
|
minOccurs="0"/>
|
|
<xs:element name="extensions" type="tns:extensionstype"
|
|
|
|
minOccurs="0"/>
|
|
<xs:element name="isfocus" type="tns:isfocustype"
|
|
minOccurs="0"/>
|
|
<xs:element name="message" type="tns:messagetype"
|
|
minOccurs="0"/>
|
|
<xs:element name="methods" type="tns:methodstype"
|
|
minOccurs="0"/>
|
|
<xs:element name="languages" type="tns:languagestype"
|
|
minOccurs="0"/>
|
|
<xs:element name="priority" type="tns:prioritytype"
|
|
minOccurs="0"/>
|
|
<xs:element name="schemes" type="tns:schemestype"
|
|
minOccurs="0"/>
|
|
<xs:element name="text" type="tns:texttype"
|
|
minOccurs="0"/>
|
|
<xs:element name="type" type="tns:typetype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="video" type="tns:videotype"
|
|
minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="devcaps" type="tns:devcaps"/>
|
|
<xs:complexType name="devcaps">
|
|
<xs:sequence>
|
|
<xs:element name="description" type="tns:descriptiontype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="mobility" type="tns:mobilitytype"
|
|
minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
<xs:anyAttribute namespace="##any" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<!-- AUDIO -->
|
|
<xs:simpleType name="audiotype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- APPLICATION -->
|
|
<xs:simpleType name="applicationtype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
|
|
|
|
<!-- DATA -->
|
|
<xs:simpleType name="datatype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- CONTROL -->
|
|
<xs:simpleType name="controltype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- VIDEO -->
|
|
<xs:simpleType name="videotype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- TEXT -->
|
|
<xs:simpleType name="texttype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- MESSAGE -->
|
|
<xs:simpleType name="messagetype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- TYPE -->
|
|
<xs:simpleType name="typetype">
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- AUTOMATA -->
|
|
<xs:simpleType name="automatatype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- CLASS -->
|
|
<xs:complexType name="classtype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:classtypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:classtypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="classtypes">
|
|
<xs:sequence>
|
|
<xs:element name="business" type="xs:string"
|
|
minOccurs="0"/>
|
|
|
|
|
|
<xs:element name="personal" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- DUPLEX -->
|
|
<xs:complexType name="duplextype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:duplextypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:duplextypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="duplextypes">
|
|
<xs:sequence>
|
|
<xs:element name="full" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="half" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="receive-only" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="send-only" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- DESCRIPTION -->
|
|
<xs:complexType name="descriptiontype">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute ref="xml:lang"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<!-- EVENT-PACKAGES -->
|
|
<xs:complexType name="event-packagestype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:eventtypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:eventtypes"
|
|
minOccurs="0"/>
|
|
|
|
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="eventtypes">
|
|
<xs:sequence>
|
|
<xs:element name="conference" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="dialog" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="kpml" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="message-summary" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="poc-settings" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="presence" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="reg" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="refer" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="Siemens-RTP-Stats"
|
|
type="xs:string" minOccurs="0"/>
|
|
<xs:element name="spirits-INDPs"
|
|
type="xs:string" minOccurs="0"/>
|
|
<xs:element name="spirits-user-prof"
|
|
type="xs:string" minOccurs="0"/>
|
|
<xs:element name="winfo" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- PRIORITY -->
|
|
<xs:complexType name="prioritytype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:prioritytypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:prioritytypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="prioritytypes">
|
|
<xs:sequence>
|
|
<xs:element name="equals" type="tns:equalstype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="higherhan" type="tns:higherthantype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
|
|
|
|
<xs:element name="lowerthan" type="tns:lowerthantype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:element name="range" type="tns:rangetype"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="lowerthantype">
|
|
<xs:attribute name="maxvalue" type="xs:integer"
|
|
use="required"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="higherthantype">
|
|
<xs:attribute name="minvalue" type="xs:integer"
|
|
use="required"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="equalstype">
|
|
<xs:attribute name="value" type="xs:integer"
|
|
use="required"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="rangetype">
|
|
<xs:attribute name="minvalue" type="xs:integer"
|
|
use="required"/>
|
|
<xs:attribute name="maxvalue" type="xs:integer"
|
|
use="required"/>
|
|
</xs:complexType>
|
|
|
|
<!-- METHODS -->
|
|
<xs:complexType name="methodstype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:methodtypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:methodtypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="methodtypes">
|
|
<xs:sequence>
|
|
<xs:element name="ACK" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="BYE" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="CANCEL" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="INFO" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="INVITE" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="MESSAGE" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="NOTIFY" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="OPTIONS" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="PRACK" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="PUBLISH" type="xs:string" minOccurs="0"/>
|
|
|
|
|
|
<xs:element name="REFER" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="REGISTER" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="SUBSCRIBE" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="UPDATE" type="xs:string" minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- EXTENSIONS -->
|
|
<xs:complexType name="extensionstype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:extensiontypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:extensiontypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="extensiontypes">
|
|
<xs:sequence>
|
|
<xs:element name="rel100" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="early-session" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="eventlist" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="from-change" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="gruu" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="hist-info" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="join" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="norefersub" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="path" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="precondition" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="pref" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="privacy" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="replaces" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="resource-priority" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="sdp-anat" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="sec-agree" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="tdialog" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="timer" type="xs:string" minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax"
|
|
minOccurs="0" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- SCHEMES -->
|
|
<xs:complexType name="schemestype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" minOccurs="0">
|
|
<xs:complexType>
|
|
|
|
|
|
<xs:sequence>
|
|
<xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="notsupported" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="s" type="xs:string" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- ACTOR -->
|
|
<xs:complexType name="actortype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:actortypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:actortypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="actortypes">
|
|
<xs:sequence>
|
|
<xs:element name="attendant" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="information" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="msg-taker" type="xs:string" minOccurs="0"/>
|
|
<xs:element name="principal" type="xs:string" minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- ISFOCUS -->
|
|
<xs:simpleType name="isfocustype">
|
|
<xs:restriction base="xs:boolean"/>
|
|
</xs:simpleType>
|
|
|
|
<!-- LANGUAGES -->
|
|
<xs:complexType name="languagestype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="notsupported" minOccurs="0">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="l" type="xs:string" maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
|
|
<!-- MOBILITY -->
|
|
<xs:complexType name="mobilitytype">
|
|
<xs:sequence>
|
|
<xs:element name="supported" type="tns:mobilitytypes"
|
|
minOccurs="0"/>
|
|
<xs:element name="notsupported" type="tns:mobilitytypes"
|
|
minOccurs="0"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:complexType name="mobilitytypes">
|
|
<xs:sequence>
|
|
<xs:element name="fixed" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:element name="mobile" type="xs:string"
|
|
minOccurs="0"/>
|
|
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:schema>
|