[maven-release-plugin] copy for tag ruta-2.8.0

git-svn-id: https://svn.apache.org/repos/asf/uima/ruta/tags/ruta-2.8.0@1870144 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorEngine.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorEngine.xml
index e55371a..66326b8 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorEngine.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorEngine.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <frameworkImplementation>org.apache.uima.java</frameworkImplementation>

     <primitive>true</primitive>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorTypeSystem.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorTypeSystem.xml
index 632de10..eb5ad65 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorTypeSystem.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/AuthorTypeSystem.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <name>uima.ruta.example.AuthorTypeSystem</name>

     <imports>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/MainEngine.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/MainEngine.xml
index dcf0796..9405527 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/MainEngine.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/MainEngine.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <frameworkImplementation>org.apache.uima.java</frameworkImplementation>

     <primitive>true</primitive>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/MainTypeSystem.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/MainTypeSystem.xml
index b17038e..a45456c 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/MainTypeSystem.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/MainTypeSystem.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <name>uima.ruta.example.MainTypeSystem</name>

     <imports>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleEngine.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleEngine.xml
index c3b050c..bff1a82 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleEngine.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleEngine.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <frameworkImplementation>org.apache.uima.java</frameworkImplementation>

     <primitive>true</primitive>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleTypeSystem.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleTypeSystem.xml
index 545eb20..7e562bc 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleTypeSystem.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/TitleTypeSystem.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <name>uima.ruta.example.TitleTypeSystem</name>

     <imports>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/YearEngine.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/YearEngine.xml
index 804f619..f1a782a 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/YearEngine.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/YearEngine.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <frameworkImplementation>org.apache.uima.java</frameworkImplementation>

     <primitive>true</primitive>

diff --git a/example-projects/ExampleProject/descriptor/uima/ruta/example/YearTypeSystem.xml b/example-projects/ExampleProject/descriptor/uima/ruta/example/YearTypeSystem.xml
index c2be265..81e830a 100644
--- a/example-projects/ExampleProject/descriptor/uima/ruta/example/YearTypeSystem.xml
+++ b/example-projects/ExampleProject/descriptor/uima/ruta/example/YearTypeSystem.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>

+<!--

+  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.

+-->

 <typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">

     <name>uima.ruta.example.YearTypeSystem</name>

     <imports>

diff --git a/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java b/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
index 3cc511b..9e5e250 100644
--- a/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
+++ b/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
@@ -65,10 +65,12 @@
 import org.apache.uima.ruta.expression.annotation.IAnnotationListExpression;

 import org.apache.uima.ruta.expression.bool.IBooleanExpression;

 import org.apache.uima.ruta.expression.bool.IBooleanListExpression;

+import org.apache.uima.ruta.expression.feature.CoveredTextFeature;

 import org.apache.uima.ruta.expression.feature.FeatureExpression;

 import org.apache.uima.ruta.expression.feature.GenericFeatureExpression;

 import org.apache.uima.ruta.expression.feature.LazyFeature;

 import org.apache.uima.ruta.expression.feature.SimpleFeatureExpression;

+import org.apache.uima.ruta.expression.feature.TypeFeature;

 import org.apache.uima.ruta.expression.number.INumberExpression;

 import org.apache.uima.ruta.expression.number.INumberListExpression;

 import org.apache.uima.ruta.expression.string.IStringExpression;

