<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="urn:3gpp:ns:mcvideoInfo:1.0"
  xmlns:mcvideoinfo="urn:3gpp:ns:mcvideoInfo:1.0"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">

  <xs:import namespace="http://www.w3.org/2001/04/xmlenc#"/>

  <!-- root XML element -->
  <xs:element name="mcvideoinfo" type="mcvideoinfo:mcvideoinfo-Type" id="info"/>

  <xs:complexType name="mcvideoinfo-Type">
    <xs:sequence>
      <xs:element name="mcvideo-Params" type="mcvideoinfo:mcvideo-ParamsType"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="anyExt" type="mcvideoinfo:anyExtType" minOccurs="0"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##any" processContents="lax"/>
  </xs:complexType> 



  <xs:complexType name="mcvideo-ParamsType">
    <xs:sequence>
      <xs:element name="mcvideo-access-token" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="session-type" type="xs:string" minOccurs="0"/>
      <xs:element name="mcvideo-request-uri" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="mcvideo-calling-user-id" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="mcvideo-called-party-id" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="mcvideo-calling-group-id" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="required" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="emergency-ind" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="alert-ind" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="imminentperil-ind" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="broadcast-ind" type="xs:boolean" minOccurs="0"/>
      <xs:element name="mc-org" type="xs:string" minOccurs="0"/>
      <xs:element name="associated-group-id" type="xs:string" minOccurs="0"/>
      <xs:element name="originated-by" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="mcvideo-client-id" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="alert-ind-rcvd" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="multiple-devices-ind" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:element name="video-pull-url" type="mcvideoinfo:contentType" minOccurs="0"/>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="anyExt" type="mcvideoinfo:anyExtType" minOccurs="0"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##any" processContents="lax"/>
  </xs:complexType>

  <xs:simpleType name="protectionType">
    <xs:restriction base="xs:string">
       <xs:enumeration value="Normal"/>
       <xs:enumeration value="Encrypted"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="contentType">
    <xs:choice>
      <xs:element name="mcvideoURI" type="xs:anyURI"/>
      <xs:element name="mcvideoString" type="xs:string"/>
      <xs:element name="mcvideoBoolean" type="xs:boolean"/>
      <xs:any namespace="##other" processContents="lax"/>
      <xs:element name="anyExt" type="mcvideoinfo:anyExtType" minOccurs="0"/>
    </xs:choice>
    <xs:attribute name="type" type="mcvideoinfo:protectionType"/>
    <xs:anyAttribute namespace="##any" processContents="lax"/>
  </xs:complexType>

  <xs:complexType name="anyExtType">
    <xs:sequence>
      <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

</xs:schema>