5.1 Telemetry Request Message - Full Schema

 <?xml version="1.0" encoding="utf-8"?>
 <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="req">
   <xs:complexType>
    <xs:sequence>
     <xs:element name="tlm">
      <xs:complexType>
       <xs:sequence>
        <xs:element name="src" minOccurs="1" maxOccurs="1">
         <xs:complexType>
          <xs:sequence>
           <xs:element name="desc" minOccurs="1" maxOccurs="1">
            <xs:complexType>
             <xs:sequence>
              <xs:element name="mach" minOccurs="1" maxOccurs="1">
               <xs:complexType>
                <xs:sequence>
                 <xs:element name="os" minOccurs="1" maxOccurs="1">
                  <xs:complexType>
                   <xs:sequence>
                    <xs:element name="arg" minOccurs="0" maxOccurs="unbounded" >
                     <xs:complexType>
                      <xs:attribute name="nm" type="xs:string" use="required" />
                      <xs:attribute name="val" type="xs:string" use="required" />
                     </xs:complexType>
                    </xs:element>
                   </xs:sequence>
                  </xs:complexType>
                 </xs:element>
                 <xs:element name="hw" minOccurs="1" maxOccurs="1">
                  <xs:complexType>
                   <xs:sequence>
                    <xs:element name="arg" minOccurs="0" maxOccurs="unbounded" >
                     <xs:complexType>
                      <xs:attribute name="nm" type="xs:string" use="required" />
                      <xs:attribute name="val" type="xs:string" use="required" />
                     </xs:complexType>
                    </xs:element>
                   </xs:sequence>
                  </xs:complexType>
                 </xs:element>
                 <xs:element name="ctrl" minOccurs="1" maxOccurs="1">
                  <xs:complexType>
                   <xs:sequence>
                    <xs:element name="arg" minOccurs="0" maxOccurs="unbounded">
                     <xs:complexType>
                      <xs:attribute name="nm" type="xs:string" use="required" />
                      <xs:attribute name="val" type="xs:string" use="required" />
                     </xs:complexType>
                    </xs:element>
                   </xs:sequence>
                  </xs:complexType>
                 </xs:element>
                </xs:sequence>
               </xs:complexType>
              </xs:element>
             </xs:sequence>
            </xs:complexType>
           </xs:element>
          </xs:sequence>
         </xs:complexType>
        </xs:element>
        <xs:element name="reqs" minOccurs="1" maxOccurs="1">
         <xs:complexType>
          <xs:sequence>
           <xs:element name="payload" minOccurs="0" maxOccurs="1">
            <xs:complexType>
             <xs:sequence>
              <xs:element name="arg" minOccurs="0" maxOccurs="unbounded">
               <xs:complexType>
                <xs:attribute name="nm" type="xs:string" use="required" />
                <xs:attribute name="val" type="xs:string" use="required" />
               </xs:complexType>
              </xs:element>
             </xs:sequence>
            </xs:complexType>
           </xs:element>
           <xs:element name="req" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
             <xs:sequence>
              <xs:element name="namespace" minOccurs="1" maxOccurs="1">
               <xs:complexType>
                <xs:sequence>
                 <xs:element name="arg" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                   <xs:attribute name="nm" type="xs:string" use="required" />
                   <xs:attribute name="val" type="xs:string" use="required" />
                  </xs:complexType>
                 </xs:element>
                </xs:sequence>
                <xs:attribute name="svc" type="xs:string" use="required" />
                <xs:attribute name="ptr" type="xs:string" use="required" />
                <xs:attribute name="gp" type="xs:string" use="required" />
                <xs:attribute name="app" type="xs:string" use="required" />
               </xs:complexType>
              </xs:element>
              <xs:element name="ctrl" minOccurs="0" maxOccurs="1">
               <xs:complexType>
                <xs:sequence>
                 <xs:element name="arg" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                   <xs:attribute name="nm" type="xs:string" use="required" />
                   <xs:attribute name="val" type="xs:string" use="required" />
                  </xs:complexType>
                 </xs:element>
                </xs:sequence>
               </xs:complexType>
              </xs:element>
              <xs:element name="contents" minOccurs="0" maxOccurs="1">
               <xs:complexType>
                <xs:sequence>
                 <xs:element name="arg" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                   <xs:attribute name="nm" type="xs:string" use="required" />
                   <xs:attribute name="val" type="xs:string" use="required" />
                  </xs:complexType>
                 </xs:element>
                </xs:sequence>
               </xs:complexType>
              </xs:element>
              <xs:element name="cmd" minOccurs="1" maxOccurs="1">
               <xs:complexType>
                <xs:sequence>
                 <xs:element name="arg" minOccurs="0" maxOccurs="unbounded">
                  <xs:complexType>
                   <xs:attribute name="nm" type="xs:string" use="required" />
                   <xs:attribute name="val" type="xs:string" use="required" />
                  </xs:complexType>
                 </xs:element>
                </xs:sequence>
                <xs:attribute name="nm" type="xs:string" use="required" />
               </xs:complexType>
              </xs:element>
             </xs:sequence>
             <xs:attribute name="key" type="xs:string" use="required" />
            </xs:complexType>
           </xs:element>
          </xs:sequence>
         </xs:complexType>
        </xs:element>
       </xs:sequence>
      </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="ver" type="xs:unsignedInt" use="required" />
   </xs:complexType>
  </xs:element>
 </xs:schema>