# Registered OCL Environments

###### Identifier:

org.eclipse.ocl.environments

###### Since:

1.1

###### Description:

Static registration of OCL environments in the `Environment.Registry`.

###### Configuration Markup:

<!ELEMENT extension (environmentFactory)+>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

<!ELEMENT environmentFactory (package)+>

<!ATTLIST environmentFactory

class CDATA #REQUIRED>

Registers an OCL `EnvironmentFactory` for a metamodel. The metamodel is represented by one or more `EPackage`s, specified as nested elements.

- class - References an implementation of the `EnvironmentFactory` interface providing the OCL parsing support for the particular metamodel.

<!ELEMENT package EMPTY>

<!ATTLIST package

nsURI CDATA #REQUIRED>

Identifies a metamodel for which the associated `EnvironmentFactory` provides OCL parsing support. The metamodel is identified by its namespace URI.

- nsURI - The namespace URI of the metamodel.

###### Examples:

The following example, from the `org.eclipse.ocl.ecore` plugin, registers the Ecore environment factory for the Ecore metamodel package.

      <extension point="org.eclipse.ocl.environments">
        <environmentFactory
            class="org.eclipse.ocl.ecore.EcoreEnvironmentFactory">
          <package nsURI="http://www.eclipse.org/emf/2002/Ecore"/>
        </environmentFactory>
      </extension>

###### Supplied Implementation:

The `org.eclipse.ocl.ecore` plugin defining the Ecore binding for OCL registers the `EcoreEnvironmentFactory`.

Copyright (c) 2007 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html