You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2008/05/27 17:14:03 UTC

svn commit: r660553 [2/10] - in /incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy: ./ src/ src/main/ src/main/descriptors/ src/main/groovy/ src/main/groovy/org/ src/main/groovy/org/apache/ src/main/groovy/org/apache/uima/ src/main/groovy/org/apac...

Added: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypes.xml
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypes.xml?rev=660553&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypes.xml (added)
+++ incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypes.xml Tue May 27 08:13:37 2008
@@ -0,0 +1,1232 @@
+<?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>calaisTypes</name>
+  <description/>
+  <version>1.0</version>
+  <vendor/>
+  <types>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.Base</name>
+      <description/>
+      <supertypeName>uima.cas.TOP</supertypeName>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.Entity</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Base</supertypeName>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.Relation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Base</supertypeName>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.Instance</name>
+      <description/>
+      <supertypeName>uima.tcas.Annotation</supertypeName>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.EntityInstance</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Instance</supertypeName>
+      <features>
+        <featureDescription>
+          <name>entity</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.Entity</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.RelationInstance</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Instance</supertypeName>
+      <features>
+        <featureDescription>
+          <name>relation</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.Relation</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Anniversary</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.City</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Company</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Continent</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Country</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Currency</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.EmailAddress</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.EntertainmentAwardEvent</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Facility</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.FaxNumber</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Holiday</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.IndustryTerm</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.MedicalCondition</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Movie</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.MusicAlbum</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.MusicGroup</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.NaturalDisaster</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.NaturalFeature</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Organization</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Person</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.PhoneNumber</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Product</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.ProvinceOrState</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.PublishedMedium</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Region</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.SportsEvent</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.SportsGame</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.Technology</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.TVShow</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.entity.URL</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Entity</supertypeName>
+      <features>
+        <featureDescription>
+          <name>canonicalForm</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.Acquisition</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_acquirer</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_beingacquired</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.Alliance</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+          <elementType>org.apache.uima.calaisType.entity.Company</elementType>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.AnalystEarningsEstimate</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_source</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>person_source</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_rated</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>quarter</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>year</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.AnalystRecommendation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_source</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>person_source</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_rated</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>trend</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>rank_new</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>rank_old</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.Bankruptcy</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>bankruptcystatus</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>date</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.BusinessRelation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+          <elementType>org.apache.uima.calaisType.entity.Company</elementType>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.Buybacks</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>date</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyAffiliates</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_affiliate</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_parent</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>relation</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyCustomer</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_provider</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_customer</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>organization_customer</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyEarningsAnnouncement</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>quarter</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>year</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyEarningsGuidance</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>quarter</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>year</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>trend</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyInvestment</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_investor</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyLegalIssues</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_sued</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>sueddescription</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_plaintiff</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>person_plaintiff</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>lawsuitclass</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>date</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyLocation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>city</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.City</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>provinceorstate</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.ProvinceOrState</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>country</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Country</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyMeeting</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>companymeetingtype</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>country</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Country</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>city</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.City</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>provinceorstate</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.ProvinceOrState</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>date</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>meetingsite</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyReorganization</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CompanyTechnology</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>technology</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.ConferenceCall</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>ccalltype</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>quarter</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>date</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.CreditRating</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company_source</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company_rated</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>organization_rated</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Organization</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>trend</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>rank_new</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>rank_old</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.FamilyRelation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>person_relative</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>familyrelationtype</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.IPO</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>date</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.JointVenture</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+          <elementType>org.apache.uima.calaisType.entity.Company</elementType>
+        </featureDescription>
+        <featureDescription>
+          <name>company_newname</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.ManagementChange</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>organization</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Organization</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>position</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>action</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.Merger</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+          <elementType>org.apache.uima.calaisType.entity.Company</elementType>
+        </featureDescription>
+        <featureDescription>
+          <name>status</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.PersonEducation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>certification</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>degree</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>schoolororganization</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.PersonPolitical</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>position</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>country</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Country</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>provinceorstate</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.ProvinceOrState</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>city</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.City</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.PersonPoliticalPast</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>position</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>country</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Country</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>provinceorstate</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.ProvinceOrState</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>city</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.City</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.PersonProfessional</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>position</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>organization</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Organization</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.PersonProfessionalPast</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>position</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>organization</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Organization</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.Quotation</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>person</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Person</rangeTypeName>
+        </featureDescription>
+        <featureDescription>
+          <name>quote</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.relation.StockSplit</name>
+      <description/>
+      <supertypeName>org.apache.uima.calaisType.Relation</supertypeName>
+      <features>
+        <featureDescription>
+          <name>company</name>
+          <description/>
+          <rangeTypeName>org.apache.uima.calaisType.entity.Company</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+    <typeDescription>
+      <name>org.apache.uima.calaisType.RdfText</name>
+      <description>Returned value from web service in RDF form</description>
+      <supertypeName>uima.cas.TOP</supertypeName>
+      <features>
+        <featureDescription>
+          <name>rdfText</name>
+          <description/>
+          <rangeTypeName>uima.cas.String</rangeTypeName>
+        </featureDescription>
+      </features>
+    </typeDescription>
+  </types>
+</typeSystemDescription>

