MIME Constraint Mechanism (MCM)

Version 1.0

Authors

Scott Hinkelman, IBM

Copyright Notice

IBM hereby grants you permission to copy and display the MIME Constraint Mechanism specification, in any medium without fee or royalty, provided that you include the following on all copies of the MIME Constraint Mechanism specification, or portions thereof that you make:

1.      A link or URL to the specification at this location

2.      The copyright notice as shown in the MIME Constraint Mechanism specification.

EXCEPT FOR THE COPYRIGHT LICENSE GRANTED ABOVE, IBM DOES NOT GRANT, EITHER EXPRESSLY OR IMPLIEDLY, A LICENSE TO ANY INTELLECTUAL PROPERTY, INCLUDING PATENTS, THEY OWN OR CONTROL. IBM MAY HAVE PATENTS, PATENT APPLICATIONS, TRADEMARKS, COPYRIGHTS, OR OTHER INTELLECTUAL PROPERTY RIGHTS COVERING SUBJECT MATTER IN THIS DOCUMENT.

THE INFORMATION CONSTRAINT FRAMEWORK SPECIFICATION IS PROVIDED "AS IS," AND IBM MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE MIME CONSTRAINT MECHANISM SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

IBM WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THIS SPECIFICATION.

MIME Constraint Mechanism specification may change before final release and you are cautioned against relying on the content of this specification.

The name and trademarks of IBM may NOT be used in any manner, including advertising or publicity pertaining to the specification or its contents without specific, written prior permission. Title to copyright in the MIME Constraint Mechanism specification will at all times remain with IBM.

No other rights are granted by implication, estoppel or otherwise.

Abstract

The MIME Constraint Mechanism specification (sometimes referred to as “MCM”) provides a MIME-specific concrete information constraint mechanism type for the Business Information Conformance Statement specification.

MCM enables the constraint type of information to be declared as a MIME type and to become an information constraint within the information constraint processing model of a Business Information Conformance Statement.

Status

This specification is an initial public draft release and is provided for review and evaluation only. IBM makes no warrantees or representations regarding the specifications in any manner whatsoever.

Table of Contents

1 Introduction

1.1 Notational Conventions

1.2 Namespaces

2 Example

2.1 Double MIME Constraint In-line

3 Structural Semantics

3.1 complexType MIMEInformationConstraintMechanismType

3.2 element MIMEInformationConstraintMechanismType/MIMEType

3.3 Distinguished TypeName for Instance Documents

4 References

A1 Formal W3C XML Schema

1 Introduction

Business information can be declared as adhering to specific constraint mechanisms. Various constraint mechanisms are utilized in industry.

The Business Information Conformance Statement (BICS) specification [BICS] provides a formal XML vocabulary providing the ability to declare statements of constraints for business information based in an information constraint processing model. The BICS specification specifies a top level Information Conformance Statement as an XML document structure, several common possible constraint processing models, and an abstract Information Constraint Mechanism Type. This specification defines a concrete information constraint mechanism type to allow a MIME type to exist within a Business Information Conformance Statement as a constraint mechanism.

Refer to the Business Information Conformance Statement [BICS] specification for increased details.

1.1 Notational Conventions

The keywords [keywords] "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [RFC2119].

1.2 Namespaces

The XML namespace names [XMLNamespace] URIs [URIs] defined by this specification is as follows:

        http://ibm.com/xml/namespaces/mimeinformationconstraint

2 Example

In order to use the Business Information Conformance Statement within an XML instance document, an importing W3C XML Schema must be defined that provides a concrete subtype of the InformationConstraintMechanismType type from the Business Information Conformance Statement namespace. Once a concrete constraint mechanism is defined, an XML instance document is then based on the BICS schema and makes use of the concrete subtype within a constraint processing model.

This specification defines such a concrete subtype, and this section shows fictitious examples of utilizing the subtype in BICS.

2.1 Double MIME Constraint In-line

The InformationConformanceStatement element is the single root element for instance documents.

The following BICS states that if the either of the two MIME constraints are applied with no errors to the information under discussion, that the information under discussion is considered conformant.

In this example, two MIME constraints exist in-line within the statement, and are within an ‘any’ constraint processing model.

[1] <?xml version="1.0" encoding="UTF-8"?>

[2] <InformationConformanceStatement xmlns="http://ibm.com/xml/namespaces/businessinformationconformancestatement" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://ibm.com/xml/namespaces/mimeinformationconstraint" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ibm.com/xml/namespaces/businessinformationconformancestatement

[3] ./businessinformationconformancestatement.xsd http://ibm.com/xml/namespaces/mimeinformationconstraint

[4] ./mimemechanism.xsd">

[5]   <InformationConstraintProcessingModel modelType="any">

[6]     <InformationConstraint xsi:type="mime:MIMEInformationConstraintMechanismType">

[7]       <Name>jpg image constraint</Name>

[8]       <TypeName>MIME Constraint Mechanism</TypeName>

[9]       <Description>This constraint, a MIME type, indicates jpg information.</Description>

[10]       <mime:MIMEType>image/jpg</mime:MIMEType>

[11]     </InformationConstraint>

[12]     <InformationConstraint xsi:type="mime:MIMEInformationConstraintMechanismType">

[13]       <Name>gif image constraint</Name>

[14]       <TypeName>MIME Constraint Mechanism</TypeName>

[15]       <mime:MIMEType>image/gif</mime:MIMEType>

[16]     </InformationConstraint>

[17]   </InformationConstraintProcessingModel>

[18] </InformationConformanceStatement>

Lines (002) to (004) define the top-level element, namespaces, etc.

