<?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>org.apache.uima.ruta.engine.HtmlTypeSystem</name>
  <description/>
  <version>1.0</version>
  <vendor/>
  <types>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TAG</name>
      <description></description>
      <supertypeName>uima.tcas.Annotation</supertypeName>
      <features>
        <featureDescription>
          <name>name</name>
          <description></description>
          <rangeTypeName>uima.cas.String</rangeTypeName>
        </featureDescription>
        <featureDescription>
          <name>expandedOffsets</name>
          <description></description>
          <rangeTypeName>uima.cas.Boolean</rangeTypeName>
        </featureDescription>
        <featureDescription>
          <name>attributeName</name>
          <description></description>
          <rangeTypeName>uima.cas.StringArray</rangeTypeName>
          <multipleReferencesAllowed>false</multipleReferencesAllowed>
        </featureDescription>
        <featureDescription>
          <name>attributeValue</name>
          <description/>
          <rangeTypeName>uima.cas.StringArray</rangeTypeName>
          <multipleReferencesAllowed>false</multipleReferencesAllowed>
        </featureDescription>
      </features>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.B</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.H1</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.H2</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.H3</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.H4</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.H5</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.H6</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.COMMENT</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TITLE</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.I</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.U</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.BIG</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.SMALL</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.FONT</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.A</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.HEAD</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.HTML</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.BODY</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.EM</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TABLE</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.DIV</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.SPAN</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.UL</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.OL</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.P</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.LI</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TBODY</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TD</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TR</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.TH</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.IMG</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.STYLE</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.SCRIPT</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.LINK</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.INPUT</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.FORM</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.META</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.BR</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
    </typeDescription>
    <typeDescription>
      <name>org.apache.uima.ruta.type.html.REMARK</name>
      <description></description>
      <supertypeName>org.apache.uima.ruta.type.html.TAG</supertypeName>
      <features>
        <featureDescription>
          <name>comment</name>
          <description></description>
          <rangeTypeName>uima.cas.String</rangeTypeName>
        </featureDescription>
      </features>
    </typeDescription>
  </types>
</typeSystemDescription>