@@ -980,9 +982,10 @@
 

   public void assignFeatureValue(FeatureStructure annotation, Feature feature,

           IRutaExpression value, MatchContext context) {

-    if (feature == null) {

+    if (feature == null || feature instanceof CoveredTextFeature

+            || feature instanceof TypeFeature) {

       throw new IllegalArgumentException(

-              "Not able to assign feature value (e.g., coveredText) in script "

+              "Not able to assign feature value (e.g., coveredText, type) in script "

                       + context.getParent().getName());

     }

     if (feature instanceof LazyFeature) {

diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/expression/type/TypeFeatureTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/expression/type/TypeFeatureTest.java
index d2dc35e..38927c5 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/expression/type/TypeFeatureTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/expression/type/TypeFeatureTest.java
@@ -18,6 +18,7 @@
  */

 package org.apache.uima.ruta.expression.type;

 

+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;

 import org.apache.uima.cas.CAS;

 import org.apache.uima.ruta.engine.Ruta;

 import org.apache.uima.ruta.engine.RutaTestUtils;

@@ -45,4 +46,15 @@
 

   }

 

+  @Test(expected = AnalysisEngineProcessException.class)

+  public void testAssignType() throws Exception {

+

+    String document = "This is a test.";

+

+    String script = "cw:CW{-> cw.type = SW};\n";

+

+    CAS cas = RutaTestUtils.getCAS(document);

+    Ruta.apply(cas, script);

+  }

+

 }

diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java b/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java
index 9ad83f2..a803fce 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCardInWindowTest.java
@@ -27,51 +27,38 @@
 public class WildCardInWindowTest {
 
   @Test
-  public void testSingleBothDirections() {
+  public void testSingleBothDirections() throws Exception {
     String document = ". a 1 b . c 1 D . e 1 1 1 f . g 1 1 1 H .";
     String script = "";
     script += "PERIOD #{-> T1} PERIOD;";
     script += "T1 -> { SW #{-> T2} SW{-> T3};};";
     script += "T1 -> { SW #{-> T4} @SW{-> T5};};";
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 2, "1", "1 1 1");
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 2, "b", "f");
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "1", "1 1 1");
     RutaTestUtils.assertAnnotationsEquals(cas, 5, 2, "b", "f");
-
-    cas.release();
   }
 
   @Test
-  public void testMultiMidOut() {
+  public void testMultiMidOut() throws Exception {
     String document = ". A x 1 1 : x 2 % 3 x ; . A x B 1 C 1 : x 4 % 5 x ; .";
     String script = "";
     script += "PERIOD #{-> T1} PERIOD;";
     script += "T1 -> {CW{-> T4} # @COLON # NUM{-> T2} SPECIAL NUM{-> T3} # SEMICOLON;};";
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 2, "2", "4");
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 2, "3", "5");
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "A", "C");
 
-    cas.release();
   }
 
   @Test
-  public void testCombiMidOut() {
+  public void testCombiMidOut() throws Exception {
     String document = ". some text. some A.B text C.D text. some text .";
     String script = "";
 
@@ -79,64 +66,44 @@
     script += "PERIOD{-PARTOF(T1)} #{-> T2} PERIOD{-PARTOF(T1)};";
     script += "T2<-{CW PERIOD CW;}->{#{-> T3} @PERIOD #{-> T3};};";
     script += "T3<-{CW PERIOD CW;}->{#{-> T4} @PERIOD #{-> T4};};";
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
-    RutaTestUtils.assertAnnotationsEquals(cas, 3, 4, "some A.B text C", "some A",
-            "B text C.D text", "D text");
-    RutaTestUtils.assertAnnotationsEquals(cas, 4, 4, "some A", "B text C", "B text C",
+    RutaTestUtils.assertAnnotationsEquals(cas, 3, 4, "some A.B text C", "some A", "B text C.D text",
             "D text");
+    RutaTestUtils.assertAnnotationsEquals(cas, 4, 4, "some A", "B text C", "B text C", "D text");
 
-    cas.release();
   }
-  
+
   @Test
-  public void testSameRightToLeftInWindow() {
+  public void testSameRightToLeftInWindow() throws Exception {
     String document = ". a 1 b . c 1 D . e 1 1 1 f . g 1 1 1 H .";
     String script = "";
     script += "PERIOD #{-> T1} PERIOD;";
     script += "T1 ->{W{->T3} #{->T2} @W;};";
     script += "T1 ->{W #{-PARTOF(NUM)->T4} @W;};";
-    
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 4, "1", "1", "1 1 1", "1 1 1");
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 4, "a", "c", "e", "g");
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 0);
 
-    cas.release();
   }
-  
+
   @Test
-  public void testCoveredRightToLeftNoWindow() {
+  public void testCoveredRightToLeftNoWindow() throws Exception {
     String document = "CAP1 some text CAP2 more text";
     String script = "";
     script += "(CAP NUM){-> T1};";
     script += "SW (T1 W+){-> T2};";
     script += " T1 #{->T3} @T2;";
-    
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
 
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "some text");
-
-    cas.release();
   }
 
 }
