<xsd:schema
xmlns = "http://www.wbf.org/xml/B2MML-V0401"
xmlns:Extended = "http://www.wbf.org/xml/B2MML-V0401-AllExtensions"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
targetNamespace = "http://www.wbf.org/xml/B2MML-V0401"
elementFormDefault = "qualified"
attributeFormDefault = "unqualified">
<!-- Include the Core Components schema in the default namespace -->
<xsd:include schemaLocation = "B2MML-V0401-CoreComponents.xsd"/>
<!-- Import the Common Extension Schema -->
<xsd:import namespace = "http://www.wbf.org/xml/B2MML-V0401-AllExtensions"
schemaLocation = "B2MML-V0401-CommonExtensions.xsd"/>
<xsd:annotation>
<xsd:documentation>
Copyright 2008 WBF. All Rights Reserved. http://www.wbf.org
This WBF Work (including specifications, documents,
software, and related items) referred to as the Business To
Manufacturing Markup Language (B2MML) is provided by the copyright
holders under the following license.
Permission to use, copy, modify, or redistribute this Work and its
documentation, with or without modification, for any purpose and
without fee or royalty is hereby granted provided the World Batch
Forum is acknowledged as the originator of this Work using the
following statement:
"The Business To Manufacturing Markup Language (B2MML) is used
courtesy of WBF."
In no event shall the WBF, its members, or any
third party be liable for any costs, expenses, losses, damages or
injuries incurred by use of the Work or as a result of this
agreement.
Based upon the ANSI/ISA-95.00.02-2001 Enterprise-Control System
Integration Part 2: Object Model Attributes Standard and the
ANSI/ISA-95.00.05-2006 Enterprise-Control System Integration
Part 5: Business to Manufacturing Transactions.
</xsd:documentation>
<xsd:documentation>
Revision History
Ver Date Person Note
--- ---- ------ ----
V01 7 Apr 2002 D. Emerson - Initial release
V02 23 Sept 2003 D. Emerson - Updated filename for V02
- Changed complexTypes that contained
simpleContent to be simpleTypes with
simpleContent by default (removed explicit)
simpleContent tags). Types changed:
CapabilityType1Type, DataType1Type,
DependencyType
- Removed extra space in CapabilityType1Type
- Committed and Available enumerations
- Changed use of ##any to indirect reference
through AnyType, to allow parsing using Microsoft
XML toolset
- Added Common schema to B2MML namespace
- Add choice of ProductSegmentID or ProcessSegmentID
to SegmentDependencyType per comment BillS01.
- Change maxOccurs from "1" to "unbounded" for
Result in TestResultType.
- Remove UnitOfMeasure from TestResultType since it
is already in ResultType
- Added EnumerationID to DataTypeType to permit
identification an enumeration list when the datatype
is Enumeration.
- Added revision to namespace
- Added new element ValueString to ResultType to
contain the vaule of the result.
V0201 04 Nov 2003 D. Emerson - Added minOccurs = "0" maxOccurs = "unbounded" to
- Any element in ValueType
v0300 26 Aug 2005 D. Emerson - Added substitution groups. One group added just
before each Any element.
- Add dateTime and SVG to datatype enumeration list.
- Add new, optional, element, "Key" based on IDType
to complexTypes QuantityType, ResultType, ValueType.
- Added UnitOfMeasure to ResultType as a mandatory element.
- Made mandatory to be consistent with its use in quantity
and value - this will impact upgrades from earlier versions.
- Add enumerations to EquipmentElementLevel1Type
StorageZone, StorageUnit, WorkCenter, WorkUnit
v0301 29 Dec 2005 D. Brandl - Changed verison number to v0301
v04 04 Jun 2007 D. Brandl - Added transaction elements for ISA 95 Part 5 support.
- Added "cc:" namespace for UN/CEFACT core types.
- Added the UN/CEFACT core components with optional attributes
and made them the base types for the B2MML types.
- Changed SegmentStateType to ResponseStateType for inclusion in all
levels of the ProductionPerformance element
- Enumerated types are now complexTypes declared as simpleContent
- Added warning before each use of the AnyType that the extension
schema should be used instead of the Any element and that in a
still to be determined future release of B2MML the AnyType and
- Notice that "Any" element will be removed.
V0401 01 Oct 2008 D. Brandl Revised version
Added nillable=true to elements in QuantityValueType, ResultType
and ValueType
</xsd:documentation>
</xsd:annotation>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- B2MML Common Component Elements - - - - - - - - - - - - - -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "AnyGenericValueType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name = "currencyID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "currencyCodeListVersionID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "encodingCode" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "format" type="xsd:string" use="optional"/>
<xsd:attribute name = "characterSetCode" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "listID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "listAgencyID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "listAgencyName" type="xsd:string" use="optional"/>
<xsd:attribute name = "listName" type="xsd:string" use="optional"/>
<xsd:attribute name = "listVersionID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "languageID" type="xsd:language" use="optional"/>
<xsd:attribute name = "languageLocaleID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "listURI" type="xsd:anyURI" use="optional"/>
<xsd:attribute name = "listSchemaURI" type="xsd:anyURI" use="optional"/>
<xsd:attribute name = "mimeCode" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "name" type="xsd:string" use="optional"/>
<xsd:attribute name = "schemaID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "schemaName" type="xsd:string" use="optional"/>
<xsd:attribute name = "schemaAgencyID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "schemaAgencyName" type="xsd:string" use="optional"/>
<xsd:attribute name = "schemaVersionID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "schemaDataURI" type="xsd:anyURI" use="optional"/>
<xsd:attribute name = "schemaURI" type="xsd:anyURI" use="optional"/>
<xsd:attribute name = "unitCode" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "unitCodeListID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "unitCodeListAgencyID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "unitCodeListAgencyName" type="xsd:string" use="optional"/>
<xsd:attribute name = "unitCodeListVersionID" type="xsd:normalizedString" use="optional"/>
<xsd:attribute name = "filename" type="xsd:string" use="optional"/>
<xsd:attribute name = "uri" type="xsd:anyURI" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ActualFinishTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ActualStartTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ActualEndTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:complexType name = "AnyType">
<xsd:sequence>
<xsd:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "BillOfResourcesIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "BillOfMaterialIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "BillOfMaterialsIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "CapabilityType1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Committed"/>
<xsd:enumeration value="Available"/>
<xsd:enumeration value="Unattainable"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "CapabilityTypeType">
<xsd:simpleContent>
<xsd:extension base="CapabilityType1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "CauseType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "CertificateOfAnalysisReferenceType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ConsumableType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "CorrectionType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "DataType1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Amount"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="BinaryObject"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Code"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="DateTime"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Identifier"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Indicator"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Measure"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Numeric"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Quantity"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="Text"/> <!-- UN/CEFACT Core Component Type -->
<xsd:enumeration value="string"/>
<xsd:enumeration value="byte"/>
<xsd:enumeration value="unsignedByte"/>
<xsd:enumeration value="binary"/>
<xsd:enumeration value="integer"/>
<xsd:enumeration value="positiveInteger"/>
<xsd:enumeration value="negativeInteger"/>
<xsd:enumeration value="nonNegativeInteger"/>
<xsd:enumeration value="nonPositiveInteger"/>
<xsd:enumeration value="int"/>
<xsd:enumeration value="unsignedInt"/>
<xsd:enumeration value="long"/>
<xsd:enumeration value="unsignedLong"/>
<xsd:enumeration value="short"/>
<xsd:enumeration value="unsignedShort"/>
<xsd:enumeration value="decimal"/>
<xsd:enumeration value="float"/>
<xsd:enumeration value="double"/>
<xsd:enumeration value="boolean"/>
<xsd:enumeration value="time"/>
<xsd:enumeration value="timeInstant"/>
<xsd:enumeration value="timePeriod"/>
<xsd:enumeration value="duration"/>
<xsd:enumeration value="date"/>
<xsd:enumeration value="dateTime"/>
<xsd:enumeration value="month"/>
<xsd:enumeration value="year"/>
<xsd:enumeration value="century"/>
<xsd:enumeration value="recurringDay"/>
<xsd:enumeration value="recurringDate"/>
<xsd:enumeration value="recurringDuration"/>
<xsd:enumeration value="Name"/>
<xsd:enumeration value="QName"/>
<xsd:enumeration value="NCName"/>
<xsd:enumeration value="uriReference"/>
<xsd:enumeration value="language"/>
<xsd:enumeration value="ID"/>
<xsd:enumeration value="IDREF"/>
<xsd:enumeration value="IDREFS"/>
<xsd:enumeration value="ENTITY"/>
<xsd:enumeration value="ENTITIES"/>
<xsd:enumeration value="NOTATION"/>
<xsd:enumeration value="NMTOKEN"/>
<xsd:enumeration value="NMTOKENS"/>
<xsd:enumeration value="Enumeration"/>
<xsd:enumeration value="SVG"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "DataTypeType">
<xsd:simpleContent>
<xsd:extension base="DataType1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "Dependency1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="NotFollow"/>
<xsd:enumeration value="PossibleParallel"/>
<xsd:enumeration value="NotInParallel"/>
<xsd:enumeration value="AtStart"/>
<xsd:enumeration value="AfterStart"/>
<xsd:enumeration value="AfterEnd"/>
<xsd:enumeration value="NoLaterAfterStart"/>
<xsd:enumeration value="NoEarlierAfterStart"/>
<xsd:enumeration value="NoLaterAfterEnd"/>
<xsd:enumeration value="NoEarlierAfterEnd"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "DependencyType">
<xsd:simpleContent>
<xsd:extension base="Dependency1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "DescriptionType">
<xsd:simpleContent>
<xsd:restriction base="TextType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name = "DurationType">
<xsd:restriction base="xsd:duration"/>
</xsd:simpleType>
<xsd:complexType name = "EarliestStartTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "EndTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "EquipmentCapabilityTestSpecificationIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "EquipmentClassIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "EquipmentElementLevel1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Enterprise"/>
<xsd:enumeration value="Site"/>
<xsd:enumeration value="Area"/>
<xsd:enumeration value="ProcessCell"/>
<xsd:enumeration value="Unit"/>
<xsd:enumeration value="ProductionLine"/>
<xsd:enumeration value="WorkCell"/>
<xsd:enumeration value="ProductionUnit"/>
<xsd:enumeration value="StorageZone"/>
<xsd:enumeration value="StorageUnit"/>
<xsd:enumeration value="WorkCenter"/>
<xsd:enumeration value="WorkUnit"/>
<!-- Added for BatchML V0401 -->
<xsd:enumeration value = "EquipmentModule" />
<xsd:enumeration value = "ControlModule" />
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "EquipmentElementLevelType">
<xsd:simpleContent>
<xsd:extension base="EquipmentElementLevel1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "EquipmentIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ExpirationTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "LatestEndTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "LocationType">
<xsd:sequence>
<xsd:element name = "EquipmentID" type="EquipmentIDType"/>
<xsd:element name = "EquipmentElementLevel" type="EquipmentElementLevelType"/>
<xsd:element name = "Location" type="LocationType" minOccurs="0"/>
<xsd:group ref = "Extended:Location" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name = "Any" type="AnyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "MaintenanceRequestIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaintenanceResponseIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaintenanceWorkOrderIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaterialClassIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaterialDefinitionIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaterialLotIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaterialSubLotIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaterialUse1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Consumed"/>
<xsd:enumeration value="Produced"/>
<xsd:enumeration value="Consumable"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "MaterialUseType">
<xsd:simpleContent>
<xsd:extension base="MaterialUse1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- redundant definition, already done in core component schema
***********************************************************************8 delete this comment for release
<xsd:complexType name = "NameType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
-->
<xsd:complexType name = "OtherDependencyType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ParameterIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ParameterType">
<xsd:sequence>
<xsd:element name = "ID" type="IdentifierType"/>
<xsd:element name = "Value" type="ValueType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name = "Description" type="DescriptionType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name = "Parameter" type="ParameterType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:group ref = "Extended:Parameter" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name = "Any" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "PersonnelClassIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PersonIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PersonNameType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PlannedFinishTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PlannedStartTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PriorityType">
<xsd:simpleContent>
<xsd:restriction base="NumericType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProblemType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProcessSegmentIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProductionScheduleIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProductProductionRuleIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProductProductionRuleType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProductionRequestIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ProductSegmentIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PropertyIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "PublishedDateType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "QAMaterialTestSpecificationIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "QualificationTestSpecificationIDType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "QuantityStringType">
<xsd:simpleContent>
<xsd:restriction base="AnyGenericValueType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "QuantityValueType">
<xsd:sequence>
<xsd:element name = "QuantityString" type="QuantityStringType" nillable="true"/>
<xsd:element name = "DataType" type="DataTypeType" nillable="true"/>
<xsd:element name = "UnitOfMeasure" type="UnitOfMeasureType" nillable="true"/>
<xsd:element name = "Key" type = "IdentifierType"
minOccurs="0" maxOccurs="1" />
<xsd:group ref = "Extended:Quantity" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name = "Any" type="AnyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "ReasonType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequestedCompletionDateType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequestedPriorityType">
<xsd:simpleContent>
<xsd:restriction base="NumericType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequestorType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequestState1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Forecast"/>
<xsd:enumeration value="Released"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequestStateType">
<xsd:simpleContent>
<xsd:extension base="RequestState1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequiredByRequestedSegmentResponse1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Required"/>
<xsd:enumeration value="Optional"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "RequiredByRequestedSegmentResponseType">
<xsd:simpleContent>
<xsd:extension base="RequiredByRequestedSegmentResponse1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ResourcesType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ResponsiblePersonType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ResponseState1Type">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Ready"/>
<xsd:enumeration value="Running"/>
<xsd:enumeration value="Completed"/>
<xsd:enumeration value="Aborted"/>
<xsd:enumeration value="Holding"/>
<xsd:enumeration value="Other"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ResponseStateType">
<xsd:simpleContent>
<xsd:extension base="ResponseState1Type">
<xsd:attribute name = "OtherValue" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ResultType">
<xsd:sequence>
<xsd:element name = "ValueString" type="ValueStringType" nillable="true"/>
<xsd:element name = "DataType" type="DataTypeType" nillable="true"/>
<xsd:element name = "UnitOfMeasure" type = "UnitOfMeasureType" nillable="true"/>
<xsd:element name = "Key" type = "IdentifierType"
minOccurs="0" maxOccurs="1"/>
<xsd:group ref = "Extended:Result" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name = "Any" type="AnyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "ReviewerType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "SegmentDependencyType">
<xsd:sequence>
<xsd:element name = "ID" type="IdentifierType"/>
<xsd:element name = "Description" type="DescriptionType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name = "Dependency" type="DependencyType"/>
<xsd:element name = "TimingFactor" type="ValueType" minOccurs="0"/>
<xsd:choice>
<xsd:element name = "ProductSegmentID" type="ProductSegmentIDType"/>
<xsd:element name = "ProcessSegmentID" type="ProcessSegmentIDType"/>
</xsd:choice>
<xsd:group ref = "Extended:SegmentDependency" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name = "Any" type="AnyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "SubmissionDateType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "StartTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "StatusTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "StatusType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "StorageLocationType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "TestDateTimeType">
<xsd:simpleContent>
<xsd:restriction base="DateTimeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "TestResultType">
<xsd:sequence>
<xsd:element name = "ID" type="IdentifierType" minOccurs="0"/>
<xsd:element name = "Description" type="DescriptionType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name = "TestDateTime" type="TestDateTimeType" minOccurs="0"/>
<xsd:element name = "Result" type="ResultType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name = "ExpirationTime" type="ExpirationTimeType" minOccurs="0"/>
<xsd:group ref = "Extended:TestResult" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name = "Any" type="AnyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "UnitOfMeasureType">
<xsd:simpleContent>
<xsd:restriction base="CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ValueStringType">
<xsd:simpleContent>
<xsd:restriction base="AnyGenericValueType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "ValueType">
<xsd:sequence>
<xsd:element name ="ValueString" type="ValueStringType" nillable="true"/>
<xsd:element name ="DataType" type="DataTypeType" nillable="true"/>
<xsd:element name ="UnitOfMeasure" type="UnitOfMeasureType" nillable="true"/>
<xsd:element name ="Key" type = "IdentifierType"
minOccurs="0" maxOccurs="1"/>
<xsd:group ref ="Extended:Value" minOccurs="0" maxOccurs="1"/>
<!-- Added in V04 - The Any element should not be used in new schemas. This extension schema should be used to add user defined
elements to B2MML documents. In a future release the Any element will be removed from B2MML. -->
<xsd:element name ="Any" type="AnyType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "VersionType">
<xsd:simpleContent>
<xsd:restriction base="IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- Transaction elements - Supporting ISA-95 Part 5 - - - - -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransAcknowledgeType">
<xsd:sequence>
<xsd:element name = "OriginalApplicationArea" type="TransApplicationAreaType"
minOccurs="0"/>
<xsd:element name = "ResponseCriteria" type="TransResponseCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:simpleType name = "TransActionCodeType">
<xsd:union memberTypes = "TransActionCodeEnumerationType xsd:normalizedString"/>
</xsd:simpleType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:simpleType name = "TransActionCodeEnumerationType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Add"/>
<xsd:enumeration value="Change"/>
<xsd:enumeration value="Delete"/>
<xsd:enumeration value="Replaced"/>
<xsd:enumeration value="Accepted"/>
<xsd:enumeration value="Modified"/>
<xsd:enumeration value="Rejected"/>
</xsd:restriction>
</xsd:simpleType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransActionCriteriaType">
<xsd:sequence>
<xsd:element name = "ActionExpression" type="TransExpressionType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransApplicationAreaType">
<xsd:sequence>
<xsd:element name = "Sender" type="TransSenderType" minOccurs="0"/>
<xsd:element name = "CreationDateTime" type="DateTimeType"/>
<xsd:element name = "Signature" type="TransSignatureType" minOccurs="0"/>
<xsd:element name = "BODID" type="IdentifierType" minOccurs="0"/>
<xsd:element name = "UserArea" type="TransUserAreaType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransCancelType">
<xsd:sequence>
<xsd:element name = "ActionCriteria" type="TransActionCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransChangeType">
<xsd:sequence>
<xsd:element name = "ActionCriteria" type="TransActionCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name = "responseCode" type="TransResponseCodeType" use="optional"/>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransConfirmationCodeType">
<xsd:simpleContent>
<xsd:restriction base="CodeType">
<xsd:enumeration value="Always"/>
<xsd:enumeration value="Never"/>
<xsd:enumeration value="OnError"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransConfirmType">
<xsd:sequence>
<xsd:element name = "OriginalApplicationArea" type="TransApplicationAreaType"
minOccurs="0"/>
<xsd:element name = "ResponseCriteria" type="TransResponseCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransExpression1Type">
<xsd:simpleContent>
<xsd:extension base="xsd:token">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "TransExpressionType">
<xsd:simpleContent>
<xsd:extension base="TransExpression1Type">
<xsd:attribute name = "actionCode" type="TransActionCodeType" use="required"/>
<xsd:attribute name = "expressionLanguage" type="xsd:token" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransGetType">
<xsd:sequence>
<xsd:element name = "Expression" type="xsd:token"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransProcessType">
<xsd:sequence>
<xsd:element name = "ActionCriteria" type="TransActionCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name = "acknowledgeCode" type="TransResponseCodeType" use="optional"/>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransRespondType">
<xsd:sequence>
<xsd:element name = "OriginalApplicationArea" type="TransApplicationAreaType" minOccurs="0"/>
<xsd:element name = "ResponseCriteria" type="TransResponseCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:simpleType name = "TransResponseCodeType">
<xsd:restriction base="xsd:normalizedString">
<xsd:enumeration value="Always"/>
<xsd:enumeration value="OnError"/>
</xsd:restriction>
</xsd:simpleType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransResponseCriteriaType">
<xsd:sequence>
<xsd:element name = "ResponseExpression" type="TransExpressionType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransSenderType">
<xsd:sequence>
<xsd:element name = "LogicalID" type="IdentifierType" minOccurs="0"/>
<xsd:element name = "ComponentID" type="IdentifierType" minOccurs="0"/>
<xsd:element name = "TaskID" type="IdentifierType" minOccurs="0"/>
<xsd:element name = "ReferenceID" type="IdentifierType" minOccurs="0"/>
<xsd:element name = "ConfirmationCode" type="TransConfirmationCodeType" minOccurs="0"/>
<xsd:element name = "AuthorizationID" type="IdentifierType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransShowType">
<xsd:sequence>
<xsd:element name = "OriginalApplicationArea" type="TransApplicationAreaType" minOccurs="0"/>
<xsd:element name = "ResponseCriteria" type="TransResponseCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransSignatureType" block="restriction">
<xsd:sequence>
<xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name = "qualifyingAgencyID" type="xsd:normalizedString" use="optional"/>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransSyncType">
<xsd:sequence>
<xsd:element name = "ActionCriteria" type="TransActionCriteriaType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<xsd:complexType name = "TransUserAreaType" block="restriction">
<xsd:sequence>
<xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
|