[Source: ftp://www6.software.ibm.com/software/developer/library/x-biics/BI-ICSSpec_v1.html]
Scott Hinkelman, IBM
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.
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.
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.
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
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.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
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.
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].
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 |
The following simple example illustrates some uses of an ICS.
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
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.
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
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).
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
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.
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>|<*>)
|<*>)
|<*>)
This section defines the normative ICS vocabulary semantics as defined
using W3C XML Schema representation.
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>
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>
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>
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"/>
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>
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"/>
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"/>
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>
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>
Local TypeSystem elements of
elements typed as ConformanceType type are defined by the global TypeSystemType
type.
<xs:element
name="TypeSystem" type="biics:TypeSystemType"/>
Local Process elements of
elements typed as ConformanceType type are defined by the global ProcessType
type.
<xs:element
name="Process" type="biics:ProcessType"/>
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>
Local ConformanceModel elements
of elements typed as InformationConformanceStatementType are defined by the
global ConformanceModelType type.
<xs:element
name="ConformanceModel"
type="biics:ConformanceModelType"/>
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>
Local SchematronSchema
elements of elements typed as ProcessType are defined by the global
SchematronSchemaType.
<xs:element
name="SchematronSchema"
type="biics: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>
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>
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>
Local W3CXMLSchemaTypeSystem elements of elements typed as TypeSystemType are defined by the global W3CXMLSchemaTypeSystemType type.
<xs:element name="W3CXMLSchemaTypeSystem" type="biics:W3CXMLSchemaTypeSystemType">
</xs:element>
Local MIMETypeSystem elements of elements typed as TypeSystemType are defined by the global MIMETypeSystemType type.
<xs:element name="MIMETypeSystem" type="biics:MIMETypeSystemType">
</xs:element>
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>
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>
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>
S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels," RFC 2119,
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
XML Linking Language (XLink) Version 1.0, http://www.w3.org/TR/2001/REC-xlink-20010627/
XSL Transformations (XSLT) Version 1.0, http://www.w3.org/TR/xslt
W3C Recommendation, Namespaces
in XML, http://www.w3.org/TR/1999/REC-xml-names-19990114
Extensible Markup Language (XML) 1.0 (Second
Edition), http://www.w3.org/TR/REC-xml
W3C Recommendation, XML Schema Part 1: Structures, http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/
W3C Recommendation, XML Schema Part 2: Datatypes, http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/
An XML Structure Validation Language using Patterns in Trees, http://www.ascc.net/xml/resource/schematron
A Multipurpose Internet Mail Extensions (MIME) Part One, Format
of Internet Message Bodies, http://www.ietf.org/rfc/rfc2045.txt?number=2045
A Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, http://www.ietf.org/rfc/rfc2046.txt?number=2046
<?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>
.