# XML Constraint Definition Parsers

###### Identifier:

org.eclipse.emf.validation.constraintParsers

###### Since:

1.0

###### Description:

This extension point allows plug-ins to register objects which know how to parse constraints encoded in a particular language from the information supplied in an `IConstraintDescriptor`.

###### Configuration Markup:

<!ELEMENT extension (constraintParser+)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

<!ELEMENT constraintParser EMPTY>

<!ATTLIST constraintParser

lang CDATA #REQUIRED

class CDATA #REQUIRED

>

Defines a constraint parser.

- lang - Indicates the constraint language which this builder supports. This matches values of the "lang" attribute in <constraint/> elements in XML constraint declarations. The language is not case-sensitive.
- class - The name of a class implementing a specialization of the `IConstraintParser` interface, which handles the associated constraint language.

###### Examples:

To provide support for constraints defined in scripted Java embedded in the constraint 'body', using BeanShell, one might define an extension like the following:

         <extension
             point="org.eclipse.emf.validation.constraintParsers">
          <constraintParser
                class="com.example.validation.BeanShellConstraintParser"
                lang="Java-BeanShell">
          </constraintParser>
       </extension>

###### API Information:

The value of the `<constraintParser>` element `class` attribute must be the fully qualified name of a class that implements one of the specializations of the `org.eclipse.emf.validation.service.IConstraintParser` interface defined by the framework. The currently available specializations are `org.eclipse.emf.validation.service.IParameterizedConstraintParser` and `org.eclipse.emf.validation.xml.IXmlConstraintParser`. Note that the latter interface is deprecated; the concrete implementations supplied by the framework (for Java, OCL, and EMF languages) implement the `IParameterizedConstraintParser` interface, also.

A constraint parser is instantiated using the default (no-argument) constructor; only a single instance is created by the system.

###### Supplied Implementation:

The `org.eclipse.emf.validation.ocl` plug-in provides support for OCL as a constraint language using a constraint parser.

Copyright (c) 2005 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