J.1 User Service Description schema

26.3463GPPMultimedia Broadcast/Multicast Service (MBMS)Protocols and codecsRelease 17TS

This clause specifies the main USD Schema according to the current release. In addition to clause 11.2.1 specifying the USD schema content, additional requirements are included in this clause to ensure backward and forward compatibility.

In this version of the specification the network shall set the schemaVersion element, defined as a child of bundleDescription element, to 5.

The schema version attribute (part of the schema instruction) shall be included in the UE schema and the network schema.

NOTE 1: The value of the schemaVersion element and version attribute is intended to be increased by 1 in every future releases where new element(s) or attribute(s) are added.

When a UE receives an instantiation of a USD compliant to this schema, it shall determine the USD schema version required to parse the USD instantiation as follows:

– If the UE supports one or more versions of the USD schema with the schema version attribute, then the UE shall use the USD schema that has the highest schema version attribute value that is equal to or less than the value in the received schemaVersion element;

– Otherwise, if the UE supports a USD schema without a schema version attribute, or all of its USD schemas with the schema version attribute have a value greater than the value received in the schemaVersion element, then the UE shall use its USD schema without a version attribute.

NOTE 2: To avoid a schema validation error (Unique Particle Attribution rule) if an optional element from another namespace is specified just prior to the xs:any namespace="##other" instructions (3 instances in the USD schema), a schemaVersion element is defined as the last child of the root element (bundleDescription element), and a delimiter element is specified preceding the 2 other occurrences of xs:any instructions. These 2 elements are defined in clause J.2, and the schema file name is "schema-version.xsd".

Release 12 USD extension schema may be extended in future release of this specification. The version of the Release 12 USD extension (as identified by the version attribute in the Rel-12 extension schema, see 11.2.1.2) that shall be selected by the UE depends on the main USD schema version (as identified by the version attribute in the main USD schema) selected by the UE according to the requirements above. The following table shows which version of the Release 12 USD extension schema is to be used depending on which version of the main USD schema version is selected at the UE.

The Release 14 USD extension schema may also be extended in future release of this specification. The version of the Release 14 USD extension (as identified by the version attribute in the Rel-14 extension schema, see 11.2.1.2) that shall be selected by the UE depends on the main USD schema version (as identified by the version attribute in the main USD schema) selected by the UE according to the requirements above. The following table shows which version of the Release 14 USD extension schema is to be used depending on which version of the main USD schema version is selected at the UE.

Table J1-1: Release 12 and Release 14 USD extension schema version selection

Main USD Schema version selected

Release 12 USD Extension schema version

Release 14 USD Extension schema version

1

Not applicable

Not applicable

2

1

Not applicable

3

1

1

4

1

1

5

1

1

Release 15 USD extension schema may be extended in future release of this specification. The version of the Release 15 USD extension (as identified by the version attribute in the Rel-15 extension schema, see 11.2.1.2) that shall be selected by the UE depends on the main USD schema version (as identified by the version attribute in the main USD schema) selected by the UE according to the requirements above. The following table shows which version of the Release 15 USD extension schema is to be used depending on which version of the main USD schema version is selected at the UE.

Table J1-1a: Release 15 USD extension schema version selection

Main USD Schema version selected

Release 15 USD Extension schema version

3

Not applicable

4

3

5

3

Release 16 USD extension schema may be extended in future release of this specification. The version of the Release 16 USD extension (as identified by the version attribute in the Rel-16 extension schema, see 11.2.1.2) that shall be selected by the UE depends on the main USD schema version (as identified by the version attribute in the main USD schema) selected by the UE according to the requirements above. The following table shows which version of the Release 16 USD extension schema is to be used depending on which version of the main USD schema version is selected at the UE.

Table J1-1b: Release 16 USD extension schema version selection

Main USD Schema version selected

Release 16 USD Extension schema version

4

Not applicable

5

4

6

4

The schema file names associated to the USD schemas specified in sub-clause 11.2.1 are as follows:

– Release 7 extension schema: USD-Rel-07-schema-snippet.xsd

– Release 8 extension schema: USD-Rel-08-schema-snippet.xsd

– Release 9 extension schema: USD-Rel-09-schema-snippet.xsd

– Release 12 extension schema: USD-Rel-12-schema-snippet.xsd

– Release 14 extension schema: USD-Rel-14-schema-snippet.xsd

– Release 15 extension schema: USD-Rel-15-schema-snippet.xsd

– Release 16 extension schema: USD-Rel-16-schema-snippet.xsd

The file name for the main USD schema (as defined below) is "USD-schema-main.xsd".

User Service Description

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema

xmlns="urn:3GPP:metadata:2005:MBMS:userServiceDescription"

xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:r7="urn:3GPP:metadata:2007:MBMS:userServiceDescription"

xmlns:r8="urn:3GPP:metadata:2008:MBMS:userServiceDescription"

xmlns:r9="urn:3GPP:metadata:2009:MBMS:userServiceDescription"

xmlns:r12="urn:3GPP:metadata:2013:MBMS:userServiceDescription"

xmlns:r14="urn:3GPP:metadata:2017:MBMS:userServiceDescription"

xmlns:r15="urn:3GPP:metadata:2018:r15:MBMS:userServiceDescription"

xmlns:r16="urn:3GPP:metadata:2020:MBMS:userServiceDescription"

xmlns:sv="urn:3gpp:metadata:2009:MBMS:schemaVersion"

targetNamespace="urn:3GPP:metadata:2005:MBMS:userServiceDescription"

elementFormDefault="qualified"

version="6">

<xs:import namespace="urn:3GPP:metadata:2007:MBMS:userServiceDescription" schemaLocation="USD-Rel-07-schema-snippet.xsd"/>