Propchange: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypes.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypesStyleMap.xml
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypesStyleMap.xml?rev=660553&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypesStyleMap.xml (added)
+++ incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/CalaisTypesStyleMap.xml Tue May 27 08:13:37 2008
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+  <!--
+   ***************************************************************
+   * 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.
+   ***************************************************************
+   -->
+
+<styleMap>
+<rule>
+<pattern>org.apache.uima.calaisType.Base</pattern>
+<label>Base</label>
+<style>color:black; background:lightblue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.Entity</pattern>
+<label>Entity</label>
+<style>color:black; background:lightgreen;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.Relation</pattern>
+<label>Relation</label>
+<style>color:black; background:orange;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.Instance</pattern>
+<label>Instance</label>
+<style>color:black; background:yellow;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.EntityInstance</pattern>
+<label>EntityInstance</label>
+<style>color:black; background:pink;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.RelationInstance</pattern>
+<label>RelationInstance</label>
+<style>color:black; background:salmon;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Anniversary</pattern>
+<label>Anniversary</label>
+<style>color:black; background:cyan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.City</pattern>
+<label>City</label>
+<style>color:black; background:violet;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Company</pattern>
+<label>Company</label>
+<style>color:black; background:tan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Continent</pattern>
+<label>Continent</label>
+<style>color:white; background:brown;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Country</pattern>
+<label>Country</label>
+<style>color:white; background:blue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Currency</pattern>
+<label>Currency</label>
+<style>color:white; background:green;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.EmailAddress</pattern>
+<label>EmailAddress</label>
+<style>color:white; background:red;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.EntertainmentAwardEvent</pattern>
+<label>EntertainmentAwardEvent</label>
+<style>color:white; background:mediumpurple;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Facility</pattern>
+<label>Facility</label>
+<style>color:black; background:lightblue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.FaxNumber</pattern>
+<label>FaxNumber</label>
+<style>color:black; background:lightgreen;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Holiday</pattern>
+<label>Holiday</label>
+<style>color:black; background:orange;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.IndustryTerm</pattern>
+<label>IndustryTerm</label>
+<style>color:black; background:yellow;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.MedicalCondition</pattern>
+<label>MedicalCondition</label>
+<style>color:black; background:pink;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Movie</pattern>
+<label>Movie</label>
+<style>color:black; background:salmon;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.MusicAlbum</pattern>
+<label>MusicAlbum</label>
+<style>color:black; background:cyan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.MusicGroup</pattern>
+<label>MusicGroup</label>
+<style>color:black; background:violet;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.NaturalDisaster</pattern>
+<label>NaturalDisaster</label>
+<style>color:black; background:tan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.NaturalFeature</pattern>
+<label>NaturalFeature</label>
+<style>color:white; background:brown;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Organization</pattern>
+<label>Organization</label>
+<style>color:white; background:blue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Person</pattern>
+<label>Person</label>
+<style>color:white; background:green;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.PhoneNumber</pattern>
+<label>PhoneNumber</label>
+<style>color:white; background:red;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Product</pattern>
+<label>Product</label>
+<style>color:white; background:mediumpurple;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.ProvinceOrState</pattern>
+<label>ProvinceOrState</label>
+<style>color:black; background:lightblue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.PublishedMedium</pattern>
+<label>PublishedMedium</label>
+<style>color:black; background:lightgreen;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Region</pattern>
+<label>Region</label>
+<style>color:black; background:orange;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.SportsEvent</pattern>
+<label>SportsEvent</label>
+<style>color:black; background:yellow;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.SportsGame</pattern>
+<label>SportsGame</label>
+<style>color:black; background:pink;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.Technology</pattern>
+<label>Technology</label>
+<style>color:black; background:salmon;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.TVShow</pattern>
+<label>TVShow</label>
+<style>color:black; background:cyan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.entity.URL</pattern>
+<label>URL</label>
+<style>color:black; background:violet;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.Acquisition</pattern>
+<label>Acquisition</label>
+<style>color:black; background:tan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.Alliance</pattern>
+<label>Alliance</label>
+<style>color:white; background:brown;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.AnalystEarningsEstimate</pattern>
+<label>AnalystEarningsEstimate</label>
+<style>color:white; background:blue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.AnalystRecommendation</pattern>
+<label>AnalystRecommendation</label>
+<style>color:white; background:green;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.Bankruptcy</pattern>
+<label>Bankruptcy</label>
+<style>color:white; background:red;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.BusinessRelation</pattern>
+<label>BusinessRelation</label>
+<style>color:white; background:mediumpurple;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.Buybacks</pattern>
+<label>Buybacks</label>
+<style>color:black; background:lightblue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyAffiliates</pattern>
+<label>CompanyAffiliates</label>
+<style>color:black; background:lightgreen;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyCustomer</pattern>
+<label>CompanyCustomer</label>
+<style>color:black; background:orange;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyEarningsAnnouncement</pattern>
+<label>CompanyEarningsAnnouncement</label>
+<style>color:black; background:yellow;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyEarningsGuidance</pattern>
+<label>CompanyEarningsGuidance</label>
+<style>color:black; background:pink;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyInvestment</pattern>
+<label>CompanyInvestment</label>
+<style>color:black; background:salmon;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyLegalIssues</pattern>
+<label>CompanyLegalIssues</label>
+<style>color:black; background:cyan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyLocation</pattern>
+<label>CompanyLocation</label>
+<style>color:black; background:violet;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyMeeting</pattern>
+<label>CompanyMeeting</label>
+<style>color:black; background:tan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyReorganization</pattern>
+<label>CompanyReorganization</label>
+<style>color:white; background:brown;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CompanyTechnology</pattern>
+<label>CompanyTechnology</label>
+<style>color:white; background:blue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.ConferenceCall</pattern>
+<label>ConferenceCall</label>
+<style>color:white; background:green;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.CreditRating</pattern>
+<label>CreditRating</label>
+<style>color:white; background:red;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.FamilyRelation</pattern>
+<label>FamilyRelation</label>
+<style>color:white; background:mediumpurple;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.IPO</pattern>
+<label>IPO</label>
+<style>color:black; background:lightblue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.JointVenture</pattern>
+<label>JointVenture</label>
+<style>color:black; background:lightgreen;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.ManagementChange</pattern>
+<label>ManagementChange</label>
+<style>color:black; background:orange;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.Merger</pattern>
+<label>Merger</label>
+<style>color:black; background:yellow;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.PersonEducation</pattern>
+<label>PersonEducation</label>
+<style>color:black; background:pink;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.PersonPolitical</pattern>
+<label>PersonPolitical</label>
+<style>color:black; background:salmon;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.PersonPoliticalPast</pattern>
+<label>PersonPoliticalPast</label>
+<style>color:black; background:cyan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.PersonProfessional</pattern>
+<label>PersonProfessional</label>
+<style>color:black; background:violet;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.PersonProfessionalPast</pattern>
+<label>PersonProfessionalPast</label>
+<style>color:black; background:tan;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.Quotation</pattern>
+<label>Quotation</label>
+<style>color:white; background:brown;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.relation.StockSplit</pattern>
+<label>StockSplit</label>
+<style>color:white; background:blue;</style>
+</rule>
+<rule>
+<pattern>org.apache.uima.calaisType.RdfText</pattern>
+<label>RdfText</label>
+<style>color:white; background:green;</style>
+</rule>
+</styleMap>
+

