<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
  http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<templates>
	<template id="org.apache.uima.ruta.editor.template.RECA"
		context="rutaUniversalTemplateContextType" name="RECA"
		description="Rule element with condition and action" icon="icons/obj16/ruta_obj.png"
		autoinsert="true">${cursor}Type{C() -&gt; A()};</template>
	<template id="org.apache.uima.ruta.editor.template.CALL"
		context="rutaUniversalTemplateContextType" name="CALL" description="Simple CALL rule"
		icon="icons/obj16/ruta_obj.png" autoinsert="true">Document{->CALL(${cursor})};
	</template>
    <template id="org.apache.uima.ruta.editor.template.EXEC"
        context="rutaUniversalTemplateContextType" name="EXEC" description="Simple EXEC rule"
        icon="icons/obj16/ruta_obj.png" autoinsert="true">Document{->EXEC(${cursor})};</template>
	<template id="org.apache.uima.ruta.editor.template.BLOCK"
		context="rutaUniversalTemplateContextType" name="BLOCK" description="Simple BLOCK"
		icon="icons/obj16/ruta_obj.png" autoinsert="true">BLOCK(${cursor}Name)
		Document{} {&#13;&#13;};</template>
	<template id="org.apache.uima.ruta.editor.template.MF"
		context="rutaUniversalTemplateContextType" name="MF" description="Common MARKFAST rule"
		icon="icons/obj16/ruta_obj.png" autoinsert="true">Document{-&gt;MARKFAST(${cursor}Type, List)};</template>

</templates>