<xs:import namespace="urn:3GPP:metadata:2008:MBMS:userServiceDescription" schemaLocation="USD-Rel-08-schema-snippet.xsd"/>

<xs:import namespace="urn:3GPP:metadata:2009:MBMS:userServiceDescription" schemaLocation="USD-Rel-09-schema-snippet.xsd"/>

<xs:import namespace="urn:3GPP:metadata:2013:MBMS:userServiceDescription" schemaLocation="USD-Rel-12-schema-snippet.xsd"/>

<xs:import namespace="urn:3GPP:metadata:2017:MBMS:userServiceDescription" schemaLocation="USD-Rel-14-schema-snippet.xsd"/>

<xs:import namespace="urn:3GPP:metadata:2018:MBMS:userServiceDescription" schemaLocation="USD-Rel-15-schema-snippet.xsd"/>

<xs:import namespace="urn:3GPP:metadata:2020:MBMS:userServiceDescription" schemaLocation="USD-Rel-16-schema-snippet.xsd"/>

<xs:import namespace="urn:3gpp:metadata:2009:MBMS:schemaVersion" schemaLocation="schema-version.xsd"/>

<xs:element name="bundleDescription" type="bundleDescriptionType"/>

<xs:complexType name="bundleDescriptionType">

<xs:sequence>

<xs:element name="userServiceDescription" type="userServiceDescriptionType" maxOccurs="unbounded"/>

<xs:element ref="r7:initiationRandomization" minOccurs="0"/>

<xs:element ref="r7:terminationRandomization" minOccurs="0"/>

<xs:element ref="sv:schemaVersion"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="fecDescriptionURI" type="xs:anyURI" use="optional"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="userServiceDescriptionType">

<xs:sequence>

<xs:element name="name" type="nameType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="serviceLanguage" type="xs:language" minOccurs="0" maxOccurs="unbounded"/>

<xs:element name="requiredCapabilities" type="requirementsType" minOccurs="0"/>

<xs:element name="deliveryMethod" type="deliveryMethodType" maxOccurs="unbounded"/>

<xs:element name="accessGroup" type="accessGroupType" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="r7:serviceGroup" minOccurs="0"/>

<xs:element ref="r7:initiationRandomization" minOccurs="0"/>

<xs:element ref="r7:terminationRandomization" minOccurs="0"/>

<xs:element ref="r8:Registration" minOccurs="0"/>

<xs:element ref="r9:mediaPresentationDescription" minOccurs="0"/>

<xs:element ref="r9:schedule" minOccurs="0"/>

<xs:element ref="r9:availabilityInfo" minOccurs="0"/>

<xs:element ref="sv:delimiter"/>

<xs:element ref="r12:appService" minOccurs="0"/>

<xs:element ref="r12:KeepUpdatedService" minOccurs="0"/>

<xs:element ref="r12:mooDConfiguration" minOccurs="0" maxOccurs="1"/>

<xs:element ref="r12:consumptionReporting" minOccurs="0" maxOccurs="1"/>

<xs:element ref="sv:delimiter"/>

<xs:element ref="r15:ROMSvcRfParams" minOccurs="0"/>

<xs:element ref="sv:delimiter"/>

<xs:element ref="r16:ROMSvcRfParams" minOccurs="0"/>

<xs:element ref="sv:delimiter"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="serviceId" type="xs:anyURI" use="required"/>

<xs:attribute ref="r7:serviceClass"/>

<xs:attribute ref="r14:romService"  use="optional"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="accessGroupType">

<xs:sequence>

<xs:element name="accessBearer" type="xs:string" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="id" type="accessGroupIdType" use="required"/>

</xs:complexType>

<xs:complexType name="deliveryMethodType">

<xs:sequence>

<xs:element ref="r7:unicastAccessURI" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="r8:alternativeAccessDelivery" minOccurs="0"/>

<xs:element ref="sv:delimiter"/>

<xs:element ref="r12:broadcastAppService" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="r12:unicastAppService" minOccurs="0"/>

<xs:element ref="r12:appComponent" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="r12:serviceArea" minOccurs="0" maxOccurs="unbounded"/>

<xs:element ref="sv:delimiter"/>

<xs:element ref="r15:supplementaryUnicastAppService" maxOccurs="unbounded"/>

<xs:element ref="sv:delimiter"/>

<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="accessGroupId" type="accessGroupIdType" use="optional"/>

<xs:attribute name="associatedProcedureDescriptionURI" type="xs:anyURI" use="optional"/>

<xs:attribute name="protectionDescriptionURI" type="xs:anyURI" use="optional"/>

<xs:attribute name="sessionDescriptionURI" type="xs:anyURI" use="required"/>

<xs:attribute name="accessPointName" type="xs:anyURI" use="optional"/>

<xs:attribute name="group" type="xs:unsignedByte" use="optional"/>

<xs:attribute name="PLMN" type="xs:string" use="optional"/>

 <xs:attribute name="p-serviceArea" type="p-serviceAreaType" use="optional"/>

<xs:attribute ref="r12:inbandMetadata"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:simpleType name="p-serviceAreaType">

<xs:list itemType="xs:unsignedShort"/>

</xs:simpleType>

<xs:complexType name="nameType">

<xs:simpleContent>

<xs:extension base="xs:string">

<xs:attribute name="lang" type="xs:language" use="optional"/>

</xs:extension>

</xs:simpleContent>

</xs:complexType>

<xs:simpleType name="accessGroupIdType">

<xs:restriction base="xs:nonNegativeInteger"/>

</xs:simpleType>

<xs:complexType name="requirementsType">

<xs:sequence>

<xs:element name="feature" type="xs:unsignedInt" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:schema>