<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
    Copyright (c) 2023 Willink Transformations and others.
   
    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/
   
    SPDX-License-Identifier: EPL-2.0
   
    Contributors:
        E.D.Willink - initial API and implementation
 -->

<plugin>
   <extension-point id="NonEmptyFileToStopGenModelCreationOfUnwantedContent" name="dummy"></extension-point>

   <extension point="org.eclipse.emf.validation.constraintProviders"
         id="umlProvider">
      <category id="org.eclipse.ocl.pivot.validation.UMLProfile/Internationalized.profile.uml"
            name="Internationalized.profile.uml">
         Constraints determined by parsing Internationalized.profile.uml
      </category>
      <constraintProvider>
         <package namespaceUri="http://www.eclipse.org/ocl/examples/Internationalized"/>
         <constraints categories="org.eclipse.ocl.pivot.validation.UMLProfile/Internationalized.profile.uml">
            <constraint id="placeholderA" lang="Path"
                  name="=== The Internationalized.profile.uml Constraints A ==="
                  statusCode="101">
               <description>
Placeholder for the actual constraints in Internationalized.profile.uml.

The actual constraints are lazily loaded by the first validation run that uses them.</description>
               <message>No message</message>
               <!--param name="path" value="models/uml/Internationalized.profile.uml"/-->
            </constraint>
         </constraints>
      </constraintProvider>
      <constraintProvider class="org.eclipse.ocl.pivot.uml.internal.validation.UMLProfileConstraintProvider">
         <package namespaceUri="http://www.eclipse.org/ocl/examples/Internationalized"/>
         <constraints categories="org.eclipse.ocl.pivot.validation.UMLProfile/Internationalized.profile.uml">
            <constraint id="placeholderB" lang="Path" statusCode="101"
                name="=== The Internationalized.profile.uml Constraints B ===">
               <description>
Placeholder for the actual constraints in Internationalized.profile.uml.

The actual constraints are lazily loaded by the first validation run that uses them.</description>
               <message>No message</message>
               <param name="path" value="models/uml/Internationalized.profile.uml"/>
            </constraint>
         </constraints>
      </constraintProvider>
  </extension>
   <extension point="org.eclipse.emf.validation.constraintBindings">
      <clientContext id="umlProvider.context" default="false">
         <selector class="org.eclipse.ocl.pivot.uml.internal.validation.PivotClientSelector"/>
      </clientContext>
      <binding context="umlProvider.context"
            category="org.eclipse.ocl.pivot.validation.UMLProfile/Internationalized.profile.uml"/>
   </extension>
   
   <extension point="org.eclipse.ocl.pivot.complete_ocl_registry">
      <document resource="models/ecore/ModelWithErrors.ocl">
         <for uri="http://www.eclipse.org/emf/2002/Ecore"/>
      </document>
   </extension>

</plugin>
