5MBS use the profiled FDT Schema from clause L.6 in TS 26.346 for the Object Distribution Method (see clause 6.2 from TS 26.517).
This profile FDT Schema reuses the delimiter element, specified in Annex J.2.
The delimiter element was introduced to ensure backward and forward compatibility for the different schema versions, according to the following mechanism:
schemas are including extension points by using <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>. This allows the insertion of any elements, provided they belong to another namespace:
new elements to be inserted the schemas are specified under a new namespace and placed at these extension points.
To respect the Unique Particule Attribution (UPA) rule, a delimiter element separates new elements from the tags.
<xs:complexType name="exampleType">
<xs:sequence>
<xs:element name="firstElement" type="xs:string" maxOccurs="unbounded"/>
<!--new element from a new namespace-->
<xs:element ref="new:newElement" minOccurs="0"/>
<xs:element ref="sv:delimiter"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
To ensure backward compatibility, we want that a document instance, valid with the new schema, is valid as well with the old one. This is achieved by affecting delimiter to another namespace, so that new:newElement and sv:delimiter are associated to the of the old schema.
Description of the doubt
In L.6 of TS 26.346, there is a delimiter within the file element. It was introduced first to solve the UPA rule with the introduction of mbms2007:Cache-Control in the initial FDT schema (see 7.2.10). As Cache-Control is sharing now the same namespace in L.6, there isn’t any more issue with the UPA rule. Is there another reason to keep a mandatory delimiter element here ?
In addition, to ensure backward compatibility, the delimiter element shall be affected to another namespace.
Context
5MBS use the profiled FDT Schema from clause L.6 in TS 26.346 for the Object Distribution Method (see clause 6.2 from TS 26.517). This profile FDT Schema reuses the delimiter element, specified in Annex J.2.
The delimiter element was introduced to ensure backward and forward compatibility for the different schema versions, according to the following mechanism:
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
. This allows the insertion of any elements, provided they belong to another namespace:To ensure backward compatibility, we want that a document instance, valid with the new schema, is valid as well with the old one. This is achieved by affecting delimiter to another namespace, so that new:newElement and sv:delimiter are associated to the of the old schema.
Description of the doubt
In L.6 of TS 26.346, there is a delimiter within the file element. It was introduced first to solve the UPA rule with the introduction of mbms2007:Cache-Control in the initial FDT schema (see 7.2.10). As Cache-Control is sharing now the same namespace in L.6, there isn’t any more issue with the UPA rule. Is there another reason to keep a mandatory delimiter element here ?
In addition, to ensure backward compatibility, the delimiter element shall be affected to another namespace.