[Source: ftp://www6.software.ibm.com/software/developer/library/x-biics/BI-ICSSpec_v1.html]

Business Integration - Information Conformance Statements (BI-ICS)

Version 1.0

January, 2004
Authors

Scott Hinkelman, IBM

Copyright Notice

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

1.      A link or URL to the specification at this location [ftp://www6.software.ibm.com/software/developer/library/x-biics/BI-ICSSpec_v1.html]

2.      The copyright notice as shown in the BI-ICS 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 BI-ICS 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 BI-ICS 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 THE BI-ICS SPECIFICATION.

The BI-ICS 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 BI-ICS specification will at all times remain with IBM.

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

Abstract

Business Integration - Information Conformance Statements (BI-ICS, or hereby within this document “ICS”) provides a model of conformance via an XML format for declaring conformance about the constraints of information.

An ICS is a declaration of the adherence of information to various constraint mechanisms.

Status

The ICS 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 Examples

2.1 Multiple W3C XML Schemas Sequential Statement

2.2 W3C XML Schema And Schematron Schema Sequential Statement

2.3 Multiple MIME Type Any Statement

3 Structure

4 Structural Semantics

4.1 element InformationConformanceStatement

4.2 complexType InformationConformanceStatementType

4.3 complexType ConformanceContainerType

4.4 element ConformanceContainerType/Conformance

4.5 complexType ConformanceModelType

4.6 element ConformanceModelType/ConformanceSequence

4.7 element ConformanceModelType/ConformanceAny

4.8 complexType ConformanceType

4.9 element ConformanceType/Description

4.10 element ConformanceType/TypeSystem

4.11 element ConformanceType/Process

4.12 element InformationConformanceStatementType/Description

4.13 element InformationConformanceStatementType/ConformanceModel

4.14 complexType ProcessType

4.15 element ProcessType/SchematronSchema

4.16 complexType SchematronSchemaType

4.17 element SchematronSchemaType/InstanceLocation

4.18 complexType TypeSystemType

4.19 element TypeSystemType/W3CXMLSchemaTypeSystem

4.20 element TypeSystemType/MIMETypeSystem

4.21 complexType W3CXMLSchemaTypeSystemType

4.22 element W3CXMLSchemaTypeSystemType/InstanceLocation

4.23 simpleType MIMETypeSystemType

5 References

A1 Formal W3C XML Schema

1 Introduction

Business information can be declared as conforming to specific mechanisms. Information may be declared as adhering to type systems such as W3C XML Schema [W3C XML Schema], MIME [RFC2045] [RFC2046], etc, and/or to various processing mechanisms. This allows for example, a declaration which states that information is conformant to both a W3C XML Schema instance validation and also to XPath [XPath] processing.

ICS provides a formal language targeted directly for declarations of this function, providing the ability to declare statements of conformance for business information.

ICS introduces the concept of a conformance model. A conformance model defines the collection semantics across multiple conformance mechanisms. This formal vocabulary of multiple conformance models allows for example, in the case of a messaging middleware environment, involved endpoints to support endpoint-specific validations based in XSLT [XSLT] transforms in order to reach higher interoperability levels beyond W3C XML Schemas standardized by industry consortiums due to both validation limitations in such schema, and design approaches reflected in the schema instances themselves such as cardinality, etc. In this case a ‘sequential’ model of conformance could be declared across the schema mechanism and the XPath mechanism. In a different situation, an ‘any’ conformance model could be declared to support information being considered conformant as long as the information conforms to at least one of a set of mechanisms.

The ICS vocabulary is extensible at specified extension points to allow alternate conformance models, type systems, and process mechanisms to be alternately defined beyond the intrinsic support.

Along with the actual information under consideration for an ICS, the actual usage context of the ICS specification is out of scope, but many uses are possible for many types of information. Formally stating information conformance using ICS also allows for trading partners to advertise the information constraint requirements needed for conducting electronic business, by embedding an ICS into partner agreements, registries, web site publishing, etc. An ICS may also be utilized within interaction middleware runtimes to check information conformance prior to application dispatch, or exchanged at runtime to express the information constraints for conducting electronic business with a specific partner.

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://examples.com/biics

The following namespaces are used in this specification:

Prefix

Namespace name

biics

http://examples.com/biics

2 Examples

The following simple example illustrates some uses of an ICS.

2.1 Multiple W3C XML Schemas Sequential Statement

In this example, a fictitious industry consortium, consortium.org, has defined a W3C XML Schema, which is intended for business interchanges for member profile information. The consortium has used design rules for the schema development that impose minimal cardinality constraints on instance document elements for business reasons of the involved consortium members.

A company has defined additional constraints which represent business rules reflective of requirements for B2B interactions by modifying a subset of an industry standard W3C XML Schema.

The ICS states that the information is considered conformant if compliant with the standard member.xsd W3C XML Schema defined by consortium.org, and also with the additional member_EducationRequired.xsd W3C XML Schema. This is supported by the use of a ConformanceSequence as the ConformanceModel. The ICS identifies the location of both the consortium.org’s schema and also the additional schema.

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

[2] <InformationConformanceStatement name="Education info required" xmlns="http://examples.com/biics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://examples.com/biics

[3] biics.xsd">

[4]   <Description>This Conformance statement declares that information is considered conformant if both of the schemas specified schemas successfully validate against the information in the order within the Conformance Sequence.</Description>

[5]     <ConformanceModel>

[6]       <ConformanceSequence>

[7]         <Conformance name="industry standard schema">

[8]         <Description>This schema is an industry standard with minimum constraints defined.</Description>

[9]           <TypeSystem>

[10]             <W3CXMLSchemaTypeSystem eiiNamespaceName="http://www.w3.org/2001/XMLSchema">

[11]               <InstanceLocation>./member.xsd</InstanceLocation>

[12]             </W3CXMLSchemaTypeSystem>

[13]           </TypeSystem>

[14]         </Conformance>

[15]         <Conformance name="further constrained schema">

[16]         <Description>This schema is a modified schema to be shared between specific partners. The schema further constrains the industry version of it in order to require fields needed between partners.</Description>

[17]           <TypeSystem>

[18]             <W3CXMLSchemaTypeSystem eiiNamespaceName="http://www.w3.org/2001/XMLSchema">

[19]               <InstanceLocation>./member_EducationRequired.xsd</InstanceLocation>

[20]             </W3CXMLSchemaTypeSystem>

[21]           </TypeSystem>

[22]         </Conformance>

[23]       </ConformanceSequence>

[24]     </ConformanceModel>

[25] </InformationConformanceStatement>

Lines (001) to (003) define the top-level element, namespaces, etc. The name attribute provides a simple label for the ICS.

Lines (004) provides a description for the ICS.

Lines (005) to (024) defines the model of conformance for the ICS. The model is defined as a sequential model via the ConformanceSequence on lines (006) to (023).

Lines (007) to (014) define the first conformance within the sequence. A simple name of the Conformance is defined on line (007) and a description of the Conformance is provided on line(008). This Conformance is a TypeSystem as defined on lines (009) to (013). The type system is a W3C XML Schema per lines (010) to (012). The eiiNamespaceName attribute on line (010) provides the schema namespace, identifying which W3C XML Schema vocabulary. The schema instance location is located as indicated on line (011).

Lines (015) to (022) define the second Conformance within the sequence. A simple name of the Conformance is provided on line (015) via the name attribute, and a description is provided on line (016). This Conformance is a TypeSystem and equivalent to the first Conformance in the sequence, except for the location of the schema.

2.2 W3C XML Schema And Schematron Schema Sequential Statement

In this example, as with the previous example, a company has defined additional constraints which represent business rules reflective of requirements for B2B interactions, however in this case, by defining a Schematron [Schematron] schema containing assertions.

The ICS states that the information is considered conformant if compliant with the standard member.xsd W3C XML Schema defined by consortium.org, and also with the educationrequiredassertion.xml Schematron schema.

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

[2] <InformationConformanceStatement name="Education info required." xmlns="http://examples.com/biics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://examples.com/biics

[3] biics.xsd">

[4]     <Description>This Conformance statement declares that information is considered conformant if the schema specified successfully validates against the information and the Schematron schema is successfully processed against the information in the order within the Conformance Sequence.</Description>

[5]     <ConformanceModel>

[6]       <ConformanceSequence>

[7]         <Conformance name="industry standard schema">

[8]          <Description>This schema is an industry standard with minimum constraints defined.</Description>

[9]           <TypeSystem>

[10]             <W3CXMLSchemaTypeSystem eiiNamespaceName="http://www.w3.org/2001/XMLSchema">

[11]               <InstanceLocation>./member.xsd</InstanceLocation>

[12]             </W3CXMLSchemaTypeSystem>

[13]           </TypeSystem>

[14]         </Conformance>

[15]         <Conformance name="Schematron assertions">

[16]          <Description>This Schematron schema defines assertions which further constrain the information.</Description>

[17]           <Process>

[18]             <SchematronSchema version="1.5">

[19]               <InstanceLocation>./educationrequiredassertion.xml</InstanceLocation>

[20]             </SchematronSchema>

[21]           </Process>

[22]         </Conformance>

[23]       </ConformanceSequence>

[24]     </ConformanceModel>

[25] </InformationConformanceStatement>

Lines (001) to (003) define the top-level element, namespaces, etc. The name attribute provides a simple label for the ICS.

Lines (004)  provides a description for the ICS.

Lines (005) to (024) defines the model of conformance for the ICS. The model is defined as a sequential model via the ConformanceSequence on lines (006) to (023).

Lines (007) to (014) define the first conformance within the sequence. A simple name of the Conformance is defined on line (007) and a description of the Conformance is provided on line(008). This Conformance is a TypeSystem as defined on lines (009) to (013). The type system is a W3C XML Schema per lines (010) to (012). The eiiNamespaceName attribute on line (010) provides the schema namespace, identifying which W3C XML Schema vocabulary. The schema instance location is located as indicated on line (011).

Lines (015) to (022) define the second Conformance within the sequence. A simple name of the Conformance is provided on line (015) via the name attribute, and a description is provided on line (016). Lines (017) to (021) define that this Conformance is a Process. Lines (018) to (020) define that this Conformance process is a Schematron schema. The version attribute on line(018) indicates Schematron version 1.5, and the location of the Schematron schema is defined on line (019).

2.3 Multiple MIME Type Any Statement

In the following example, a company has defined an ICS which states that information for a B2B interaction is considered conformant if the information conforms to either of two specified MIME types. This is supported by use of a ConformanceAny as the ConformanceModel.

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

[2] <InformationConformanceStatement name="Either jpg or gif is ok" xmlns="http://examples.com/biics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://examples.com/biics

[3] biics.xsd">

[4]   <Description>This Conformance statement declares that image information of MIME type jpg or gif constitute conformance.</Description>

[5]   <ConformanceModel>

[6]     <ConformanceAny>

[7]       <Conformance name="jpg">

[8]         <Description>jpg images are ok for processing.</Description>

[9]         <TypeSystem>

[10]           <MIMETypeSystem>image/jpg</MIMETypeSystem>

[11]         </TypeSystem>

[12]       </Conformance>

[13]       <Conformance name="gif">

[14]         <Description>gif images are ok fro processing.</Description>

[15]         <TypeSystem>

[16]           <MIMETypeSystem>image/gif</MIMETypeSystem>

[17]         </TypeSystem>

[18]       </Conformance>

[19]     </ConformanceAny>

[20]   </ConformanceModel>

[21] </InformationConformanceStatement>

Lines (001) to (003) define the top-level element, namespaces, etc. The name attribute provides a simple label for the ICS.

Lines (004)  provides a description for the ICS.

Lines (005) to (020) defines the model of conformance for the ICS. The model is defined as an any model via the ConformanceAny on lines (006) to (023).

Lines (007) to (012) define the first Conformance within the any ConformanceModel. A simple name of the Conformance is defined on line (007) and a description of the Conformance is provided on line (008). This Conformance is a TypeSystem as defined on lines (009) to (011). The type system is the MIME type system per line (010). The content of line (010) defines the MIME type.

Lines (013) to (018) define the second Conformance within the any ConformanceModel. A simple name of the Conformance is provided on line (013) via the name attribute, and a description is provided on line (014). The Conformance is a TypeSystem as defined on lines (015) to (017). The type system is the MIME type system per line (016). The content of line (016) defines the MIME type.

3 Structure

The following defines a non-normative ICS vocabulary structure using XML 1.0 occurrence and sequence indicators, where <*> indicates vocabulary extension points.

<InformationConformanceStatement name>

    <Description?>

    <ConformanceModel>

    (<ConformanceSequence>

         <Conformance+ name>

         <Description?>

         (<TypeSystem>

             (<W3CXMLSchemaTypeSystem eiiNamespaceName><InstanceLocation>|<MIMETypeSystem>|<*>)

          |<Process>         

             (<SchematronSchema version><InstanceLocation>|<*>)

          |<*>)

      |<ConformanceAny>

         <Conformance+ name>

         <Description?>

         (<TypeSystem>

             (<W3CXMLSchemaTypeSystem eiiNamespaceName><InstanceLocation>|<MIMETypeSystem>|<*>)

          |<Process>         

             (<SchematronSchema version><InstanceLocation>|<*>)

          |<*>)

      |<*>)

4 Structural Semantics

This section defines the normative ICS vocabulary semantics as defined using W3C XML Schema representation.

4.1 element InformationConformanceStatement

The InformationConformanceStatement element is the single root element for instance documents. The InformationConformanceStatement element is defined by the InformationConformanceStatementType.

<xs:element name="InformationConformanceStatement" type="biics:InformationConformanceStatementType">

</xs:element>

4.2 complexType InformationConformanceStatementType

Elements typed as InformationConformanceStatementType define the top-level element for a InformationConformanceStatement instance document. An ICS may contain a simple name and/or a description, and must contain a ConformanceModel element. The local ConformanceModel element is defined by the global ConformanceModelType type.

<xs:complexType name="InformationConformanceStatementType">

  <xs:sequence>

    <xs:element name="Description" minOccurs="0">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:element>

    <xs:element name="ConformanceModel" type="biics:ConformanceModelType"/>

  </xs:sequence>

  <xs:attribute name="name" use="optional">

    <xs:simpleType>

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

        <xs:minLength value="1"/>

        <xs:maxLength value="30"/>

      </xs:restriction>

    </xs:simpleType>

  </xs:attribute>

</xs:complexType>

4.3 complexType ConformanceContainerType

Elements typed as ConformanceContainerType must contain at least one local Conformance element. Local Conformance elements are defined by the global ConformanceType type. The ConformanceContainerType type is defined using a W3C XML Schema sequence structure for the set of local Conformance elements. However, this sequence is only structural in nature and does not imply a sequential processing model. The processing semantics of the set of local Conformance elements is determined by the element which is typed as ConformanceContainerType.

<xs:complexType name="ConformanceContainerType">

  <xs:sequence>

    <xs:element name="Conformance" type="biics:ConformanceType" maxOccurs="unbounded"/>

  </xs:sequence>

</xs:complexType>

4.4 element ConformanceContainerType/Conformance

The local element Conformance of elements typed as ConformanceContainerType is defined by the global ConformanceType type.

<xs:element name="Conformance" type="biics:ConformanceType" maxOccurs="unbounded"/>

4.5 complexType ConformanceModelType

Elements typed as ConformanceModelType must contain either a local ConformanceSequence element, a ConformanceAny element, or extensibility elements.

<xs:complexType name="ConformanceModelType">

  <xs:choice>

    <xs:element name="ConformanceSequence" type="biics:ConformanceContainerType"/>

    <xs:element name="ConformanceAny" type="biics:ConformanceContainerType"/>

    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

  </xs:choice>

</xs:complexType>

4.6 element ConformanceModelType/ConformanceSequence

The local element ConformanceSequence of elements typed as ConformanceModelType are structurally defined by the ConformanceContainerType type. ConformanceSequence elements declare that the Conformance elements within the ConformanceSequence element must be considered in order as represented in the instance document during conformance processing. Processing of each Conformance element must be successful in order for the information under consideration during InformationConformanceStatement processing to be considered conformant.

<xs:element name="ConformanceSequence" type="biics:ConformanceContainerType"/>

4.7 element ConformanceModelType/ConformanceAny

The local element ConformanceAny of elements typed as ConformanceModelType are structurally defined by the ConformanceContainerType type. Elements typed as ConformanceModelType which contain a local ConformanceAny element declare that the Conformance elements within the ConformanceAny element may be considered in any order as represented in the instance document during conformance processing. Processing of at least one Conformance element must be successful in order for the information under consideration during InformationConformanceStatement processing to be considered conformant.

<xs:element name="ConformanceAny" type="biics:ConformanceContainerType"/>

4.8 complexType ConformanceType

Elements typed as ConformanceType declare a mechanism of conformance for the information under consideration.

Elements typed as ConformanceType may have a description. Elements typed as ConformanceType must have a name attribute. The name attribute must be unique within the InformationConformanceStatement instance document.

Elements typed as ConformanceType must contain either a local TypeSystem element, Process element, or an extensibility element.

<xs:complexType name="ConformanceType">

  <xs:sequence>

    <xs:element name="Description" minOccurs="0">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:element>

    <xs:choice>

      <xs:element name="TypeSystem" type="biics:TypeSystemType"/>

      <xs:element name="Process" type="biics:ProcessType"/>

      <xs:any namespace="##other" processContents="lax"/>

    </xs:choice>

  </xs:sequence>

  <xs:attribute name="name" use="required">

    <xs:simpleType>

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

        <xs:minLength value="1"/>

      </xs:restriction>

    </xs:simpleType>

  </xs:attribute>

</xs:complexType>

4.9 element ConformanceType/Description

Local Description elements of elements typed as ConformanceType provide a simple description.

<xs:element name="Description" minOccurs="0">

  <xs:simpleType>

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

      <xs:minLength value="1"/>

    </xs:restriction>

  </xs:simpleType>

</xs:element>

4.10 element ConformanceType/TypeSystem

Local TypeSystem elements of elements typed as ConformanceType type are defined by the global TypeSystemType type.

<xs:element name="TypeSystem" type="biics:TypeSystemType"/>

4.11 element ConformanceType/Process

Local Process elements of elements typed as ConformanceType type are defined by the global ProcessType type.

<xs:element name="Process" type="biics:ProcessType"/>

4.12 element InformationConformanceStatementType/Description

Local Description elements of elements typed as InformationConformanceStatementType provide a simple description.

<xs:element name="Description" minOccurs="0">

  <xs:simpleType>

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

      <xs:minLength value="1"/>

    </xs:restriction>

  </xs:simpleType>

</xs:element>

4.13 element InformationConformanceStatementType/ConformanceModel

Local ConformanceModel elements of elements typed as InformationConformanceStatementType are defined by the global ConformanceModelType type.

<xs:element name="ConformanceModel" type="biics:ConformanceModelType"/>

4.14 complexType ProcessType

Elements typed as ProcessType define a compliance mechanism which indicates some form of execution. Elements typed as ProcessType must contain either a local SchematronSchema element or an extensibility element.

<xs:complexType name="ProcessType">

  <xs:choice>

    <xs:element name="SchematronSchema" type="biics:SchematronSchemaType"/>

    <xs:any namespace="##other" processContents="lax"/>

  </xs:choice>

</xs:complexType>

4.15 element ProcessType/SchematronSchema

Local SchematronSchema elements of elements typed as ProcessType are defined by the global SchematronSchemaType.

<xs:element name="SchematronSchema" type="biics:SchematronSchemaType"/>

4.16 complexType SchematronSchemaType

Elements typed as SchematronSchemaType provide conformance support for the Schematron [Schematron] schema assertion language. The version attribute specifies the Schematron assertion vocabulary version as defined in the version attribute of the schema element defined in the “http://www.ascc.net/xml/schematron” namespace name (ex: “1.5”); Elements typed as SchematronSchemaType must contain a local InstanceLocation element.

<xs:complexType name="SchematronSchemaType">

  <xs:sequence>

    <xs:element name="InstanceLocation">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:element>

  </xs:sequence>

  <xs:attribute name="version" use="required">

    <xs:simpleType>

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

        <xs:minLength value="1"/>

      </xs:restriction>

    </xs:simpleType>

  </xs:attribute>

</xs:complexType>

4.17 element SchematronSchemaType/InstanceLocation

The local element InstanceLocation of elements typed as SchematronSchemaType provide a resource identifier for the Schematron schema assertion document.

<xs:element name="InstanceLocation">

  <xs:simpleType>

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

      <xs:minLength value="1"/>

    </xs:restriction>

  </xs:simpleType>

</xs:element>

4.18 complexType TypeSystemType

Elements typed as TypeSystemType define a compliance mechanism which indicates adherence to a type system. Elements typed as TypeSystemType must contain either a local W3CXMLSchemaTypeSystem [XMLSchema1] element, a MIMETypeSystemType element, or an extensibility element.

<xs:complexType name="TypeSystemType">

  <xs:choice>

    <xs:element name="W3CXMLSchemaTypeSystem" type="biics:W3CXMLSchemaTypeSystemType">

    </xs:element>

    <xs:element name="MIMETypeSystem" type="biics:MIMETypeSystemType">

    </xs:element>

    <xs:any namespace="##other" processContents="lax">

    </xs:any>

  </xs:choice>

</xs:complexType>

4.19 element TypeSystemType/W3CXMLSchemaTypeSystem

Local W3CXMLSchemaTypeSystem elements of elements typed as TypeSystemType are defined by the global W3CXMLSchemaTypeSystemType type.

<xs:element name="W3CXMLSchemaTypeSystem" type="biics:W3CXMLSchemaTypeSystemType">

</xs:element>

4.20 element TypeSystemType/MIMETypeSystem

Local MIMETypeSystem elements of elements typed as TypeSystemType are defined by the global MIMETypeSystemType type.

<xs:element name="MIMETypeSystem" type="biics:MIMETypeSystemType">

</xs:element>

4.21 complexType W3CXMLSchemaTypeSystemType

Elements typed as W3CXMLSchemaTypeSystemType provide support for conformance with a W3C XML Schema instance for the information under consideration. The eiiNamespaceName attribute specifies the namespace for which all the element information items in the XML representation of the schema must be defined. An example is "http://www.w3.org/2001/XMLSchema". Elements typed as W3CXMLSchemaTypeSystemType must have a local Instancelocation element.

<xs:complexType name="W3CXMLSchemaTypeSystemType">

  <xs:sequence>

    <xs:element name="InstanceLocation">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:element>

  </xs:sequence>

  <xs:attribute name="eiiNamespaceName" type="xs:anyURI" use="required">

  </xs:attribute>

</xs:complexType>

4.22 element W3CXMLSchemaTypeSystemType/InstanceLocation

The local element InstanceLocation of elements typed as W3CXMLSchemaTypeSystemType provide a resource identifier for the W3C XML Schema instance.

<xs:element name="InstanceLocation">

  <xs:simpleType>

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

      <xs:minLength value="1"/>

    </xs:restriction>

  </xs:simpleType>

</xs:element>

4.23 simpleType MIMETypeSystemType

Elements typed as MIMETypeSystem define business information conformant with the MIME media type system. The value of the element must have a value defined by section 5.1 of RFC 2045 [RFC2045] and RFC 2046 [RFC2046].

<xs:simpleType name="MIMETypeSystemType">

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

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

  </xs:restriction>

</xs:simpleType>

5 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

[XPath]

XML Linking Language (XLink) Version 1.0, http://www.w3.org/TR/2001/REC-xlink-20010627/

[XSLT]

XSL Transformations (XSLT) Version 1.0, http://www.w3.org/TR/xslt

[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/

[Schematron]

An XML Structure Validation Language using Patterns in Trees, http://www.ascc.net/xml/resource/schematron

[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"?>

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

Business Integration - Information Conformance Statements

Version 1.0

Copyright Notice

© 2004 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://examples.com/biics" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:biics="http://examples.com/biics" elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:element name="InformationConformanceStatement" type="biics:InformationConformanceStatementType"/>

  <xs:complexType name="InformationConformanceStatementType">

    <xs:sequence>

      <xs:element name="Description" minOccurs="0">

        <xs:simpleType>

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

            <xs:minLength value="1"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

      <xs:element name="ConformanceModel" type="biics:ConformanceModelType"/>

    </xs:sequence>

    <xs:attribute name="name" use="optional">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

          <xs:maxLength value="30"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:attribute>

  </xs:complexType>

  <xs:complexType name="ConformanceModelType">

    <xs:choice>

      <xs:element name="ConformanceSequence" type="biics:ConformanceContainerType"/>

      <xs:element name="ConformanceAny" type="biics:ConformanceContainerType"/>

      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

    </xs:choice>

  </xs:complexType>

  <xs:complexType name="ConformanceContainerType">

    <xs:sequence>

      <xs:element name="Conformance" type="biics:ConformanceType" maxOccurs="unbounded"/>

    </xs:sequence>

  </xs:complexType>

  <xs:complexType name="ConformanceType">

    <xs:sequence>

      <xs:element name="Description" minOccurs="0">

        <xs:simpleType>

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

            <xs:minLength value="1"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

      <xs:choice>

        <xs:element name="TypeSystem" type="biics:TypeSystemType"/>

        <xs:element name="Process" type="biics:ProcessType"/>

        <xs:any namespace="##other" processContents="lax"/>

      </xs:choice>

    </xs:sequence>

    <xs:attribute name="name" use="required">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:attribute>

  </xs:complexType>

  <xs:complexType name="TypeSystemType">

    <xs:choice>

      <xs:element name="W3CXMLSchemaTypeSystem" type="biics:W3CXMLSchemaTypeSystemType"/>

      <xs:element name="MIMETypeSystem" type="biics:MIMETypeSystemType"/>

      <xs:any namespace="##other" processContents="lax"/>

    </xs:choice>

  </xs:complexType>

  <xs:complexType name="W3CXMLSchemaTypeSystemType">

    <xs:sequence>

      <xs:element name="InstanceLocation">

        <xs:simpleType>

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

            <xs:minLength value="1"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

    </xs:sequence>

    <xs:attribute name="eiiNamespaceName" type="xs:anyURI" use="required">

    </xs:attribute>

  </xs:complexType>

  <xs:simpleType name="MIMETypeSystemType">

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

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

    </xs:restriction>

  </xs:simpleType>

  <xs:complexType name="ProcessType">

    <xs:choice>

      <xs:element name="SchematronSchema" type="biics:SchematronSchemaType"/>

      <xs:any namespace="##other" processContents="lax"/>

    </xs:choice>

  </xs:complexType>

  <xs:complexType name="SchematronSchemaType">

    <xs:sequence>

      <xs:element name="InstanceLocation">

        <xs:simpleType>

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

            <xs:minLength value="1"/>

          </xs:restriction>

        </xs:simpleType>

      </xs:element>

    </xs:sequence>

    <xs:attribute name="version" use="required">

      <xs:simpleType>

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

          <xs:minLength value="1"/>

        </xs:restriction>

      </xs:simpleType>

    </xs:attribute>

  </xs:complexType>

</xs:schema>

.