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

<xsd:schema
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns="http://www.mesa.org/xml/B2MML-V0600-AllExtensions"
        targetNamespace="http://www.mesa.org/xml/B2MML-V0600-AllExtensions"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified">

    <!-- Include the Core Components schema in the default namespace -->

    <xsd:include
            schemaLocation="B2MML-V0600-CoreComponents.xsd"/>

    <xsd:annotation>
        <xsd:documentation>

            Copyright 2012 MESA International
            All Rights Reserved. http://www.mesa.org

            This MESA International 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 MESA International."

            In no event shall MESA International, 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-2010 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
            --- ---- ------ ----
            v04 04 Jun 2007 D. Brandl Added transaction elements for ISA 95 Part 5 support.
            V0500 26 Mar 2011 D. Brandl Revised version
            V0600 17 Mar 2013 D. Brandl Changed copyright to MESA International and support for ISA 95 Part 4
            Moved OpXXXXX elements from Extensions to Common Extensions

        </xsd:documentation>
    </xsd:annotation>

    <!--
                            Purpose of Common Extensions Schema

    This Common Extensions schema is intended to be edited by users as required to extend B2MML
    to meet project and product requirements.

    A place holder has been added in the B2MML Common schema.  The place holder
    is a substitution group that points to a group in this schema.  Any elements placed in a group
    in this schema can be used in B2MML XML documents using "Extended" as the namespace prefix.

    The elements added to the groups may reference types defined earlier in this schema or in
    other schemas.  Additional schemas may be used to permit element definitions from different
    vendors to be used on one project with minimal changes to the B2MML extensions schema,
    and increasing clarity by assigning a vendor specific namespace prefix to each group
    of elements when used in an XML document.

    -->


    <!-- B2MML extension groups for Common schema-->

    <xsd:group name="EquipmentAssetMapping">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="HierarchyScope">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <!-- Location kept in V05 for use with the Production element definitions. Not used in other elements.  -->
    <xsd:group name="Location">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>
    <!-- Location kept in V05 for use with the Production element definitions. Not used in other elements.  -->

    <xsd:group name="Parameter">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="Quantity">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="Result">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="SegmentDependency">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="TestResult">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="Value">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>


    <xsd:group name="OpPersonnelSegmentSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelSegmentSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentSegmentSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentSegmentSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetSegmentSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetSegmentSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialSegmentSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialSegmentSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelCapability">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelCapabilityProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentCapability">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentCapabilityProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetCapability">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetCapabilityProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialCapability">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialCapabilityProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpProcessSegmentCapability">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialSpecification">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialSpecificationProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelRequirement">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPersonnelRequirementProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentRequirement">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpEquipmentRequirementProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetRequirement">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpPhysicalAssetRequirementProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialRequirement">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>

    <xsd:group name="OpMaterialRequirementProperty">
        <xsd:sequence>
            <!-- add extended elements here -->
        </xsd:sequence>
    </xsd:group>


</xsd:schema>
