<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
    xmlns:pdi="http://www.atsc.org/XMLSchemas/iss-cdm-1"
    targetNamespace="http://www.atsc.org/XMLSchemas/iss-cdm-1" 
    elementFormDefault="qualified"
    version="1.0">
    
    <annotation>
        <documentation source="http://www.atsc.org/cms/standards/cs_documents/A105-CS.zip"> 
            ATSC Interactive Services Standard (ISS) CDM (Consumption Data Message) schema 
            Version: 1.0 
            Date: 12/12/2013 
            Namespace: http://www.atsc.org/XMLSchemas/iss-cdm-1 
            Information about the use of this schema can be found in ATSC standard A/105-2013. 
            This schema defines a "CDM" element that is used to deliver consumption data messages
            (service usage reports) to a remote serve. These reports include both linear TV usage and
            NRT data service usage. 
        </documentation>
    </annotation>
    
  <complexType name="CDM">
    <sequence>
      <element name="AVChannel" minOccurs="0" maxOccurs="unbounded">
        <complexType>
          <sequence>
            <element name="ViewInterval" minOccurs="1" maxOccurs="unbounded">
              <complexType>
                <sequence>
                  <element name="DOInterval" minOccurs="0" maxOccurs="unbounded">
                    <complexType>
                      <attribute name="doId" type="string" use="required"/>
                      <attribute name="startTime" type="dateTime" use="required"/>
                      <attribute name="endTime" type="dateTime" use="required"/>
                    </complexType>
                  </element>
                </sequence>
                <attribute name="startTime" type="dateTime" use="required"/>
                <attribute name="endTime" type="dateTime" use="required"/>
                <attribute name="viewStartTime" type="dateTime" use="optional"/>
                <attribute name="viewEndTime" type="dateTime" use="optional"/>
                <attribute name="usageType" type="int" use="required"/>
                <attribute name="timeShift" type="boolean" use="optional" default="false"/>
              </complexType>
            </element>
          </sequence>
          <attribute name="channelNum" type="hexBinary" use="required"/>
          <attribute name="serviceType" type="unsignedByte" use="required"/>
        </complexType>
      </element>
      <element name="NRTService" minOccurs="0" maxOccurs="unbounded">
        <complexType>
          <sequence>
            <element name="NRTInterval" minOccurs="1" maxOccurs="unbounded">
              <complexType>
                <sequence>
                  <element name="NRTItem" minOccurs="0" maxOccurs="unbounded">
                    <complexType>
                      <attribute name="contentItemId" type="string" use="required"/>
                      <attribute name="startTime" type="dateTime" use="required"/>
                      <attribute name="endTime" type="dateTime" use="required"/>
                    </complexType>
                  </element>
                </sequence>
                <attribute name="startTime" type="dateTime" use="required"/>
                <attribute name="endTime" type="dateTime" use="required"/>
              </complexType>
            </element>
          </sequence>
          <attribute name="serviceID" type="hexBinary" use="required"/>
        </complexType>
      </element>
    </sequence>
    <attribute name="protocolVersion" type="hexBinary" use="required"/>
  </complexType>
</schema>
