<?xml version="1.0"?>
<!-- $Id: dtd.xml,v 1.1 2007/06/03 02:35:28 ssttoo Exp $ -->

<highlight lang="dtd" case="yes">

  <authors>
    <author name="Andrey Demenev" email="demenev@gmail.com"/>
  </authors>


  <default innerClass="code" />

  <region name="comment" delimClass="comment" innerClass="comment"
          start="\&lt;!--" end="--\&gt;">
  </region>

  <region name="redecl" start="\&lt;\!\[" end="\]\]\&gt;" delimClass="brackets" 
          innerClass="code" never-contained="yes">
    <contains all="yes" />
  </region>

  <region name="tag" start="\&lt;" end="\&gt;" delimClass="brackets" 
          innerClass="code" >
    <contains all="yes" />
    <onlyin region="redecl"/>
  </region>

  <region name="brackets" start="\(" end="\)" delimClass="brackets" 
          innerClass="code" contained="yes">
    <onlyin region="tag"/>
    <onlyin region="brackets"/>
    <contains block="entity" />
    <contains block="identifier" />
  </region>

  <region name="strsingle" start="'" end="'" delimClass="quotes" 
          innerClass="string" contained="yes">
    <onlyin region="tag"/>
    <contains block="entity" />
  </region>

  <region name="strdouble" start="&quot;" end="&quot;" delimClass="quotes" 
          innerClass="string" contained="yes">
    <onlyin region="tag"/>
    <contains block="entity" />
  </region>

  <block name="tagname" match="(?&lt;=\&lt;)!(ENTITY|ATTLIST|ELEMENT|NOTATION)\b" 
         innerClass="var" contained="yes">
    <onlyin region="tag"/>
  </block>

  <block name="reserved" match="\s(#(IMPLIED|REQUIRED|FIXED))|CDATA|ENTITY|NOTATION|NMTOKENS?|PUBLIC|SYSTEM\b" 
         innerClass="reserved" contained="yes">
    <onlyin region="tag"/>
  </block>

  <block name="pcdata" match="#PCDATA\b" 
         innerClass="reserved" contained="yes" />

  <block name="entity" match="(\&amp;|\%)[\w\-\.]+;" innerClass="special" />

  <block name="identifier" match="[a-z][a-z\d\-\,:]+" 
         innerClass="identifier" contained="yes" case="no"/>

</highlight>