Added: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/OpenCalaisAnnotator.xml
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/OpenCalaisAnnotator.xml?rev=660553&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/OpenCalaisAnnotator.xml (added)
+++ incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/OpenCalaisAnnotator.xml Tue May 27 08:13:37 2008
@@ -0,0 +1,104 @@
+<?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>
+  <annotatorImplementationName>org.apache.uima.annotator.calais.OpenCalaisAnnotator</annotatorImplementationName>
+  <analysisEngineMetaData>
+    <name>OpenCalaisAnnotator</name>
+    <description/>
+    <configurationParameters>
+      <configurationParameter>
+        <name>allowDistribution</name>
+        <description/>
+        <type>Boolean</type>
+        <multiValued>false</multiValued>
+        <mandatory>true</mandatory>
+      </configurationParameter>
+      <configurationParameter>
+        <name>allowSearch</name>
+        <description/>
+        <type>Boolean</type>
+        <multiValued>false</multiValued>
+        <mandatory>true</mandatory>
+      </configurationParameter>
+      <configurationParameter>
+        <name>submitter</name>
+        <description/>
+        <type>String</type>
+        <multiValued>false</multiValued>
+        <mandatory>true</mandatory>
+      </configurationParameter>
+      <configurationParameter>
+        <name>licenseID</name>
+        <description/>
+        <type>String</type>
+        <multiValued>false</multiValued>
+        <mandatory>true</mandatory>
+      </configurationParameter>
+    </configurationParameters>
+    <configurationParameterSettings>
+      <nameValuePair>
+        <name>allowDistribution</name>
+        <value>
+          <boolean>false</boolean>
+        </value>
+      </nameValuePair>
+      <nameValuePair>
+        <name>allowSearch</name>
+        <value>
+          <boolean>false</boolean>
+        </value>
+      </nameValuePair>
+      <nameValuePair>
+        <name>submitter</name>
+        <value>
+          <string/>
+        </value>
+      </nameValuePair>
+      <nameValuePair>
+        <name>licenseID</name>
+        <value>
+          <string/>
+        </value>
+      </nameValuePair>
+    </configurationParameterSettings>
+    <typeSystemDescription>
+      <imports>
+        <import location="calaisTypes.xml"/>
+      </imports>
+    </typeSystemDescription>
+    <capabilities>
+      <capability>
+        <inputs/>
+        <outputs/>
+        <languagesSupported/>
+      </capability>
+    </capabilities>
+    <operationalProperties>
+      <modifiesCas>true</modifiesCas>
+      <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
+      <outputsNewCASes>false</outputsNewCASes>
+    </operationalProperties>
+  </analysisEngineMetaData>
+</analysisEngineDescription>