diff --git a/ruta-docbook/src/docbook/tools.ruta.language.expressions.xml b/ruta-docbook/src/docbook/tools.ruta.language.expressions.xml
index 1c2ec78..f312d59 100644
--- a/ruta-docbook/src/docbook/tools.ruta.language.expressions.xml
+++ b/ruta-docbook/src/docbook/tools.ruta.language.expressions.xml
@@ -25,19 +25,19 @@
   </para>

   <para>

   <emphasis role="bold">Definition:</emphasis>

-<programlisting><![CDATA[RutaExpression  ->   TypeExpression | NumberExpression | 

-                           StringExpression | BooleanExpression

-                           | ListExpression]]></programlisting>

+<programlisting><![CDATA[RutaExpression  ->   TypeExpression | AnnotationExpression 

+                     | StringExpression | BooleanExpression 

+                     | NumberExpression | ListExpression]]></programlisting>

   </para>

   <section id="ugr.tools.ruta.language.expressions.type">

     <title>Type Expressions</title>

     <para>

-      UIMA Ruta provides two kinds of type expressions.

+      UIMA Ruta provides several kinds of type expressions.

       <orderedlist numeration="arabic">

         <listitem>

           Declared annotation types (see

           <xref linkend='ugr.tools.ruta.language.declarations.type' />

-          ).

+          ) also including any types present in the type system of the CAS or defined in imported type systems.

         </listitem>

         <listitem>

           Type variables

@@ -45,18 +45,25 @@
           <xref linkend='ugr.tools.ruta.language.declarations.variable' />

           ).

         </listitem>

+        <listitem>

+          Type of an annotation expression 

+          (see

+          <xref linkend='ugr.tools.ruta.language.expressions.features' />

+          ).

+        </listitem>

       </orderedlist>

+    </para>

       <section>

         <title>

           <emphasis role="bold">Definition:</emphasis>

         </title>

         <para>

 <programlisting><![CDATA[TypeExpression  ->  AnnotationType | TypeVariable]]></programlisting>

-        </para>

+                    | AnnotationExpression.type</para>

       </section>

       <section>

         <title>

-          <emphasis role="bold">Example:</emphasis>

+          <emphasis role="bold">Examples:</emphasis>

         </title>

         <para>

           <programlisting><![CDATA[DECLARE Author;  // Author defines a type, therefore it is 

@@ -64,8 +71,69 @@
 TYPE typeVar;    // type variable typeVar is a type expression 

 Document{->ASSIGN(typeVar, Author)};]]></programlisting>

         </para>

+        <para>

