Subject: [Rmt] EXP2ST: FLUTE FDT extension by element should be allowed

From: [email-masked]
Date: Mon, 27 Jun 2005 16:33:22 +0300

Hi All

As promised, here's another point to consider in the standards track progress of FLUTE...

The FDT (XML) schema is intentionally open to extension by both element and attributes. On oversight of the original creation was that "<xs:anyAttribute processContents="skip"/>" allows extension by attribute but not by element.

Naturally this has not interfered with any interoperability based on the specification. However, when using FLUTE as the basis of an enhanced application protocol this issue has been discovered.

Both the MBMS (3GPP/cellular multicast) (http://www.3gpp.org/ftp/Specs/html-info/26346.htm §7.2.10) and RMT/individual Object Aggregation I-D (http://www.ietf.org/internet-drafts/draft-neumann-rmt-flute-file-aggregation-00.txt, §4.3) have already encountered the need to extend by element, and thus extend the FDT in this way. [For those interested: IPDC/DVB-H and OMA work (also using FLUTE) has taken this into account in contributions].

Hence, I propose that we repair the FDT schema. The fix is to introduce "xs:any processContents="skip"" into both "FDT-Instance" and "File" elements, and thus any extension processes (elements) will be skipped by an non-enhanced FLUTE client whilst leaving the rest of the FDT Instance valid and usable by the client according to the schema. i.e. add this twice:

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

This is fully compatible server side. However, an experimental client encountering an element-extended FDT ought to reject it as not adhering to the experimental schema. Basically this would be "graceful failure". Then the difference between an experimental and standards track FLUTE client would be that the latter could use the remainder of an FDT Instance's data, whereas the former should reject all data of an FDT Instance including an element-extension. Given that FDT extensions are for specific enhancements and applications it would be unlikely that this will cause any problems, even if there were already a large number of deployed experimental FLUTE clients. (Please shout up if you have such a large deployment - it's good to know in any case :)

So I am happy that the change is not going to break anything in practice - even to the experimental FLUTE. And the change will also simplify future extension and inter-working with the broadcast/datacast/wireless standards work.

Comments, experiences, issues are welcome.

Cheers, Rod.

_______________________________________________
Rmt mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rmt