Propchange: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/descriptors/OpenCalaisAnnotator.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTestCollectionReader.groovy
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTestCollectionReader.groovy?rev=660553&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTestCollectionReader.groovy (added)
+++ incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTestCollectionReader.groovy Tue May 27 08:13:37 2008
@@ -0,0 +1,156 @@
+/*
+ * 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.
+ */
+
+package org.apache.uima.annotator.calais_groovy;
+
+import org.apache.uima.calaisType.RdfText
+
+import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.CASException;
+import org.apache.uima.collection.CollectionException;
+import org.apache.uima.collection.CollectionReader_ImplBase;
+import org.apache.uima.examples.SourceDocumentInformation;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.resource.ResourceConfigurationException;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.util.FileUtils;
+import org.apache.uima.util.Progress;
+import org.apache.uima.util.ProgressImpl;
+
+/**
+ * Read test cases for OpenCalais, set up the sofa text, and insert the
+ *   test data that would be received back from the annotator into the Cas
+ * It is configured with the following parameters:
+ * <ul>
+ * <li><code>InputDirectory</code> - path to directory containing files</li>
+ * <li><code>ThisMany</code> - number to read; 0 means read all in the directory </li>
+ * </ul>
+ * 
+ * 
+ */
+public class CalaisTestCollectionReader extends CollectionReader_ImplBase {
+  /**
+   * Name of configuration parameter that must be set to the path of a directory containing input
+   * files.
+   */
+  public static final String PARAM_INPUTDIR = "InputDirectory";
+
+  public static final String THIS_MANY = "ThisMany";
+
+  def directory
+  
+  def textDirectory
+  
+  def writeText
+  
+  def mFiles = []
+
+  def nbrToProcess;
+
+  private int mCurrentIndex;
+
+  /**
+   * @see org.apache.uima.collection.CollectionReader_ImplBase#initialize()
+   */
+  public void initialize() throws ResourceInitializationException {
+    nbrToProcess = getConfigParameterValue(THIS_MANY) as int;
+    directory = new File(getConfigParameterValue(PARAM_INPUTDIR).trim());
+    mCurrentIndex = 0;
+
+    // if input directory does not exist or is not a directory, throw exception
+    if (!directory.exists() || !directory.isDirectory()) {
+      throw new ResourceInitializationException(ResourceConfigurationException.DIRECTORY_NOT_FOUND,
+              [PARAM_INPUTDIR, this.getMetaData().getName(), directory.getPath()]);
+    }
+    textDirectory = new File("${directory.getAbsolutePath()}/text")
+    writeText = !textDirectory.exists()
+    if (writeText) {
+      textDirectory.mkdir()
+    }
+    directory.eachFile { if (!it.isDirectory()) 
+                           mFiles.add(it) }
+    nbrToProcess = Math.min(nbrToProcess, mFiles.size())
+  }
+
+  /**
+   * @see org.apache.uima.collection.CollectionReader#hasNext()
+   */
+  public boolean hasNext() {
+    return mCurrentIndex < nbrToProcess ;
+  }
+  
+  /**
+   * @see org.apache.uima.collection.CollectionReader#getNext(org.apache.uima.cas.CAS)
+   */
+  public void getNext(CAS aCAS) {
+    def jcas = aCAS.getJCas();
+    def rdfFile = mFiles[mCurrentIndex++]
+    def testData
+    rdfFile.withReader{testData = it.getText()}
+    def matcher = testData =~ "(?s)<!\\[CDATA\\[(.*?)\\]\\]>"
+    matcher.find()
+    def inputString = matcher.group(1)
+    jcas.setDocumentText(inputString)
+    def textFileName = "${directory}/text/${dropExtension(rdfFile.getName())}.txt"
+    if (writeText) {
+      (new File(textFileName)).withWriter {it.write(inputString)}
+    }
+    def rdf = new RdfText(jcas)
+    rdf.rdfText = testData
+    rdf.addToIndexes()
+    
+    // Also store location of source document in CAS. This information is critical
+    // if CAS Consumers will need to know where the original document contents are located.
+    // For example, the Semantic Search CAS Indexer writes this information into the
+    // search index that it creates, which allows applications that use the search index to
+    // locate the documents that satisfy their semantic queries.
+    def srcDocInfo = new SourceDocumentInformation(jcas);
+    srcDocInfo.uri =  new File(textFileName).getAbsoluteFile().toURL().toString();
+    srcDocInfo.offsetInSource = 0;
+    srcDocInfo.documentSize = inputString.size();
+    srcDocInfo.addToIndexes();
+  }
+
+  /**
+   * @see org.apache.uima.collection.base_cpm.BaseCollectionReader#close()
+   */
+  public void close() {
+  }
+
+  /**
+   * @see org.apache.uima.collection.base_cpm.BaseCollectionReader#getProgress()
+   */
+  public Progress[] getProgress() {
+    return [ new ProgressImpl(mCurrentIndex, mFiles.size(), Progress.ENTITIES) ];
+  }
+
+  /**
+   * Gets the total number of documents that will be returned by this collection reader. This is not
+   * part of the general collection reader interface.
+   * 
+   * @return the number of documents in the collection
+   */
+  public int getNumberOfDocuments() {
+    return nbrToProcess;
+  }
+
+  def dropExtension(s) {
+    s.substring(0, s.lastIndexOf('.'))
+  }
+}

