Copyright © 2004 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.
This document lists and provides answers to some frequently asked questions about the design decisions behind the choice of include mechanism by the XML Protocol Working Group during construction of XML-binary Optimized Packaging (XOP). For more information about XOP, see the Working Group Home Page.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This is the First Working Group Note of the Frequently Asked Questions document about the XOP Inclusion Mechanism. It has been produced by the XML Protocol Working Group (WG), which is part of the Web Services Activity. The WG has produced this document to answer questions that have commonly and recently been asked about XOP, it does not intend to update the document.
Comments should be sent to the [email protected] mailing list (public archive).
This document has been produced under the 24 January 2002 CPP as amended by the W3C Patent Policy Transition Procedure. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with section 6 of the W3C Patent Policy. Patent disclosures relevant to this specification may be found on the Working Group's patent disclosure page.
Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
The XMLP working group has created a specification called XOP (XML-binary Optimized Packaging) that defines an efficient convention for serializing XML Infosets for binary content. XOP defines a mechanism to take selected binary data from a source Infoset and place them in the XOP package. The location of the selected binary data must be marked in the serialized XML using some include mechanism. This include mechanism provides the link to the packaged binary data using URIs.
XML Core WG developed XInclude, a processing model and syntax for general purpose inclusion for XML documents in order to facilitate document modularity.
The XMLP WG decided that XOP will not reuse XInclude. Instead XMLP WG created a new element, xop:Include, whose semantics are tailored to the use case which XMLP is targeted to solve. XML Core raised an objection to this design choice. A series of emails between the working groups culminated in a joint face to face meeting on Feb 28, 2004 in Cannes, France to resolve the issue.
The agreed resolution is for XMLP XOP to continue with its include mechanism, xop:Include. The overriding rationale was that XInclude contains many features and facilities that XOP does not require. Hence, XOP usage of XInclude could result in abuse and interop problems, thus creating a more risky than beneficial solution. Supporting full XInclude processing, without receiving the benefits of XInclude features, runs counter to one the principal XOP requirements – the optimized processing of binary data.
It is a minimal include element that defines one mandatory href attribute information item for the URI link to the related MIME part in a XOP package. Additionally, xop:Include has available from its owner element the content-type of the binary data of the same MIME part.
The overriding reason is that the benefit of XInclude reuse does not override the cost of added complexity. This is because reuse of XInclude features is low relative to XMLP attachment requirements. In particular, XInclude's features for general inclusion not required or desired by XOP are:
Other technical reasons are:
It is highly desirable that only one XML inclusion mechanism is supported by the W3C and its membership. This is a goal the W3C working groups and coordination group strive to receive. If W3C supports multiple technologies that covers a specific area, we may be sending out a confusing message. However, in this case, the requirements are sufficiently disjoint to justify two inclusion mechanisms.
Yes. XMLP will reopen this issue should XMLP find they have to make use of more XInclude functionality.