+          <programlisting><![CDATA[e:Entity{-> e.type}; // the dot notation type refers to the type 

+          // of the anotation stored in the label a. In this example, 

+          // this type expression refers to the type Entity or a specific 

+          // subtype of Entity.]]></programlisting>

+        </para>

       </section>

+  </section>

+  

+  <section id="ugr.tools.ruta.language.expressions.annotation">

+    <title>Annotation Expressions</title>

+    <para>

+      UIMA Ruta provides several kinds of annotation expressions.

+      <orderedlist numeration="arabic">

+        <listitem>

+          Annotation variables

+          (see

+          <xref linkend='ugr.tools.ruta.language.declarations.variable' />

+          ).

+        </listitem>

+        <listitem>

+          Label expressions storing matched annotations (see 

+          <xref linkend=' ugr.tools.ruta.language.labels' />

+          ). Label expressions are on-the-fly defined (local) variables in the context of a rule.

+        </listitem>

+        <listitem>

+          Annotation implicit referenced by a type expression in the match context  (see

+          <xref linkend='ugr.tools.ruta.language.expressions.type' />

+          ).

+        </listitem>

+        <listitem>

+          Annotations stored in features of other annotations.

+          (see

+          <xref linkend='ugr.tools.ruta.language.expressions.features' />

+          ).

+        </listitem>

+      </orderedlist>

     </para>

+      <section>

+        <title>

+          <emphasis role="bold">Definition:</emphasis>

+        </title>

+        <para>

+<programlisting><![CDATA[AnnotationExpression  ->  AnnotationVariable | LabelExpression 

+                          | TypeExpression | FeatureExpression]]></programlisting>

+        </para>

+      </section>

+      <section>

+        <title>

+          <emphasis role="bold">Examples:</emphasis>

+        </title>

+        <para>

+          <programlisting><![CDATA[ANNOTATION anno; // a variable declaration for storing an annotation.

+e:Entity; // label expression e stored the annotation matched by the 

+          // rule element with the matching condition Entity.

+er:EmplRelation{-> er.employer = Employer}; // the type expression 

+          // Employer implicitly refers to annotations of the 

+          // type Employer in the context of the EmplRelation match.

+e:EmplRelation.employer; // this feature expression represents the 

+                         // annotation stored in the feature employer.                                       

+]]></programlisting>

+        </para>

+      </section>

   </section>

 

   <section id="ugr.tools.ruta.language.expressions.number">

@@ -274,9 +342,10 @@
           <emphasis role="bold">Definition:</emphasis>

         </title>

         <para>

-<programlisting><![CDATA[ListExpression  ->   WordListExpression | WordTableExpression |

-                     TypeListExpression | NumberListExpression |

-                     StringListExpression | BooleanListExpression

+<programlisting><![CDATA[ListExpression  ->   WordListExpression | WordTableExpression 

+                     | TypeListExpression | AnnotationListExpression

+                     | NumberListExpression | StringListExpression 

+                     | BooleanListExpression

 WordListExpression     ->  RessourceLiteral | WordListVariable

 WordTableExpression    ->  RessourceLiteral | WordTableVariable

 TypeListExpression     ->  TypeListVariable

@@ -317,6 +386,11 @@
 ]]></programlisting>

     </para>

     <para>

+      Ruta allows the access of two special attributes of an annotation with the feature notation:

+      The covered text of an annotation can be accessed as a string expression and the type of 

+      an annotation can be accessed as an type expression.

+    </para>

+    <para>

       The covered text of an annotation can be referred to with "coveredText" or "ct". 

       The latter one is an abbreviation and returns the covered text of an annotation

       only if the type of the annotation does not define a feature with the name "ct". 

@@ -324,5 +398,10 @@
       covered text "A".

       <programlisting><![CDATA[W.ct == "A" {-> TypeA};]]></programlisting>

     </para>

+    <para>

+      The type of an annotation can be referred to with "type". 

+      The following example creates an annotation of the type TypeA for each pair of ANY annotation.

+      <programlisting><![CDATA[(a1:ANY a2:ANY){a1.type == a2.type -> TypeA};]]></programlisting>

+    </para>

   </section>

 </section>
\ No newline at end of file
diff --git a/ruta-docbook/src/docbook/tools.ruta.language.xml b/ruta-docbook/src/docbook/tools.ruta.language.xml
index ed306be..5a1ad67 100644
--- a/ruta-docbook/src/docbook/tools.ruta.language.xml
+++ b/ruta-docbook/src/docbook/tools.ruta.language.xml
@@ -898,6 +898,12 @@
 WORDTABLE presidentsOfUSA = "" + package + "presidentsOfUSA.csv";

 ]]></programlisting>

       </para>

+      <para>

+        By default, whitespaces are removed by the activated parameter <quote>dictRemoveWS</quote> 

+        for WORDLIST and WORDTABLE when the dictionary is loaded. In the special case when whitespace are relevant, e.g., 

+        specific patterns of whitespaces need to be detected by the dictionary lookup, 

+        then the analysis engine needs to be configured differently. 

+      </para>

     </section>

   </section>

   <section id="ugr.tools.ruta.language.regexprule">

diff --git a/ruta-docbook/src/docbook/tools.ruta.overview.xml b/ruta-docbook/src/docbook/tools.ruta.overview.xml
index 840cec8..56a12f2 100644
--- a/ruta-docbook/src/docbook/tools.ruta.overview.xml
+++ b/ruta-docbook/src/docbook/tools.ruta.overview.xml
@@ -1317,6 +1317,7 @@
           <title>dictRemoveWS</title>

           <para>

             If this parameter is set to true, then whitespaces are removed when dictionaries are loaded.

+            The default is set to "true".

           </para>

         </section>

         <section id="ugr.tools.ruta.ae.basic.parameter.csvSeparator">

@@ -1352,7 +1353,7 @@
       <title>Annotation Writer</title>

       <para>

         This Analysis Engine can be utilized to write the covered text of annotations in a text file, whereas each covered text is put into a new line.

-        If the Analyis engine, for example, is configured for the type <quote>uima.example.Person</quote>, then all covered texts of all Person annotations are stored

+        If the Analysis engine, for example, is configured for the type <quote>uima.example.Person</quote>, then all covered texts of all Person annotations are stored

         in a text file, one person in each line.

         A descriptor file for this Analysis Engine is located in the folder <quote>descriptor/utils</quote> of a UIMA Ruta project.

       </para>

@@ -1552,7 +1553,7 @@
             This boolean parameter determines if the converter should skip whitespaces. 

             Html documents often contains whitespaces for indentation and formatting, 

             which should not be reproduced in the converted plain text document.

-            If the parameter is set to false, then the whitespces are not removed. 

+            If the parameter is set to false, then the whitespaces are not removed. 

             This behavior is useful, if not Html documents are converted, but XMl files.

             The default value is true.

           </para>

@@ -1576,7 +1577,7 @@
           <title>gapInducingTags</title>

           <para>

             This string array parameter sets the names of the html tags that create additional text in the

-   output view. The acutal string of the gap is defined by the parameter <quote>gapText</quote>.

+   output view. The actual string of the gap is defined by the parameter <quote>gapText</quote>.

           </para>

         </section>

         <section id="ugr.tools.ruta.ae.htmlconverter.parameter.gapText">

@@ -1597,7 +1598,7 @@
       <title>Style Map Creator</title>

       <para>

         This Analysis Engine can be utilized to create style map information, which is needed by the Modifier Analysis Engine in order to create

-        highlightings for some annotations.

+        highlighting for some annotations.

         Style map information can be created using the <link linkend='ugr.tools.ruta.language.actions.color'>COLOR</link> action.

         A descriptor file for this Analysis Engine is located in the folder <quote>descriptor/utils</quote> of a UIMA Ruta project.

       </para>

diff --git a/ruta-docbook/src/docbook/tools.ruta.workbench.explain_perspective.xml b/ruta-docbook/src/docbook/tools.ruta.workbench.explain_perspective.xml
index 0b7e248..b31eb0e 100644
--- a/ruta-docbook/src/docbook/tools.ruta.workbench.explain_perspective.xml
+++ b/ruta-docbook/src/docbook/tools.ruta.workbench.explain_perspective.xml
@@ -260,7 +260,7 @@
       of this inlined rule.

     </para>

     <para>

-      This view is not by default included in the perspective, but need to be added manually, 

+      This view is not by default included in the perspective, but needs to be added manually, 

       e.g., by using the Quick Access near the perspectives.

     </para>

     

diff --git a/ruta-maven-plugin/src/it/multimodule/additional/pom.xml b/ruta-maven-plugin/src/it/multimodule/additional/pom.xml
index fe115d6..f16f519 100644
--- a/ruta-maven-plugin/src/it/multimodule/additional/pom.xml
+++ b/ruta-maven-plugin/src/it/multimodule/additional/pom.xml
@@ -1,15 +1,22 @@
-<!-- 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. -->

-<project xmlns="http://maven.apache.org/POM/4.0.0"

-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+<!--

+   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.

+-->

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 	<modelVersion>4.0.0</modelVersion>

 	<groupId>test</groupId>

diff --git a/ruta-maven-plugin/src/it/multimodule/main/pom.xml b/ruta-maven-plugin/src/it/multimodule/main/pom.xml
index b78e4e9..032a8ae 100644
--- a/ruta-maven-plugin/src/it/multimodule/main/pom.xml
+++ b/ruta-maven-plugin/src/it/multimodule/main/pom.xml
@@ -1,15 +1,22 @@
-<!-- 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. -->

-<project xmlns="http://maven.apache.org/POM/4.0.0"

-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+<!--

+   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.

+-->

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

 	<modelVersion>4.0.0</modelVersion>

 	<groupId>test</groupId>