Added: incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTypes.groovy
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTypes.groovy?rev=660553&view=auto
==============================================================================
--- incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTypes.groovy (added)
+++ incubator/uima/sandbox/trunk/OpenCalaisAnnotatorGroovy/src/main/groovy/org/apache/uima/annotator/calais_groovy/CalaisTypes.groovy Tue May 27 08:13:37 2008
@@ -0,0 +1,448 @@
+/*
+ * 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.
+ */
+package org.apache.uima.annotator.calais_groovy
+
+
+
+
+public class CalaisTypes {
+  
+  static String INSTANCE_INFO = 'http://s.opencalais.com/1/type/sys/InstanceInfo'
+  
+  
+  static getCalaisTypeNameEntity (typeName) {
+    return "http://s.opencalais.com/1/type/em/e/$typeName"
+  }
+  
+  static getCalaisTypeNameRelation (typeName) {
+    return "http://s.opencalais.com/1/type/em/r/$typeName"
+  }
+  
+  // calais entities become annotations of a same name
+  // calais relations become annotations of same name, with refs to other entity annotations
+  
+  static calaisTypes = new NodeBuilder().types {
+    entity {
+      Anniversary {attrs { name() } }
+      City        {attrs { name() } }    
+      Company     {attrs { name() } }  
+      Continent   {attrs { name() } }
+      Country     {attrs { name() } }
+      Currency    {attrs { name() } }  // is currency denomination, normalized, eg. USD (for $)
+      EmailAddress {attrs { name() } } 
+      EntertainmentAwardEvent {attrs { name() } }
+      Facility    {attrs { name() } }
+      FaxNumber   {attrs { name() } } 
+      Holiday     {attrs { name() } }
+      IndustryTerm{attrs { name() } }
+      MedicalCondition {attrs { name() } }
+      Movie       {attrs { name() } }
+      MusicAlbum  {attrs { name() } }
+      MusicGroup  {attrs { name() } }
+      NaturalDisaster {attrs { name() } } // some normalization
+      NaturalFeature  {attrs { name() } }
+      Organization    {attrs { name() } }
+      Person      {attrs { name()
+                           persontype() } } // values N/A sports entertainment political etc. 
+      PhoneNumber {attrs { name() } }
+      Product     {attrs { name() } }  // drug products
+      ProvinceOrState {attrs { name() } }
+      PublishedMedium {attrs { name() } }
+      Region      {attrs { name() } } // eg Far East
+      SportsEvent {attrs { name() } }
+      SportsGame  {attrs { name() } }
+      Technology  {attrs { name() } }
+      TVShow      {attrs { name() } }
+      URL         {attrs { name() } }
+    }
+    
+    factOrEvent {
+      Acquisition {
+        attrs {company_acquirer {range 'Company'}       // values are refs to company 
+               company_beingacquired {range 'Company'}  // values are refs to company
+               status {
+                 allowedValues([
+                   'announced',
+                   'planned',
+                   'cancelled',
+                   'postponed',
+                   'rumored',
+                   'known']) } } }
+      Alliance { 
+        attrs {company {range 'Company'; multivalued()}
+               status {
+                 allowedValues([
+                   'announced',
+                   'planned',
+                   'cancelled',
+                   'postponed',
+                   'rumored',
+                   'known']) } } }
+
+      AnalystEarningsEstimate {
+        attrs {company_source {range 'Company'}
+               person_source {range 'Person'}
+               company_rated {range 'Company'}
+               quarter {allowedValues([
+                'Q1', 'Q2', 'Q3', 'Q4', 
+                'H1', 'NINE_MONTHS', 'FY']) }
+               year()
+        }
+      }
+      
+      AnalystRecommendation {
+        attrs {company_source {range 'Company'}
+               person_source {range 'Person'}
+               company_rated {range 'Company'}
+               trend {allowedValues([
+                 'upgraded', 'downgraded', 'reiterated', 
+                 'initiated'])}
+               rank_new()  // Strong Buy, Hold, etc.
+               rank_old()
+        }
+      }
+      Bankruptcy {
+        attrs {
+          company {range 'Company'}
+          bankruptcystatus()  // considered, expected to emerge
+          date()
+        }
+      }
+      
+      BusinessRelation {
+        attrs {
+          company {range 'Company'; multivalued()}
+          status {
+            allowedValues([
+              'announced',
+              'planned',
+              'cancelled',
+              'postponed',
+              'rumored',
+              'known' ])
+          }
+        }
+      }
+      Buybacks {
+        attrs {
+          company {range 'Company'}
+          date()
+        }
+      }
+      CompanyAffiliates {
+        attrs {
+          company_affiliate {range 'Company'}
+          company_parent {range 'Company'}
+          relation() // e.g. subsidiary, division, child, parent
+        }
+      }
+      CompanyCustomer {
+        attrs { // only one of Company_customer/Organization_Customer is required
+          company_provider {range 'Company'}
+          company_customer {range 'Company'}
+          organization_customer()
+        }
+      }
+      CompanyEarningsAnnouncement {
+        attrs {
+          company {range 'Company'}
+          quarter()
+          year()
+        }
+      }
+      CompanyEarningsGuidance {
+        attrs {
+          company {range 'Company'}
+          quarter()
+          year()
+          trend()
+        }
+      }
+      CompanyInvestment {
+        attrs {
+          company {range 'Company'}
+          company_investor {range 'Company'}
+          status()
+        }
+      }
+      CompanyLegalIssues {
+        attrs {
+          company_sued {range 'Company'}
+          sueddescription()
+          company_plaintiff {range 'Company'}
+          person_plaintiff {range 'Person'}
+          lawsuitclass()
+          date()
+        }
+      }
+      CompanyLocation {
+        attrs {
+          company {range 'Company'}
+          city {range 'City'}
+          provinceorstate {range 'ProvinceOrState'}
+          country {range 'Country'}
+        }
+      }
+      CompanyMeeting {
+        attrs {
+          company {range 'Company'}
+          companymeetingtype {
+            allowedValues([ 
+              'AGM', 'EGM', "Shareholders' Meeting"])
+          }
+          country {range 'Country'}
+          city {range 'City'}
+          provinceorstate {range 'ProvinceOrState'}
+          status()
+          date()
+          meetingsite()
+        }
+      }
+      CompanyReorganization {
+        attrs {
+          company {range 'Company'}
+          status()
+        }
+      }
+      CompanyTechnology {
+        attrs {
+          company {range 'Company'}
+          technology()
+        }
+      }
+      ConferenceCall {
+        attrs {
+          company {range 'Company'}
+          ccalltype()
+          quarter()
+          status {allowedValues([
+            'announced', 'rumored', 'planned', 
+            'cancelled', 'postponed', 'known']) }
+          date()
+        }
+      }
+      CreditRating {
+        attrs {
+          company_source {range 'Company'}
+          company_rated {range 'Company'}
+          organization_rated {range 'Organization'}
+          trend {allowedValues([
+            'affirms', 'assigns', 'changes', 'cuts', 'expects to change', 
+            'puts', 'raises', 'rates', 'removes', 'says', 'withdraws']) }
+          rank_new()
+          rank_old()
+        }
+      }
+      FamilyRelation {
+        attrs {
+          person {range 'Person'}
+          person_relative ()    // not a range of person, just a string
+          familyrelationtype()
+        }
+      }
+      IPO {
+        attrs {
+          company {range 'Company'}
+          status {allowedValues([
+            'planned', 'announced', 'delayed', 'known']) }
+          date()
+        }
+      }
+      JointVenture {
+        attrs {
+          company {range 'Company'; multivalued()}
+          company_newname()
+          status {allowedValues([ 
+            'announced', 'planned', 'cancelled', 'postponed', 
+            'known'])
+          }
+        }
+      }
+      ManagementChange {
+        attrs {
+          company {range 'Company'}
+          organization {range 'Organization'}
+          person {range 'Person'}
+          position()
+          action {allowedValues([
+            'enters', 'leaves', 'retired'])
+          }
+        }
+      }
+      Merger {
+        attrs {
+          company {range 'Company'; multivalued()}
+          status {allowedValues([
+            'announced', 'planned', 'cancelled', 
+            'postponed', 'rumored', 'known']) }
+        }
+      }
+      PersonEducation {
+        attrs {
+          person {range 'Person'}
+          certification()
+          degree()
+          schoolororganization()
+        }
+      }
+      PersonPolitical {
+        attrs {
+          person {range 'Person'}
+          position()
+          country {range 'Country'}
+          provinceorstate {range 'ProvinceOrState'}
+          city {range 'City'}
+        }
+      }
+      PersonPoliticalPast {
+        attrs {
+          person {range 'Person'}
+          position()
+          country {range 'Country'}
+          provinceorstate {range 'ProvinceOrState'}
+          city {range 'City'}
+        }
+      }
+      PersonProfessional {
+        attrs {
+          person {range 'Person'}
+          position()
+          company {range 'Company'}
+          organization {range 'Organization'}
+        }
+      }
+      PersonProfessionalPast {
+        attrs {
+          person {range 'Person'}
+          position()
+          company {range 'Company'}
+          organization {range 'Organization'}
+        }
+      }
+      Quotation {
+        attrs {
+          person {range 'Person'}
+          quote()
+        }
+      }
+      StockSplit {
+        attrs {
+          company {range 'Company'}
+        }
+      }
+    }    
+  }
+  
+  static final String TYPE_PREFIX = 'org.apache.uima.calaisType.'
+  /**
+   * Run this to print out a UIMA type system description for the above calais types
+   * 
+   * Types:
+   *   each entity has a type
+   *   each relation has a type
+   *   an instance of an entity or relation has begin/end plus a ref to an entity or a type
+   */
+  static void main(args) {
+    def writer = new StringWriter()
+    def utypes = new groovy.xml.MarkupBuilder(writer)     
+    utypes.types {
+      typeDescription {
+        name "${TYPE_PREFIX}Base"
+        supertypeName 'uima.cas.TOP'
+      }
+      typeDescription {
+        name "${TYPE_PREFIX}Entity"
+        supertypeName "${TYPE_PREFIX}Base"
+      }
+      typeDescription {
+        name "${TYPE_PREFIX}Relation"
+        supertypeName "${TYPE_PREFIX}Base"
+      }
+      typeDescription {
+        name "${TYPE_PREFIX}Instance"
+        supertypeName "uima.tcas.Annotation"
+      }
+      
+      typeDescription {
+        name "${TYPE_PREFIX}EntityInstance"
+        supertypeName "${TYPE_PREFIX}Instance"
+        features {
+          featureDescription {
+            name 'entity'
+            rangeTypeName "${TYPE_PREFIX}Entity"
+          }
+        }
+      }
+      
+      typeDescription {
+        name "${TYPE_PREFIX}RelationInstance"
+        supertypeName "${TYPE_PREFIX}Instance"
+        features {
+          featureDescription {
+            name 'relation'
+            rangeTypeName "${TYPE_PREFIX}Relation"
+          }
+        }
+      }
+      
+      calaisTypes.entity[0].each {
+        def entityName = it.name()
+        typeDescription {
+          name "${TYPE_PREFIX}entity.${entityName}"
+          supertypeName "${TYPE_PREFIX}Entity"
+          features {
+            featureDescription {
+              name 'canonicalForm'
+              rangeTypeName 'uima.cas.String'
+            }
+          }
+        }
+      }
+      
+      calaisTypes.factOrEvent[0].each {
+        def relation = it
+        typeDescription {
+          name "${TYPE_PREFIX}relation.${relation.name()}"
+          supertypeName "${TYPE_PREFIX}Relation"
+          features {
+            relation.attrs[0].each {
+              def feat = it
+              featureDescription {
+               name feat.name()
+                if (feat.allowedValues[0]) { 
+                  rangeTypeName 'uima.cas.String'                
+                } else if (feat.range[0]) {
+                  if (feat.multivalued[0]) {
+                    rangeTypeName 'uima.cas.FSArray'
+                    elementType "${TYPE_PREFIX}entity.${feat.range[0].text()}"
+                  } else {
+                    rangeTypeName "${TYPE_PREFIX}entity.${feat.range[0].text()}"
+                  }
+                } else {
+                  rangeTypeName 'uima.cas.String'
+                }
+              } 
+            }
+          }
+        }
+      }
+    }
+    println writer.toString()
+  }
+}