Although the XML Specification tries to define as few variations as possible in its conformance model, the layer of specifications on top of XML may make the design of a language based on XML a bit tricky; what are the questions one should check when reviewing/building an XML Language ? How to choose the right answer when designing an XML Language ? What needs to be tested when testing an agent operating on an XML based language ?
In the questions below, FooML is an hypothetic XML based language. Each question should be bound to a set of use cases justifying such or such approach. @@@ See what to integrate from or how to relate to the Architecture of the World Wide Web document, the XML Accessibility Guidelines and Guidelines for the Use of XML within IETF Protocol (@@@ hmm... the latter is so complete that it's worth asking whether this page needs to exist at all... Maybe with a stronger focus on being a checklist rather than a data sheet?).
- what version of XML (1.0 or 1.1) is FooML based on?
- is there additional constraints on the encoding allowed for this language?
- does a parser implementing FooML needs to be validating?
- if the language supports some kind of linking, does it mandate support for xml:base? How does this linking mechanism relates to XLink? does this mechanism support XPointer ?
- if the language encodes human-readable strings, does it mandate support for xml:lang?
- does the language support extensibility through XML Namespaces? How are the agents supposed to deal with it (see also mustUnderstand vs mustIgnore in ErrorHandling)?
- is there a different MIME-Type for FooML ? Does it follow the RFC 3023 */*+xml convention?