Discrepancy in spi_31.xsd and ETSI TS 102 818 v3.1.1 Document

17 views
Skip to first unread message

Mike Pilone

unread,
Aug 4, 2016, 2:37:34 PM8/4/16
to RadioEPG developers
I'm starting to write some example SI and PI documents and I noticed that there is a discrepancy between the XML schema and the technical specification. The schema states that the serviceProvider element is a child of the serviceInformation element (line 279) while the specification states that the serviceProvider element is a child of the services element (page 24 section 6.4). 

I'm going to assume that the schema is correct and the documentation is wrong but this should be clarified.

-mike

Ben Poor

unread,
Aug 5, 2016, 6:16:16 AM8/5/16
to radioepg-...@googlegroups.com
Hi Mike,

I think the confusion here is that we are using serviceProvider as both an element and an attribute, although they are mutually exclusive.

From the schema, it can be used as an attribute to the serviceInformation element:

   <xs:element name="serviceInformation">
      <xs:complexType>
         <xs:sequence maxOccurs="unbounded">
            <xs:element name="services" type="servicesType"  minOccurs="0" />
            <xs:element name="serviceGroups" type="serviceGroupsType" minOccurs="0" />
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="version" type="xs:positiveInteger" default="1" />
         <xs:attribute name="creationTime" type="timePointType" />
         <xs:attribute name="originator" type="originatorType" />
         <xs:attribute name="serviceProvider" type="originatorType"/>
         <xs:attribute name="terms" type="xs:anyURI" />
         <xs:attribute ref="xml:lang" default="en" />
         <xs:anyAttribute namespace="##other" processContents="lax" />
      </xs:complexType>
   </xs:element>

and an element under the services element:

   <xs:complexType name="servicesType">
      <xs:sequence>
         <xs:element name="serviceProvider" type="serviceProviderType" minOccurs="0"/>
         <xs:element name="service" type="serviceType" minOccurs="0" maxOccurs="unbounded"/>
         <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:anyAttribute namespace="##other" processContents="lax" />
   </xs:complexType>

The specification gives guidance on what happens if the attribute is defined, in section 6.2:

    If this attribute is defined, the SI document shall not contain a serviceProvider element 

In section 6.4, it gives guidance on what happens if the element is defined:

  1. If this element is used then the serviceInformation element shall not define a serviceProvider attribute.

So there is choice of whether to use the short textual description of a service provider (i.e. in the attribute), or a more fully feature element which can contain multiple descriptions, logos, etc.

Hope that helps,

Ben

--
You received this message because you are subscribed to the Google Groups "RadioEPG developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to radioepg-developers+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mike Pilone

unread,
Aug 5, 2016, 9:18:07 AM8/5/16
to RadioEPG developers
Thanks, Ben. My mistake. I didn't notice that the serviceProvider was also an attribute on the servcieInformation element. Thanks for the clarification.

-mike
Reply all
Reply to author
Forward
0 new messages