Lines (005) to (017) define the constraint processing model of the statement. The attribute on line (005) defines the constraint processing model as an ‘any’ model. In this example, there are two constraints.

Lines (006) to (011) define the first InformationConstraint within the processing model. This constraint is of the concrete MIMEInformationConstraintMechanismType type as indicated by the xsi:type attribute.

Line (007) provides a name of the constraint.

Line (008) provide a name of the constraint mechanism.

Line (009) provides a description of the constraint.

Line (010) defines the constraint as a MIME .jpg type.

Lines (012) to (016) define the second InformationConstraint within the processing model. This constraint is of the concrete MIMEInformationConstraintMechanismType type as indicated by the xsi:type attribute.

Line (013) provides a name of the constraint.

Line (014) provide a name of the constraint mechanism.

Line (015) defines the constraint as a MIME .jpg type.

3 Structural Semantics

This section defines the normative MIME Constraint Mechanism vocabulary semantics as defined using W3C XML Schema representation.

3.1 complexType MIMEInformationConstraintMechanismType

Elements typed as MIMEInformationConstraintMechanismType type provide a MIME-specific concrete subtype of the InformationConstraintmechanismType from the BICS namespace.

This type defines a required extension element for specifying the MIME type.

<xs:complexType name="MIMEInformationConstraintMechanismType">

  <xs:complexContent>

    <xs:extension base="bics:InformationConstraintMechanismType">

      <xs:sequence>

        <xs:element name="MIMEType">

          <xs:simpleType>

            <xs:restriction base="xs:string">

              <xs:pattern value="(text|image|application|audio|video|model|x-.+)/+"/>

            </xs:restriction>

          </xs:simpleType>

        </xs:element>

      </xs:sequence>

    </xs:extension>

  </xs:complexContent>

</xs:complexType>

3.2 element MIMEInformationConstraintMechanismType/MIMEType

The local MIMEType element of the MIMEInformationConstraintMechanismType type define an information constraint specifed as a MIME [RFC2045] [RFC2046] type.

<xs:element name="MIMEType">

  <xs:simpleType>

    <xs:restriction base="xs:string">

      <xs:pattern value="(text|image|application|audio|video|model|x-.+)/+"/>

    </xs:restriction>

  </xs:simpleType>

</xs:element>

3.3 Distinguished TypeName for Instance Documents

Instance documents utilizing the MIMEInformationConstraintMechanismType must specify the a value of “MIME XML Schema Constraint Mechanism” for the <TypeName> element in the  http://ibm.com/xml/namespaces/businessinformationconformancestatement namespace name.

4 References

[keywords]

S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels," RFC 2119, Harvard University, March 1997, http://www.ietf.org/rfc/rfc2119.txt

[URI]

T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax," RFC 2396, MIT/LCS, U.C. Irvine, Xerox Corporation, August 1998, http://www.ietf.org/rfc/rfc2396.txt

[BICS]

     Business Information Conformance Statements version 2.0, ?

 [XMLNamespace]

W3C Recommendation, Namespaces in XML, http://www.w3.org/TR/1999/REC-xml-names-19990114

[XML]

Extensible Markup Language (XML) 1.0 (Second Edition), http://www.w3.org/TR/REC-xml

[XMLSchema1]

W3C Recommendation, XML Schema Part 1: Structures, http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/

[XMLSchema2]

W3C Recommendation, XML Schema Part 2: Datatypes, http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/

 [RFC2045]

A Multipurpose Internet Mail Extensions (MIME) Part One, Format of Internet Message Bodies, http://www.ietf.org/rfc/rfc2045.txt?number=2045

[RFC2046]

A Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, http://www.ietf.org/rfc/rfc2046.txt?number=2046

A1 Formal W3C XML Schema

<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================

MIME Information Constraint Mechanism W3C XML Schema

Version 1.0

Copyright Notice

© 2005 International Business Machines Corporation, All rights reserved. The presentation, distribution, or other dissemination of the information contained in this specification is not a license, either expressly or impliedly, to any intellectual property owned or controlled by IBM. IBM may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to IBM’s™ patents, trademarks, copyrights, or other intellectual property. The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. This specification and the information contained herein is provided on an "AS IS" basis and to the maximum extent permitted by applicable law, IBM provides the document AS IS AND WITH ALL FAULTS, and hereby disclaim all other warranties and conditions, either express, implied, or statutory, including, but not limited to, any (if any) implied warranties, duties, or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence, all with regard to the document. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE DOCUMENT. IN NO EVENT WILL IBM BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.

==================================================================== -->

<xs:schema targetNamespace="http://ibm.com/xml/namespaces/mimeinformationconstraint" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mic="http://ibm.com/xml/namespaces/mimeinformationconstraint" xmlns:bics="http://ibm.com/xml/namespaces/businessinformationconformancestatement">

  <xs:import namespace="http://ibm.com/xml/namespaces/businessinformationconformancestatement" schemaLocation="./businessinformationconformancestatement.xsd"/>

  <xs:complexType name="MIMEInformationConstraintMechanismType">

    <xs:complexContent>

      <xs:extension base="bics:InformationConstraintMechanismType">

        <xs:sequence>

          <xs:element name="MIMEType">

            <xs:simpleType>

              <xs:restriction base="xs:string">

                <xs:pattern value="(text|image|application|audio|video|model|x-.+)/+"/>

              </xs:restriction>

            </xs:simpleType>

          </xs:element>

        </xs:sequence>

      </xs:extension>

    </xs:complexContent>

  </xs:complexType>

</xs:schema>

.