Formats
Summary
Text format agreements between OSID Consumer and OSID Provider.
The Multi-Format OSID Provider
The interfaces optimize for OSID Consumers that support a single format without having to understand a Type agreement. Now we have an OSID Provider that supports multiple Format Types and there's no way to specify one in an admin session.
Assumption: The OSID Consumer must also understand how to deliver multiple Format Types. If not, then there is no reason to have an OSID Provider present multiple Format Types and one should be nailed up for that OSID Consumer.
Solution 1
The OSID Provider can detect among the text formats given to it. This works if the text formats are distinguishable. The Metadata for text fields will indicate multiple format Types.
Solution 2
The OSID Consumer specifies the text format via the launch of the AdminSession using a proxy service in the same way as one would specify a language or script Type. The AdminSession is "placed" in that format and all Metadata indicates that text format Type. This works as long as the OSID Consumer can also understand the same text format for other text fields originating from the OSID Provider, such as instructions.
Solution 3
Make a new Format Type.
Define an "specified format type" with the following syntax:
xxxx:nroff:.PPsee spot run.PP
The format Type is an agreement between the OSID Consumer and the OSID Provider as to what is being passed. An OSID Provider may also accept different format Types, such as plain text, in addition to this specified text format. The OSID Consumer continues to operate in its text format independent to what it is supplying for create and update operations. This also works for text formats that are difficult to distinguish.