A.1 XML-based representation

26.5173GPP5G Multicast-Broadcast User ServicesProtocols and FormatsRelease 17TS

A.1.1 MBS User Service Description schema

The following schema shall have the filename "mbs_user_service_description.xml".

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

<xs:schema xmlns="urn:3GPP:metadata:2022:MBS:userServiceDescription" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:3GPP:metadata:2022:MBS:userServiceDescription" elementFormDefault="qualified">

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

<xs:complexType name="BundleDescriptionType">

<xs:sequence>

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

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

</xs:sequence>

<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="distributionSessionDescription" type="DistributionSessionDescriptionType" maxOccurs="unbounded"/>

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

<xs:element name="scheduleDescriptionURI" type="xs:anyURI" minOccurs="0"/>

<xs:element name="availabilityInfo" type="AvailabilityInformationType" minOccurs="0"/>

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

</xs:sequence>

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

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="DistributionSessionDescriptionType">

<xs:sequence>

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

<xs:element name="unicastAppService" type="UnicastApplicationServiceType" minOccurs="0"/>

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

</xs:sequence>

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

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

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

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

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<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:complexType name="ApplicationServiceDescriptionType">

<xs:sequence>

<xs:element name="identicalContent" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="basePattern" type="xs:anyURI" minOccurs="2" maxOccurs="unbounded"/>

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

</xs:sequence>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

<xs:element name="alternativeContent" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="basePattern" type="xs:anyURI" minOccurs="2" maxOccurs="unbounded"/>

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

</xs:sequence>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

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

</xs:sequence>

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

<xs:attribute name="mimeType" type="xs:string" use="required"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="MbsApplicationServiceType">

<xs:sequence>

<xs:element name="basePattern" type="xs:anyURI" maxOccurs="unbounded"/>

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

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

</xs:sequence>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="UnicastApplicationServiceType">

<xs:sequence>

<xs:element name="basePattern" type="xs:anyURI" maxOccurs="unbounded"/>

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

</xs:sequence>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="AvailabilityInformationType">

<xs:sequence>

<xs:element name="infoBinding" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

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

<xs:element name="mbsFSAId" type="xs:unsignedShort" minOccurs="0"/>

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

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="MbsServiceAreaType">

<xs:sequence>

<xs:element name="taiList" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="tai" type="TrackingAreaIdentityType" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="ncgiList" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="ncgiTai" type="NrCellGlobalIdentityType" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexType name="TrackingAreaIdentityType">

<xs:sequence>

<xs:element name="plmnId">

<xs:complexType>

<xs:sequence>

<xs:element name="mcc" type="xs:string"/>

<xs:element name="mnc" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="tac" type="xs:string"/>

<xs:element name="nid" type="xs:string" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ncgiTai">

<xs:sequence>

<xs:element name="tai" type="TrackingAreaIdentityType"/>

<xs:element name="ncgi" type="NrCellGlobalIdentityType"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="NrCellGlobalIdentityType">

<xs:sequence>

<xs:element name="plmnId">

<xs:complexType>

<xs:sequence>

<xs:element name="mcc" type="xs:string"/>

<xs:element name="mnc" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="nrCellId" type="xs:string"/>

<xs:element name="nid" type="xs:string" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

A.1.2 Object Repair Parameters schema

Below is the formal XML syntax of associated distribution procedure description instances. Documents following this schema can be identified with the MIME type "application/mbs‑object-repair-parameters+xml". The schema filename of distribution procedure description is objectrepairparameters.xsd.

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

<xs:schema

xmlns="urn:3gpp:metadata:2020:MBS:objectRepairParameters"

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

targetNamespace="urn:3gpp:metadata:2022:MBS:objectRepairParameters"

elementFormDefault="qualified"

version="1">

<xs:element name="objectRepairParameters" type="ObjectRepairParametersType"/>

<xs:complexType name="ObjectRepairParametersType">

<xs:sequence>

<xs:element name="postObjectRepair" type="basicProcedureType" minOccurs="0"/>

<xs:element name="mbsObjectRepair" type="mbsObjectRepairType" minOccurs="0"/>

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

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:complexType name="basicProcedureType">

<xs:sequence>

<xs:element name="serviceURI" type="xs:anyURI" maxOccurs="unbounded"/>

</xs:sequence>

<xs:attribute name="offsetTime" type="xs:unsignedLong" use="optional"/>

<xs:attribute name="randomTimePeriod" type="xs:unsignedLong" use="required"/>

</xs:complexType>

<xs:complexType name="mbsObjectRepairType">

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

</xs:complexType>

</xs:schema>

A.1.3 Schedule Description schema

Below is the formal XML syntax of schedule information procedure. Documents following this schema can be identified with the MIME type "application/mbms‑schedule+xml". The file name of XML schema for schedule description is Schedule-Description.xsd.

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

<xs:schema xmlns="urn:3gpp:metadata:2022:MBS:scheduleDescription" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:3gpp:metadata:2022:MBS:scheduleDescription" elementFormDefault="qualified" version="1">

<xs:complexType name="scheduleDescriptionType">

<xs:sequence>

<xs:element name="serviceSchedule" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

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

<xs:element name="sessionScheduleOverride" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence minOccurs="0">

<xs:element name="start" type="xs:dateTime"/>

<xs:element name="stop" type="xs:dateTime"/>

</xs:sequence>

<xs:attribute name="index" type="xs:unsignedInt" use="required"/>

<xs:attribute name="cancelled" type="xs:boolean"/>

</xs:complexType>

</xs:element>

<xs:element name="objectSchedule" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="objectURI">

<xs:complexType>

<xs:simpleContent>

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

<xs:attribute name="cancelled" type="xs:boolean"/> </xs:extension>

</xs:simpleContent>

</xs:complexType>

</xs:element>

<xs:element name="deliveryInfo" minOccurs="0" maxOccurs="unbounded">

<xs:complexType>

<xs:attribute name="start" type="xs:dateTime"/>

<xs:attribute name="end" type="xs:dateTime"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

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

</xs:sequence>

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

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

<xs:attribute name="unicastOnly" type="xs:boolean" use="optional" default="false"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

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

</xs:sequence>

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

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

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

</xs:element>

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

</xs:sequence>

<xs:attribute name="scheduleUpdate" type="xs:dateTime"/>

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:complexType name="reoccurenceStartStopType">

<xs:sequence>

<xs:element name="start" type="xs:dateTime"/>

<xs:element name="stop" type="xs:dateTime"/>

<xs:element name="reoccurencePattern" type="xs:string" minOccurs="0"/>

<xs:element name="numberOfTimes" type="xs:unsignedInt" minOccurs="0"/>

<xs:element name="reoccurenceStopTime" type="xs:dateTime" minOccurs="0"/>

<xs:element name="index" type="xs:unsignedInt" minOccurs="0"/>

<xs:element name="FDTInstanceURI" type="xs:anyURI" minOccurs="0"/>

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

</xs:sequence>

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

<xs:anyAttribute processContents="skip"/>

</xs:complexType>

<xs:element name="scheduleDescription" type="scheduleDescriptionType"/>

</xs:schema>