<!ENTITY reg     "&#x0052;">
<!ENTITY cent    "&#x00A2;">
<!ENTITY copy    "&#x00A9;">
<!ENTITY sup1    "&#x00B1;">
<!ENTITY sup2    "&#x00B2;">
<!ENTITY sup3    "&#x00B3;">
<!ENTITY frac14  "&#x00BC;">
<!ENTITY frac12  "&#x00BD;">
<!ENTITY frac34  "&#x00BE;">

<!ENTITY Aacute  "&#x00C1;">
<!ENTITY Acirc   "&#x00C2;">
<!ENTITY AElig   "&#x00C6;">
<!ENTITY ccedil  "&#x00C7;">
<!ENTITY Eacute  "&#x00C9;">
<!ENTITY Euml    "&#x00CB;">
<!ENTITY Ouml    "&#x00D6;">
<!ENTITY times   "&#x00D7;">
<!ENTITY Uacute  "&#x00DA;">
<!ENTITY Uuml    "&#x00DC;">
<!ENTITY szlig   "&#x00DF;">
<!ENTITY aacute  "&#x00E1;">
<!ENTITY acirc   "&#x00E2;">
<!ENTITY auml    "&#x00E4;">
<!ENTITY aelig   "&#x00E6;">
<!ENTITY ccedil  "&#x00E7;">
<!ENTITY eacute  "&#x00E9;">
<!ENTITY euml    "&#x00EB;">
<!ENTITY iuml    "&#x00EF;">
<!ENTITY ouml    "&#x00F6;">
<!ENTITY uacute  "&#x00FA;">
<!ENTITY uuml    "&#x00FC;">
<!ENTITY IJlig   "&#x0132;">
<!ENTITY ijlig   "&#x0133;">
<!ENTITY ndash   "&#x2013;">
<!ENTITY mdash   "&#x2014;">
<!ENTITY lsquo   "&#x2018;">
<!ENTITY rsquo   "&#x2019;">
<!ENTITY ldquo   "&#x201C;">
<!ENTITY rdquo   "&#x201D;">
<!ENTITY flat    "&#x266D;">
<!ENTITY natural "&#x266D;">
<!ENTITY sharp   "&#x266F;">
  
  <!--

all:   Used for the "All Info" Element
crd:   Credit Information
crf:   Cross-Reference Information
fnc:   For functions in the code
furc:  Furcadia information
lnk:   External links
mn:    Main Page Information
nf:    Newsfeeds
otr:   Other Data
pg:    Page Information
pic:   Pictures
rec:   Recording Stuff
sec:   Main Page Sections
xhtml: XHTML coding
wri:   Written Stuff
-->

<!ENTITY % ns       "xmlns        CDATA #FIXED 'http://www.w3.org/1999/xhtml'">
<!ENTITY % ns.all   "xmlns:all    CDATA #FIXED 'http://www.mrinitialman.com/' ">
<!ENTITY % ns.crd   "xmlns:crd    CDATA #FIXED 'http://www.mrinitialman.com/Credits/' ">
<!ENTITY % ns.crf   "xmlns:crf    CDATA #FIXED 'http://www.mrinitialman.com/CrossReferences/' ">
<!ENTITY % ns.char  "xmlns:char   CDATA #FIXED 'http://www.mrinitialman.com/Characters/' ">
<!ENTITY % ns.dt    "xmlns:dt     CDATA #FIXED 'http://www.mrinitialman.com/Date/' ">
<!ENTITY % ns.fl    "xmlns:fl     CDATA #FIXED 'http://www.mrinitialman.com/Files/' ">
<!ENTITY % ns.fnc   "xmlns:fnc    CDATA #FIXED 'http://www.mrinitialman.com/Functions/' ">
<!ENTITY % ns.furc  "xmlns:furc   CDATA #FIXED 'http://www.mrinitialman.com/Furcadia/' ">
<!ENTITY % ns.lnk   "xmlns:lnk    CDATA #FIXED 'http://www.mrinitialman.com/Links/' ">
<!ENTITY % ns.mn    "xmlns:mn     CDATA #FIXED 'http://www.mrinitialman.com/MainPage/' ">
<!ENTITY % ns.nf    "xmlns:nf     CDATA #FIXED 'http://www.mrinitialman.com/Newsfeed/' ">
<!ENTITY % ns.pg    "xmlns:pg     CDATA #FIXED 'http://www.mrinitialman.com/PageData/' ">
<!ENTITY % ns.pic   "xmlns:pic    CDATA #FIXED 'http://www.mrinitialman.com/Pictures/' ">
<!ENTITY % ns.rec   "xmlns:rec    CDATA #FIXED 'http://www.mrinitialman.com/Recordings/' ">
<!ENTITY % ns.sec   "xmlns:sec    CDATA #FIXED 'http://www.mrinitialman.com/Sections/' ">
<!ENTITY % ns.svg   "xmlns:svg    CDATA #FIXED 'http://www.w3.org/2000/svg' ">
<!ENTITY % ns.wri   "xmlns:wri    CDATA #FIXED 'http://www.mrinitialman.com/Writing/' ">
<!ENTITY % ns.xlink "xmlns:xlink  CDATA #FIXED 'http://www.w3.org/1999/xlink' ">

<!ENTITY % idreq "id ID #REQUIRED">

<!ENTITY % ymd "dt:yr CDATA #REQUIRED dt:mo NMTOKEN #REQUIRED dt:dy CDATA #REQUIRED ">

<!ENTITY % picformat "jpg | bmp | jpeg | gif | png" >

<!ENTITY % funcs.block " fnc:PageLinkList | fnc:Function | fnc:MainPageLink | fnc:PageLink | fnc:TOC">

<!ENTITY % funcs.inline " fnc:BibleRef | fnc:CredRef | fnc:DSLn | fnc:Function | fnc:LinkRef | fnc:MainPageLink | fnc:PageLink  | fnc:RunXPath | fnc:ToRoman ">

<!-- ====================================================================== -->
<!--                                                                        -->
<!--                               XHTML  1.0                               -->
<!--                                                                        -->
<!-- ====================================================================== -->
<!-- 
   Extensible HTML version 1.0 Strict DTD

   This is the same as HTML 4 Strict except for
   changes due to the differences between XML and SGML.

   Namespace = http://www.w3.org/1999/xhtml

   For further information, see: http://www.w3.org/TR/xhtml1

   Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
   All Rights Reserved. 

   This DTD module is identified by the PUBLIC and SYSTEM identifiers:

   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

   $Revision: 1.1 $
   $Date: 2018/03/20 03:13:13 $

 -->

<!-- ================ Character mnemonic entities ========================= -->

<!-- <!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "xhtml-lat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "xhtml-symbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "xhtml-special.ent">
%HTMLspecial;
--> 
<!-- ================== Imported Names ==================================== -->

<!ENTITY % Boolean "(false | true)">
    <!-- feature specification -->

<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
    <!-- 'clip-rule' or fill-rule property/attribute value -->

<!ENTITY % Shape "(rect|circle|poly|default)">

<!ENTITY % StructuredText
  "content CDATA #FIXED 'structured text'" >

<!-- =================== Generic Attributes =============================== -->

<!--  core attributes common to most elements
  id    document-wide unique id
  class space separated list of classes
  style associated style info
  title advisory title/amplification
 -->
 
<!ENTITY % coreattrs "
  id    ID    #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  title CDATA #IMPLIED
">

<!--  internationalization attributes
  lang     language code (backwards compatible)
  xml:lang language code (as per XML 1.0 spec)
  dir      direction for weak/neutral text
 -->
<!ENTITY % langatts "
  lang     NMTOKEN   #IMPLIED
  xml:lang NMTOKEN   #IMPLIED
  dir      (ltr|rtl) #IMPLIED
">

<!--  attributes for common UI events
  onclick     a pointer button was clicked
  ondblclick  a pointer button was double clicked
  onmousedown a pointer button was pressed down
  onmouseup   a pointer button was released
  onmousemove a pointer was moved onto the element
  onmouseout  a pointer was moved away from the element
  onkeypress  a key was pressed and released
  onkeydown   a key was pressed down
  onkeyup     a key was released
 -->
<!ENTITY % events "
  onclick     CDATA #IMPLIED
  ondblclick  CDATA #IMPLIED
  onmousedown CDATA #IMPLIED
  onmouseup   CDATA #IMPLIED
  onmouseover CDATA #IMPLIED
  onmousemove CDATA #IMPLIED
  onmouseout  CDATA #IMPLIED
  onkeypress  CDATA #IMPLIED
  onkeydown   CDATA #IMPLIED
  onkeyup     CDATA #IMPLIED
">

<!--  attributes for elements that can get the focus
  accesskey   accessibility key character
  tabindex    position in tabbing order
  onfocus     the element got the focus
  onblur      the element lost the focus
 -->
<!ENTITY % focus "
  accesskey CDATA #IMPLIED
  tabindex  CDATA #IMPLIED
  onfocus   CDATA #IMPLIED
  onblur    CDATA #IMPLIED
">

<!ENTITY % attrs "%coreattrs; %langatts; %events;">

<!-- =================== Text Elements ==================================== -->

<!ENTITY % special.pre "br | span | bdo | map ">


<!ENTITY % special "%special.pre; | object | img ">

<!ENTITY % phrase "em | strong | dfn | code | q | samp | kbd | var | cite | abbr | acronym | sub | sup ">

<!ENTITY % pcphrase "#PCDATA | %phrase; | span | br">
                   
<!ENTITY % inline.forms "input | select | textarea | label | button ">

<!--  these can occur at block or inline level  -->
<!ENTITY % misc.inline "ins | del | script ">

<!--  these can only occur at block level  -->
<!ENTITY % misc "noscript | %misc.inline; ">

<!ENTITY % inline "a | %special; | %phrase; | %inline.forms; | %funcs.inline; |  svg:svg">

<!--  %Inline; covers inline or "text-level" elements  -->
<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)* ">

<!-- ================== Block level elements ============================== -->

<!ENTITY % heading " h1 | h2 | h3 | h4 | h5 | h6 ">
<!ENTITY % lists "ul | ol | dl">
<!ENTITY % blocktext " pre | hr | blockquote | address ">

<!ENTITY % block " p | %heading; | div | %lists; | %blocktext; | fieldset | %funcs.block; | table ">

<!ENTITY % Block "(%block; | form | %misc;)* ">

<!--  %Flow; mixes block and inline and is used for list items etc.  -->
<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc; | fnc:TOC)* ">

<!-- ================== Content models for exclusions ===================== -->

<!--  a elements use %Inline; excluding a  -->

<!ENTITY % a.content "(#PCDATA | %special; |  %phrase; | %inline.forms; | %misc.inline;)* ">

<!--  pre uses %Inline excluding big, small, sup or sup  -->

<!ENTITY % pre.content "(#PCDATA | a |  %phrase; | %special.pre; | %misc.inline; | %inline.forms;)* ">

<!--  form uses %Block; excluding form  -->

<!ENTITY % form.content " (%block; | %misc;)* ">

<!--  button uses %Flow; but excludes a, form and form controls  -->

<!ENTITY % button.content "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | table | %special; |  %phrase; | %misc;)* ">

<!-- ================ Document Structure ================================== -->

<!--  the namespace URI designates the document profile  -->

<!ELEMENT html (head, body)>
<!ATTLIST html
  %langatts;
  id ID #IMPLIED
  %ns;
  %ns.fnc;
>

<!-- ================ Document Head ======================================= -->

<!ENTITY % head.misc "( script | style | meta | link | object )* ">

<!--  content model is %head.misc; combined with a single
     title and an optional base element in any order  -->

<!ELEMENT head (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) | (base, %head.misc;, (title, %head.misc;))))>

<!ATTLIST head
  %langatts;
  id      ID    #IMPLIED
  profile CDATA #IMPLIED
>

<!--  The title element is not considered part of the flow of text.
       It should be displayed, for example as the page header or
       window title. Exactly one title is required per document.
     -->
<!ELEMENT title (#PCDATA)>
<!ATTLIST title 
  %langatts;
  id ID #IMPLIED
>

<!--  document base URI  -->

<!ELEMENT base EMPTY>
<!ATTLIST base
  href CDATA #REQUIRED
  id   ID    #IMPLIED
>

<!--  generic metainformation  -->
<!ELEMENT meta EMPTY>
<!ATTLIST meta
  %langatts;
  id         ID    #IMPLIED
  http-equiv CDATA #IMPLIED
  name       CDATA #IMPLIED
  content    CDATA #REQUIRED
  scheme     CDATA #IMPLIED
>

<!-- 
  Relationship values can be used in principle:

   a) for document specific toolbars/menus when used
      with the link element in document head e.g.
        start, contents, previous, next, index, end, help
   b) to link to a separate style sheet (rel="stylesheet")
   c) to make a link to a script (rel="script")
   d) by stylesheets to control how collections of
      html nodes are rendered into printed documents
   e) to make a link to a printable version of this document
      e.g. a PostScript or PDF version (rel="alternate" media="print")
 -->

<!ELEMENT link EMPTY>
<!ATTLIST link
  %attrs;
  charset  CDATA   #IMPLIED
  href     CDATA   #IMPLIED
  hreflang NMTOKEN #IMPLIED
  type     CDATA   #IMPLIED
  rel      CDATA   #IMPLIED
  rev      CDATA   #IMPLIED
  media    CDATA   #IMPLIED
>

<!--  style info, which may include CDATA sections  -->
<!ELEMENT style (#PCDATA)>
<!ATTLIST style
  %langatts;
  id        ID         #IMPLIED
  type      CDATA      #REQUIRED
  media     CDATA      #IMPLIED
  title     CDATA      #IMPLIED
  xml:space (preserve) #FIXED 'preserve'
>

<!--  script statements, which may include CDATA sections  -->
<!ELEMENT script (#PCDATA)>
<!ATTLIST script
  id          ID         #IMPLIED
  charset     CDATA      #IMPLIED
  type        CDATA      #REQUIRED
  src         CDATA      #IMPLIED
  defer       (defer)    #IMPLIED
  xml:space   (preserve) #FIXED 'preserve'
>

<!--  alternate content container for non script-based rendering  -->

<!ELEMENT noscript %Block;>
<!ATTLIST noscript %attrs;>

<!-- =================== Document Body ==================================== -->

<!ELEMENT body %Block;>
<!ATTLIST body
  %attrs;
  onload   CDATA #IMPLIED
  onunload CDATA #IMPLIED
>

<!ELEMENT div %Flow;>  <!--  generic language/style container  -->
<!ATTLIST div %attrs;>

<!-- =================== Paragraphs ======================================= -->

<!ELEMENT p %Inline;>
<!ATTLIST p %attrs;>

<!-- =================== Headings ========================================= -->

<!-- 
  There are six levels of headings from h1 (the most important)
  to h6 (the least important).
 -->

<!ELEMENT h1 %Inline;>
<!ATTLIST h1 %attrs;>

<!ELEMENT h2 %Inline;>
<!ATTLIST h2 %attrs;>

<!ELEMENT h3 %Inline;>
<!ATTLIST h3 %attrs;>

<!ELEMENT h4 %Inline;>
<!ATTLIST h4 %attrs;>

<!ELEMENT h5 %Inline;>
<!ATTLIST h5 %attrs;>

<!ELEMENT h6 %Inline;>
<!ATTLIST h6 %attrs;>

<!-- =================== Lists ============================================ -->

<!--  Unordered list  -->

<!ELEMENT ul (li)+>
<!ATTLIST ul %attrs;>

<!--  Ordered (numbered) list  -->

<!ELEMENT ol (li)+>
<!ATTLIST ol %attrs;>

<!--  list item  -->

<!ELEMENT li %Flow;>
<!ATTLIST li %attrs;>

<!--  definition lists - dt for term, dd for its definition  -->

<!ELEMENT dl (dt|dd)+>
<!ATTLIST dl %attrs;>

<!ELEMENT dt %Inline;>
<!ATTLIST dt %attrs;>

<!ELEMENT dd %Flow;>
<!ATTLIST dd %attrs;>

<!-- =================== Address ========================================== -->

<!--  information on author  -->

<!ELEMENT address %Inline;>
<!ATTLIST address %attrs;>

<!-- =================== Horizontal Rule ================================== -->

<!ELEMENT hr EMPTY>
<!ATTLIST hr %attrs;>

<!-- =================== Preformatted Text ================================ -->

<!--  content is %Inline; excluding "img|object|big|small|sub|sup"  -->

<!ELEMENT pre %pre.content;>
<!ATTLIST pre
  %attrs;
  xml:space (preserve) #FIXED 'preserve'
>

<!-- =================== Block-like Quotes ================================ -->

<!ELEMENT blockquote %Block;>
<!ATTLIST blockquote
  %attrs;
  cite        CDATA          #IMPLIED
>

<!-- =================== Inserted/Deleted Text ============================ -->

<!-- 
  ins/del are allowed in block and inline content, but its
  inappropriate to include block content within an ins element
  occurring in inline content.
 -->
<!ELEMENT ins %Flow;>
<!ATTLIST ins
  %attrs;
  cite        CDATA          #IMPLIED
  datetime    CDATA     #IMPLIED
>

<!ELEMENT del %Flow;>
<!ATTLIST del
  %attrs;
  cite        CDATA          #IMPLIED
  datetime    CDATA     #IMPLIED
>

<!-- ================== The Anchor Element ================================ -->

<!--  content is %Inline; except that anchors shouldn't be nested  -->

<!ELEMENT a %a.content;>
<!ATTLIST a
  %attrs;
  %focus;
  charset     CDATA      #IMPLIED
  type        CDATA      #IMPLIED
  name        NMTOKEN    #IMPLIED
  href        CDATA      #IMPLIED
  hreflang    NMTOKEN    #IMPLIED
  rel         CDATA      #IMPLIED
  rev         CDATA      #IMPLIED
  shape       %Shape;    "rect"
  coords      CDATA       #IMPLIED
>

<!-- ===================== Inline Elements ================================ -->

<!ELEMENT span %Inline;> <!--  generic language/style container  -->
<!ATTLIST span %attrs;>

<!ELEMENT bdo %Inline;>  <!--  langatts BiDi over-ride  -->
<!ATTLIST bdo
  %coreattrs;
  %events;
  lang        NMTOKEN #IMPLIED
  xml:lang    NMTOKEN #IMPLIED
  dir         (ltr|rtl)      #REQUIRED
>

<!ELEMENT br EMPTY>   <!--  forced line break  -->
<!ATTLIST br %coreattrs;>

<!ELEMENT em %Inline;>   <!--  emphasis  -->
<!ATTLIST em %attrs;>

<!ELEMENT strong %Inline;>   <!--  strong emphasis  -->
<!ATTLIST strong %attrs;>

<!ELEMENT dfn %Inline;>   <!--  definitional  -->
<!ATTLIST dfn %attrs;>

<!ELEMENT code %Inline;>   <!--  program code  -->
<!ATTLIST code %attrs;>

<!ELEMENT samp %Inline;>   <!--  sample  -->
<!ATTLIST samp %attrs;>

<!ELEMENT kbd %Inline;>  <!--  something user would type  -->
<!ATTLIST kbd %attrs;>

<!ELEMENT var %Inline;>   <!--  variable  -->
<!ATTLIST var %attrs;>

<!ELEMENT cite %Inline;>   <!--  citation  -->
<!ATTLIST cite %attrs;>

<!ELEMENT abbr %Inline;>   <!--  abbreviation  -->
<!ATTLIST abbr %attrs;>

<!ELEMENT acronym %Inline;>   <!--  acronym  -->
<!ATTLIST acronym %attrs;>

<!ELEMENT q %Inline;>   <!--  inlined quote  -->
<!ATTLIST q
  %attrs;
  cite        CDATA          #IMPLIED
>

<!ELEMENT sub %Inline;> <!--  subscript  -->
<!ATTLIST sub %attrs;>

<!ELEMENT sup %Inline;> <!--  superscript  -->
<!ATTLIST sup %attrs;>

<!ELEMENT tt %Inline;>   <!--  fixed pitch font  -->
<!ATTLIST tt %attrs;>

<!ELEMENT i %Inline;>   <!--  italic font  -->
<!ATTLIST i %attrs;>

<!ELEMENT b %Inline;>   <!--  bold font  -->
<!ATTLIST b %attrs;>

<!ELEMENT big %Inline;>   <!--  bigger font  -->
<!ATTLIST big %attrs;>

<!ELEMENT small %Inline;>   <!--  smaller font  -->
<!ATTLIST small %attrs;>

<!-- ==================== Object ====================================== -->
<!-- 
  object is used to embed objects as part of HTML pages.
  param elements should precede other content. Parameters
  can also be expressed as attribute/value pairs on the
  object element itself when brevity is desired.
 -->

<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
<!ATTLIST object
  %attrs;
  declare  (declare) #IMPLIED
  classid  CDATA     #IMPLIED
  codebase CDATA     #IMPLIED
  data     CDATA     #IMPLIED
  type     CDATA     #IMPLIED
  codetype CDATA     #IMPLIED
  archive  CDATA     #IMPLIED
  standby  CDATA     #IMPLIED
  height   CDATA     #IMPLIED
  width    CDATA     #IMPLIED
  usemap   CDATA     #IMPLIED
  name     NMTOKEN   #IMPLIED
  tabindex CDATA     #IMPLIED
>

<!-- 
  param is used to supply a named property value.
  In XML it would seem natural to follow RDF and support an
  abbreviated syntax where the param elements are replaced
  by attribute value pairs on the object start tag.
 -->
<!ELEMENT param EMPTY>
<!ATTLIST param
  id          ID                #IMPLIED
  name        CDATA             #IMPLIED
  value       CDATA             #IMPLIED
  valuetype   (data|ref|object) "data"
  type        CDATA             #IMPLIED
>

<!-- =================== Images =========================================== -->

<!-- 
   To avoid accessibility problems for people who aren't
   able to see the image, you should provide a text
   description using the alt and longdesc attributes.
   In addition, avoid the use of server-side image maps.
   Note that in this DTD there is no name attribute. That
   is only available in the transitional and frameset DTD.
 -->

<!ELEMENT img EMPTY>
<!ATTLIST img
  %attrs;
  src         CDATA   #REQUIRED
  alt         CDATA   #REQUIRED
  longdesc    CDATA   #IMPLIED
  height      CDATA   #IMPLIED
  width       CDATA   #IMPLIED
  usemap      CDATA   #IMPLIED
  ismap       (ismap) #IMPLIED
>

<!--  usemap points to a map element which may be in this document
  or an external document, although the latter is not widely supported  -->

<!-- ================== Client-side image maps ============================ -->

<!--  These can be placed in the same document or grouped in a
     separate document although this isn't yet widely supported  -->

<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
<!ATTLIST map
  %langatts;
  %events;
  %idreq;
  class CDATA   #IMPLIED
  style CDATA   #IMPLIED
  title CDATA   #IMPLIED
  name  NMTOKEN #IMPLIED
>

<!ELEMENT area EMPTY>
<!ATTLIST area
  %attrs;
  %focus;
  shape  %Shape;  "rect"
  coords CDATA    #IMPLIED
  href   CDATA    #IMPLIED
  nohref (nohref) #IMPLIED
  alt    CDATA    #REQUIRED
>

<!-- ================ Forms =============================================== -->
<!ELEMENT form %form.content;>   <!--  forms shouldn't be nested  -->

<!ATTLIST form
  %attrs;
  action         CDATA      #REQUIRED
  method         (get|post) "get"
  enctype        CDATA      "application/x-www-form-urlencoded"
  onsubmit       CDATA      #IMPLIED
  onreset        CDATA      #IMPLIED
  accept         CDATA      #IMPLIED
  accept-charset CDATA      #IMPLIED
>

<!-- 
  Each label must not contain more than ONE field
  Label elements shouldn't be nested.
 -->
<!ELEMENT label %Inline;>
<!ATTLIST label
  %attrs;
  for       IDREF #IMPLIED
  accesskey CDATA #IMPLIED
  onfocus   CDATA #IMPLIED
  onblur    CDATA #IMPLIED
>

<!ENTITY % InputType "(text | password | checkbox | radio | submit | reset | file | hidden | image | button) ">

<!--  the name attribute is required for all but submit & reset  -->

<!ELEMENT input EMPTY>     <!--  form control  -->
<!ATTLIST input
  %attrs;
  %focus;
  type        %InputType; "text"
  name        CDATA       #IMPLIED
  value       CDATA       #IMPLIED
  checked     (checked)   #IMPLIED
  disabled    (disabled)  #IMPLIED
  readonly    (readonly)  #IMPLIED
  size        CDATA       #IMPLIED
  maxlength   CDATA       #IMPLIED
  src         CDATA       #IMPLIED
  alt         CDATA       #IMPLIED
  usemap      CDATA       #IMPLIED
  onselect    CDATA       #IMPLIED
  onchange    CDATA       #IMPLIED
  accept      CDATA       #IMPLIED
>

<!ELEMENT select (optgroup|option)+>  <!--  option selector  -->
<!ATTLIST select
  %attrs;
  name        CDATA      #IMPLIED
  size        CDATA      #IMPLIED
  multiple    (multiple) #IMPLIED
  disabled    (disabled) #IMPLIED
  tabindex    CDATA      #IMPLIED
  onfocus     CDATA      #IMPLIED
  onblur      CDATA      #IMPLIED
  onchange    CDATA      #IMPLIED
>

<!ELEMENT optgroup (option)+>   <!--  option group  -->
<!ATTLIST optgroup
  %attrs;
  disabled    (disabled) #IMPLIED
  label       CDATA      #REQUIRED
>

<!ELEMENT option (#PCDATA)>     <!--  selectable choice  -->
<!ATTLIST option
  %attrs;
  selected    (selected) #IMPLIED
  disabled    (disabled) #IMPLIED
  label       CDATA      #IMPLIED
  value       CDATA      #IMPLIED
>

<!ELEMENT textarea (#PCDATA)>     <!--  multi-line text field  -->
<!ATTLIST textarea
  %attrs;
  %focus;
  name        CDATA      #IMPLIED
  rows        CDATA      #REQUIRED
  cols        CDATA      #REQUIRED
  disabled    (disabled) #IMPLIED
  readonly    (readonly) #IMPLIED
  onselect    CDATA      #IMPLIED
  onchange    CDATA      #IMPLIED
>

<!-- 
  The fieldset element is used to group form fields.
  Only one legend element should occur in the content
  and if present should only be preceded by whitespace.
 -->
<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
<!ATTLIST fieldset
  %attrs;
>

<!ELEMENT legend %Inline;>     <!--  fieldset label  -->
<!ATTLIST legend
  %attrs;
  accesskey   CDATA    #IMPLIED
>

<!-- 
 Content is %Flow; excluding a, form and form controls
 --> 
<!ELEMENT button %button.content;>  <!--  push button  -->
<!ATTLIST button
  %attrs;
  %focus;
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED
  type        (button|submit|reset) "submit"
  disabled    (disabled)     #IMPLIED
>

<!-- ======================= Tables ======================================= -->

<!--  Derived from IETF HTML table standard, see [RFC1942]  -->

<!-- 
 The border attribute sets the thickness of the frame around the
 table. The default units are screen pixels.

 The frame attribute specifies which parts of the frame around
 the table should be rendered. The values are not the same as
 CALS to avoid a name clash with the valign attribute.
 -->
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">

<!-- 
 The rules attribute defines which rules to draw between cells:

 If rules is absent then assume:
     "none" if border is absent or border="0" otherwise "all"
 -->

<!ENTITY % TRules "(none | groups | rows | cols | all)">
  
<!--  horizontal alignment attributes for cell contents

  char        alignment char, e.g. char=':'
  charoff     offset for alignment char
 -->
<!ENTITY % cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       CDATA #IMPLIED
   charoff    CDATA #IMPLIED"
>

<!--  vertical alignment attributes for cell contents  -->
<!ENTITY % cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
>

<!ELEMENT table
     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
<!ELEMENT caption  %Inline;>
<!ELEMENT thead    (tr)+>
<!ELEMENT tfoot    (tr)+>
<!ELEMENT tbody    (tr)+>
<!ELEMENT colgroup (col)*>
<!ELEMENT col      EMPTY>
<!ELEMENT tr       (th|td)+>
<!ELEMENT th       %Flow;>
<!ELEMENT td       %Flow;>

<!ATTLIST table
  %attrs;
  summary     CDATA    #IMPLIED
  width       CDATA    #IMPLIED
  border      CDATA    #IMPLIED
  frame       %TFrame; #IMPLIED
  rules       %TRules; #IMPLIED
  cellspacing CDATA    #IMPLIED
  cellpadding CDATA    #IMPLIED
>

<!ATTLIST caption
  %attrs;
>

<!-- 
colgroup groups a set of col elements. It allows you to group
several semantically related columns together.
 -->
<!ATTLIST colgroup
  %attrs;
  span        CDATA  "1"
  width       CDATA  #IMPLIED
  %cellhalign;
  %cellvalign;
>

<!-- 
 col elements define the alignment properties for cells in
 one or more columns.

 The width attribute specifies the width of the columns, e.g.

     width=64        width in screen pixels
     width=0.5*      relative width of 0.5

 The span attribute causes the attributes of one
 col element to apply to more than one column.
 -->
<!ATTLIST col
  %attrs;
  span        CDATA  "1"
  width       CDATA  #IMPLIED
  %cellhalign;
  %cellvalign;
>

<!-- 
    Use thead to duplicate headers when breaking table
    across page boundaries, or for static headers when
    tbody sections are rendered in scrolling panel.

    Use tfoot to duplicate footers when breaking table
    across page boundaries, or for static footers when
    tbody sections are rendered in scrolling panel.

    Use multiple tbody sections when rules are needed
    between groups of table rows.
 -->
<!ATTLIST thead
  %attrs;
  %cellhalign;
  %cellvalign;
>

<!ATTLIST tfoot
  %attrs;
  %cellhalign;
  %cellvalign;
>

<!ATTLIST tbody
  %attrs;
  %cellhalign;
  %cellvalign;
>

<!ATTLIST tr
  %attrs;
  %cellhalign;
  %cellvalign;
>


<!--  Scope is simpler than headers attribute for common tables  -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">

<!--  th is for headers, td for data and for cells acting as both  -->

<!ATTLIST th
  %attrs;
  abbr        CDATA   #IMPLIED
  axis        CDATA   #IMPLIED
  headers     IDREFS  #IMPLIED
  scope       %Scope; #IMPLIED
  rowspan     CDATA   "1"
  colspan     CDATA   "1"
  %cellhalign;
  %cellvalign;
>

<!ATTLIST td
  %attrs;
  abbr    CDATA   #IMPLIED
  axis    CDATA   #IMPLIED
  headers IDREFS  #IMPLIED
  scope   %Scope; #IMPLIED
  rowspan CDATA   "1"
  colspan CDATA   "1"
  %cellhalign;
  %cellvalign;
  
  
>


<!-- =====================================================================
  This is the DTD for SVG 1.0.

  The specification for SVG that corresponds to this DTD is available at:

    http://www.w3.org/TR/2001/REC-SVG-20010904/

  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

  For SVG 1.0:

    Namespace:
      http://www.w3.org/2000/svg  

    Public identifier:
      PUBLIC "-//W3C//DTD SVG 1.0//EN"

    URI for the DTD:
      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
============================================================================= -->


<!-- =====================================================================
  This is the DTD for SVG 1.0.

  The specification for SVG that corresponds to this DTD is available at:

    http://www.w3.org/TR/2001/REC-SVG-20010904/

  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.

  For SVG 1.0:

    Namespace:
      http://www.w3.org/2000/svg  

    Public identifier:
      PUBLIC "-//W3C//DTD SVG 1.0//EN"

    URI for the DTD:
      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd
============================================================================= -->


<!-- ==============================================================
     ENTITY DECLARATIONS: Collections of common attributes 
     ============================================================== -->

<!-- All elements have an ID. -->
<!ENTITY % stdAttrs
 "id ID #IMPLIED
  xml:base CDATA #IMPLIED" >

<!-- Common attributes for elements that might contain character data content. -->
<!ENTITY % langSpaceAttrs
 "xml:lang NMTOKEN #IMPLIED
  xml:space (default|preserve) #IMPLIED" >

<!-- Common attributes to check for system capabilities. -->
<!ENTITY % testAttrs
 "requiredFeatures CDATA #IMPLIED
  requiredExtensions CDATA #IMPLIED
  systemLanguage CDATA #IMPLIED" >

<!-- For most uses of URI referencing:
        standard XLink attributes other than xlink:href. -->
<!ENTITY % xlinkRefAttrs
 "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
  xlink:type (simple) #FIXED 'simple' 
  xlink:role CDATA #IMPLIED
  xlink:arcrole CDATA #IMPLIED
  xlink:title CDATA #IMPLIED
  xlink:show (other) 'other'
  xlink:actuate (onLoad) #FIXED 'onLoad'" >

<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
<!ENTITY % xlinkRefAttrsEmbed
 "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
  xlink:type (simple) #FIXED 'simple' 
  xlink:role CDATA #IMPLIED
  xlink:arcrole CDATA #IMPLIED
  xlink:title CDATA #IMPLIED
  xlink:show (embed) 'embed'
  xlink:actuate (onLoad) #FIXED 'onLoad'" >

<!ENTITY % graphicsElementEvents
  "onfocusin CDATA #IMPLIED
   onfocusout CDATA #IMPLIED
   onactivate CDATA #IMPLIED
   onclick CDATA #IMPLIED
   onmousedown CDATA #IMPLIED
   onmouseup CDATA #IMPLIED
   onmouseover CDATA #IMPLIED
   onmousemove CDATA #IMPLIED
   onmouseout CDATA #IMPLIED
   onload CDATA #IMPLIED" >

<!ENTITY % documentEvents
  "onunload CDATA #IMPLIED
   onabort CDATA #IMPLIED
   onerror CDATA #IMPLIED
   onresize CDATA #IMPLIED
   onscroll CDATA #IMPLIED
   onzoom CDATA #IMPLIED" >

<!ENTITY % animationEvents
  "onbegin CDATA #IMPLIED
   onend CDATA #IMPLIED
   onrepeat CDATA #IMPLIED" >

<!-- This entity allows for at most one of desc, title and metadata,
     supplied in any order -->
<!ENTITY % descTitleMetadata
          "(((svg:desc,((title,metadata?)|(metadata,title?))?)|
          (title,((svg:desc,metadata?)|(metadata,desc?))?)|
          (metadata,((svg:desc,title?)|(title,desc?))?))?)" >


<!-- ==============================================================
     ENTITY DECLARATIONS: Collections of presentation attributes 
     ============================================================== -->

<!-- The following presentation attributes have to do with specifying color. -->
<!ENTITY % PresentationAttributes-Color
  "color CDATA #IMPLIED
   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >

<!-- The following presentation attributes apply to container elements. -->
<!ENTITY % PresentationAttributes-Containers
  "enable-background CDATA #IMPLIED " >

<!-- The following presentation attributes apply to 'feFlood' elements. -->
<!ENTITY % PresentationAttributes-feFlood
  "flood-color CDATA #IMPLIED
   flood-opacity CDATA #IMPLIED " >

<!-- The following presentation attributes apply to filling and stroking operations. -->
<!ENTITY % PresentationAttributes-FillStroke
  "fill CDATA #IMPLIED
   fill-opacity CDATA #IMPLIED
   fill-rule %ClipFillRule; #IMPLIED
   stroke CDATA #IMPLIED
   stroke-dasharray CDATA #IMPLIED
   stroke-dashoffset CDATA #IMPLIED
   stroke-linecap (butt | round | square | inherit) #IMPLIED
   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
   stroke-miterlimit CDATA #IMPLIED
   stroke-opacity CDATA #IMPLIED
   stroke-width CDATA #IMPLIED " >

<!-- The following presentation attributes apply to filter primitives. -->
<!ENTITY % PresentationAttributes-FilterPrimitives
  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >

<!-- The following presentation attributes have to do with selecting a font to use. -->
<!ENTITY % PresentationAttributes-FontSpecification
  "font-family CDATA #IMPLIED
   font-size CDATA #IMPLIED
   font-size-adjust CDATA #IMPLIED
   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
                 condensed | semi-condensed | semi-expanded | expanded |
                 extra-expanded | ultra-expanded | inherit) #IMPLIED
   font-style (normal | italic | oblique | inherit) #IMPLIED
   font-variant (normal | small-caps | inherit) #IMPLIED
   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >

<!-- The following presentation attributes apply to gradient 'stop' elements. -->
<!ENTITY % PresentationAttributes-Gradients
  "stop-color CDATA #IMPLIED
   stop-opacity CDATA #IMPLIED " >

<!-- The following presentation attributes apply to graphics elements. -->
<!ENTITY % PresentationAttributes-Graphics
  "clip-path CDATA #IMPLIED
   clip-rule %ClipFillRule; #IMPLIED
   cursor CDATA #IMPLIED
   display (inline | block | list-item | run-in | compact | marker |
            table | inline-table | table-row-group | table-header-group |
            table-footer-group | table-row | table-column-group | table-column |
            table-cell | table-caption | none | inherit) #IMPLIED
   filter CDATA #IMPLIED
   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
   mask CDATA #IMPLIED
   opacity CDATA #IMPLIED
   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
                   painted | fill | stroke | all | none | inherit) #IMPLIED
   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
   visibility (visible | hidden | inherit) #IMPLIED " >

<!-- The following presentation attributes apply to 'image' elements. -->
<!ENTITY % PresentationAttributes-Images
  "color-profile CDATA #IMPLIED " >

<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
<!ENTITY % PresentationAttributes-LightingEffects
  "lighting-color CDATA #IMPLIED " >

<!-- The following presentation attributes apply to marker operations. -->
<!ENTITY % PresentationAttributes-Markers
  "marker-start CDATA #IMPLIED
   marker-mid CDATA #IMPLIED
   marker-end CDATA #IMPLIED " >

<!-- The following presentation attributes apply to text content elements. -->
<!ENTITY % PresentationAttributes-TextContentElements
  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
                        middle | bottom | after-edge | text-bottom | text-after-edge |
                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
   baseline-shift CDATA #IMPLIED
   direction (ltr | rtl | inherit) #IMPLIED
   dominant-baseline (auto | autosense-script | no-change | reset|
                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
   glyph-orientation-horizontal CDATA #IMPLIED
   glyph-orientation-vertical CDATA #IMPLIED
   kerning CDATA #IMPLIED
   letter-spacing CDATA #IMPLIED
   text-anchor (start | middle | end | inherit) #IMPLIED
   text-decoration CDATA #IMPLIED
   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
   word-spacing CDATA #IMPLIED " >

<!-- The following presentation attributes apply to 'text' elements. -->
<!ENTITY % PresentationAttributes-TextElements
  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >

<!-- The following presentation attributes apply to elements that establish viewports. -->
<!ENTITY % PresentationAttributes-Viewports
  "clip CDATA #IMPLIED
   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >

<!--The following represents the complete list of presentation attributes. -->
<!ENTITY % PresentationAttributes-All
  "%PresentationAttributes-Color;
   %PresentationAttributes-Containers;
   %PresentationAttributes-feFlood;
   %PresentationAttributes-FillStroke;
   %PresentationAttributes-FilterPrimitives;
   %PresentationAttributes-FontSpecification;
   %PresentationAttributes-Gradients;
   %PresentationAttributes-Graphics;
   %PresentationAttributes-Images;
   %PresentationAttributes-LightingEffects;
   %PresentationAttributes-Markers;
   %PresentationAttributes-TextContentElements;
   %PresentationAttributes-TextElements;
   %PresentationAttributes-Viewports;" >



<!-- ==============================================================
     ENTITY DECLARATIONS: DTD extensions 
     ============================================================== -->

<!-- Allow for extending the DTD with internal subset for 
     container and graphics elements -->
<!ENTITY % ceExt "" >
<!ENTITY % geExt "" >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Document Structure 
     ============================================================== -->

<!ENTITY % svgExt "" >
<!ELEMENT svg:svg (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%svgExt;)* >
<!ATTLIST svg:svg
  %ns.svg;
  %ns.xlink;
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED 
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  viewBox CDATA #IMPLIED
  preserveAspectRatio CDATA 'xMidYMid meet'
  zoomAndPan (disable | magnify) 'magnify'
  %graphicsElementEvents;
  %documentEvents;
  version CDATA #FIXED "1.0"
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #IMPLIED
  height CDATA #IMPLIED
  contentScriptType CDATA "text/ecmascript"
  contentStyleType CDATA "text/css" >

<!ENTITY % gExt "" >
<!ELEMENT svg:g (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%gExt;)* >
<!ATTLIST svg:g
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  transform CDATA #IMPLIED
  %graphicsElementEvents;  >

<!ENTITY % defsExt "" >
<!ELEMENT svg:defs (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%defsExt;)* >
<!ATTLIST svg:defs
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  transform CDATA #IMPLIED
  %graphicsElementEvents;  >

<!ENTITY % descExt "" >
<!ELEMENT svg:desc (#PCDATA %descExt;)* >
<!ATTLIST svg:desc
  %stdAttrs;
  %langSpaceAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %StructuredText; >

<!ENTITY % titleExt "" >
<!ELEMENT svg:title (#PCDATA %titleExt;)* >
<!ATTLIST svg:title
  %stdAttrs;
  %langSpaceAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %StructuredText; >

<!ENTITY % symbolExt "" >
<!ELEMENT svg:symbol (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%symbolExt;)* >
<!ATTLIST svg:symbol
  %stdAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  viewBox CDATA #IMPLIED
  preserveAspectRatio CDATA 'xMidYMid meet'
  %graphicsElementEvents; >

<!ENTITY % useExt "" >
<!ELEMENT svg:use (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%useExt;)*) >
<!ATTLIST svg:use
  %stdAttrs;
  %xlinkRefAttrsEmbed;
  xlink:href CDATA #REQUIRED
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #IMPLIED
  height CDATA #IMPLIED >

<!ENTITY % imageExt "" >
<!ELEMENT svg:image (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%imageExt;)*) >
<!ATTLIST svg:image
  %stdAttrs;
  %xlinkRefAttrsEmbed;
  xlink:href CDATA #REQUIRED
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-Images;
  %PresentationAttributes-Viewports;
  transform CDATA #IMPLIED
  preserveAspectRatio CDATA 'xMidYMid meet'
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #REQUIRED
  height CDATA #REQUIRED >

<!ENTITY % switchExt "" >
<!ELEMENT svg:switch (%descTitleMetadata;,(svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:switch|svg:a|svg:foreignObject|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %ceExt;%switchExt;)*) >
<!ATTLIST svg:switch
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  transform CDATA #IMPLIED
  %graphicsElementEvents; >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Styling 
     ============================================================== -->

<!ELEMENT svg:style (#PCDATA) >
<!ATTLIST svg:style 
  %stdAttrs;
  xml:space (preserve) #FIXED "preserve"
  type CDATA #REQUIRED
  media CDATA #IMPLIED
  title CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Paths
     ============================================================== -->

<!ENTITY % pathExt "" >
<!ELEMENT svg:path (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%pathExt;)*) >
<!ATTLIST svg:path
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-Markers;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  d CDATA #REQUIRED
  pathLength CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Basic Shapes
     ============================================================== -->

<!ENTITY % rectExt "" >
<!ELEMENT svg:rect (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%rectExt;)*) >
<!ATTLIST svg:rect
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #REQUIRED
  height CDATA #REQUIRED
  rx CDATA #IMPLIED
  ry CDATA #IMPLIED >

<!ENTITY % circleExt "" >
<!ELEMENT svg:circle (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%circleExt;)*) >
<!ATTLIST svg:circle
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  cx CDATA #IMPLIED
  cy CDATA #IMPLIED
  r CDATA #REQUIRED >

<!ENTITY % ellipseExt "" >
<!ELEMENT svg:ellipse (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%ellipseExt;)*) >
<!ATTLIST svg:ellipse
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  cx CDATA #IMPLIED
  cy CDATA #IMPLIED
  rx CDATA #REQUIRED
  ry CDATA #REQUIRED >

<!ENTITY % lineExt "" >
<!ELEMENT svg:line (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%lineExt;)*) >
<!ATTLIST svg:line
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-Markers;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  x1 CDATA #IMPLIED
  y1 CDATA #IMPLIED
  x2 CDATA #IMPLIED
  y2 CDATA #IMPLIED >

<!ENTITY % polylineExt "" >
<!ELEMENT svg:polyline (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%polylineExt;)*) >
<!ATTLIST svg:polyline
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-Markers;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  points CDATA #REQUIRED >

<!ENTITY % polygonExt "" >
<!ELEMENT svg:polygon (%descTitleMetadata;,(svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%polygonExt;)*) >
<!ATTLIST svg:polygon
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-Markers;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  points CDATA #REQUIRED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Text
     ============================================================== -->

<!ENTITY % textExt "" >
<!ELEMENT svg:text (#PCDATA|svg:desc|svg:title|svg:metadata|svg:tspan|svg:tref|svg:textPath|svg:altGlyph|svg:a|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %geExt;%textExt;)* >
<!ATTLIST svg:text
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-FontSpecification;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-TextContentElements;
  %PresentationAttributes-TextElements;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  dx CDATA #IMPLIED
  dy CDATA #IMPLIED
  rotate CDATA #IMPLIED
  textLength CDATA #IMPLIED
  lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED >

<!ENTITY % tspanExt "" >
<!ELEMENT svg:tspan (#PCDATA|svg:desc|svg:title|svg:metadata|svg:tspan|svg:tref|svg:altGlyph|svg:a|svg:animate|svg:set|svg:animateColor %tspanExt;)* >
<!ATTLIST svg:tspan
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-FontSpecification;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-TextContentElements;
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  dx CDATA #IMPLIED
  dy CDATA #IMPLIED
  rotate CDATA #IMPLIED
  textLength CDATA #IMPLIED
  lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED >

<!ENTITY % trefExt "" >
<!ELEMENT svg:tref (svg:desc|svg:title|svg:metadata|svg:animate|svg:set|svg:animateColor %trefExt;)* >
<!ATTLIST svg:tref
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #REQUIRED
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-FontSpecification;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-TextContentElements;
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  dx CDATA #IMPLIED
  dy CDATA #IMPLIED
  rotate CDATA #IMPLIED
  textLength CDATA #IMPLIED
  lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED >

<!ENTITY % textPathExt "" >
<!ELEMENT svg:textPath (#PCDATA|svg:desc|svg:title|svg:metadata|svg:tspan|svg:tref|svg:altGlyph|svg:a|svg:animate|svg:set|svg:animateColor %textPathExt;)* >
<!ATTLIST svg:textPath
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #REQUIRED
  %langSpaceAttrs;
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-FontSpecification;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-TextContentElements;
  %graphicsElementEvents;
  startOffset CDATA #IMPLIED
  textLength CDATA #IMPLIED
  lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
  method (align | stretch) #IMPLIED
  spacing (auto | exact) #IMPLIED >

<!ENTITY % altGlyphExt "" >
<!ELEMENT svg:altGlyph (#PCDATA %altGlyphExt;)* >
<!ATTLIST svg:altGlyph
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED 
  glyphRef CDATA #IMPLIED
  format CDATA #IMPLIED
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-FontSpecification;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-TextContentElements;
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  dx CDATA #IMPLIED
  dy CDATA #IMPLIED
  rotate CDATA #IMPLIED >

<!ENTITY % altGlyphDefExt "" >
<!ELEMENT svg:altGlyphDef ((svg:glyphRef+|svg:altGlyphItem+) %altGlyphDefExt;) >
<!ATTLIST svg:altGlyphDef %stdAttrs; >

<!ENTITY % altGlyphItemExt "" >
<!ELEMENT svg:altGlyphItem (svg:glyphRef+ %altGlyphItemExt;) >
<!ATTLIST svg:altGlyphItem %stdAttrs; >

<!ELEMENT svg:glyphRef EMPTY >
<!ATTLIST svg:glyphRef
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-FontSpecification;
  glyphRef CDATA #IMPLIED
  format CDATA #IMPLIED
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  dx CDATA #IMPLIED
  dy CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
     ============================================================== -->

<!ENTITY % markerExt "" >
<!ELEMENT svg:marker (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%markerExt;)* >
<!ATTLIST svg:marker
  %stdAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  viewBox CDATA #IMPLIED
  preserveAspectRatio CDATA 'xMidYMid meet'
  refX CDATA #IMPLIED
  refY CDATA #IMPLIED
  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
  markerWidth  CDATA #IMPLIED
  markerHeight CDATA #IMPLIED
  orient CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Color 
     ============================================================== -->

<!ELEMENT svg:color-profile (%descTitleMetadata;) >
<!ATTLIST svg:color-profile 
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  local CDATA #IMPLIED  
  name CDATA #REQUIRED
  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
     ============================================================== -->

<!ENTITY % linearGradientExt "" >
<!ELEMENT svg:linearGradient (%descTitleMetadata;,(svg:stop|svg:animate|svg:set|svg:animateTransform %linearGradientExt;)*) >
<!ATTLIST svg:linearGradient
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-Gradients;
  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  gradientTransform CDATA #IMPLIED
  x1 CDATA #IMPLIED
  y1 CDATA #IMPLIED
  x2 CDATA #IMPLIED
  y2 CDATA #IMPLIED
  spreadMethod (pad | reflect | repeat) #IMPLIED >


<!ENTITY % radialGradientExt "" >
<!ELEMENT svg:radialGradient (%descTitleMetadata;,(svg:stop|svg:animate|svg:set|svg:animateTransform %radialGradientExt;)*) >
<!ATTLIST svg:radialGradient
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-Gradients;
  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  gradientTransform CDATA #IMPLIED
  cx CDATA #IMPLIED
  cy CDATA #IMPLIED
  r CDATA #IMPLIED
  fx CDATA #IMPLIED
  fy CDATA #IMPLIED
  spreadMethod (pad | reflect | repeat) #IMPLIED >


<!ENTITY % stopExt "" >
<!ELEMENT svg:stop (svg:animate|svg:set|svg:animateColor %stopExt;)* >
<!ATTLIST svg:stop
  %stdAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-Gradients;
  offset CDATA #REQUIRED >

<!ENTITY % patternExt "" >
<!ELEMENT svg:pattern (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%patternExt;)* >
<!ATTLIST svg:pattern
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  viewBox CDATA #IMPLIED
  preserveAspectRatio CDATA 'xMidYMid meet'
  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  patternTransform CDATA #IMPLIED
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #IMPLIED
  height CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
     ============================================================== -->

<!ENTITY % clipPathExt "" >
<!ELEMENT svg:clipPath (%descTitleMetadata;,(svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform %ceExt;%clipPathExt;)*) >
<!ATTLIST svg:clipPath
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FillStroke;
  %PresentationAttributes-FontSpecification;
  %PresentationAttributes-Graphics;
  %PresentationAttributes-TextContentElements;
  %PresentationAttributes-TextElements;
  transform CDATA #IMPLIED
  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >

<!ENTITY % maskExt "" >
<!ELEMENT svg:mask (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%maskExt;)*  >
<!ATTLIST svg:mask
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #IMPLIED
  height CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Filter Effects
     ============================================================== -->

<!ENTITY % filterExt "" >
<!ELEMENT svg:filter (%descTitleMetadata;,(svg:feBlend|svg:feFlood|svg:feColorMatrix|svg:feComponentTransfer|svg:feComposite|svg:feConvolveMatrix|svg:feDiffuseLighting|svg:feDisplacementMap|svg:feGaussianBlur|svg:feImage|svg:feMerge|svg:feMorphology|svg:feOffset|svg:feSpecularLighting|svg:feTile|svg:feTurbulence|svg:animate|svg:set %filterExt;)*) >
<!ATTLIST svg:filter
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #IMPLIED
  height CDATA #IMPLIED
  filterRes CDATA #IMPLIED >

<!ENTITY % filter_primitive_attributes
  "x CDATA #IMPLIED
   y CDATA #IMPLIED
   width CDATA #IMPLIED
   height CDATA #IMPLIED
   result CDATA #IMPLIED" >

<!ENTITY % filter_primitive_attributes_with_in
  "%filter_primitive_attributes;
   in CDATA #IMPLIED">

<!ELEMENT svg:feDistantLight (svg:animate|svg:set)* >
<!ATTLIST svg:feDistantLight
  %stdAttrs;
  azimuth CDATA #IMPLIED
  elevation CDATA #IMPLIED >

<!ELEMENT svg:fePointLight (svg:animate|svg:set)* >
<!ATTLIST svg:fePointLight
  %stdAttrs;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  z CDATA #IMPLIED >

<!ELEMENT svg:feSpotLight (svg:animate|svg:set)* >
<!ATTLIST svg:feSpotLight
  %stdAttrs;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  z CDATA #IMPLIED
  pointsAtX CDATA #IMPLIED
  pointsAtY CDATA #IMPLIED
  pointsAtZ CDATA #IMPLIED
  specularExponent CDATA #IMPLIED
  limitingConeAngle CDATA #IMPLIED >

<!ELEMENT svg:feBlend (svg:animate|svg:set)* >
<!ATTLIST svg:feBlend
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  in2 CDATA #REQUIRED
  mode (normal | multiply | screen | darken | lighten) "normal" >

<!ELEMENT svg:feColorMatrix (svg:animate|svg:set)* >
<!ATTLIST svg:feColorMatrix
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
  values CDATA #IMPLIED >

<!ELEMENT svg:feComponentTransfer (svg:feFuncR?,svg:feFuncG?,svg:feFuncB?,svg:feFuncA?) >
<!ATTLIST svg:feComponentTransfer
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in; >

<!ENTITY % component_transfer_function_attributes
  "type (identity | table | discrete | linear | gamma) #REQUIRED
   tableValues CDATA #IMPLIED
   slope CDATA #IMPLIED
   intercept CDATA #IMPLIED
   amplitude CDATA #IMPLIED
   exponent CDATA #IMPLIED
   offset CDATA #IMPLIED" >

<!ELEMENT svg:feFuncR (svg:animate|svg:set)* >
<!ATTLIST svg:feFuncR
  %stdAttrs;
  %component_transfer_function_attributes; >

<!ELEMENT svg:feFuncG (svg:animate|svg:set)* >
<!ATTLIST svg:feFuncG
  %stdAttrs;
  %component_transfer_function_attributes; >

<!ELEMENT svg:feFuncB (svg:animate|svg:set)* >
<!ATTLIST svg:feFuncB
  %stdAttrs;
  %component_transfer_function_attributes; >

<!ELEMENT svg:feFuncA (svg:animate|svg:set)* >
<!ATTLIST svg:feFuncA
  %stdAttrs;
  %component_transfer_function_attributes; >

<!ELEMENT svg:feComposite (svg:animate|svg:set)* >
<!ATTLIST svg:feComposite
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  in2 CDATA #REQUIRED
  operator (over | in | out | atop | xor | arithmetic) "over"
  k1 CDATA #IMPLIED
  k2 CDATA #IMPLIED
  k3 CDATA #IMPLIED
  k4 CDATA #IMPLIED >

<!ELEMENT svg:feConvolveMatrix (svg:animate|svg:set)* >
<!ATTLIST svg:feConvolveMatrix
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  order CDATA #REQUIRED
  kernelMatrix CDATA #REQUIRED
  divisor CDATA #IMPLIED
  bias CDATA #IMPLIED
  targetX CDATA #IMPLIED
  targetY CDATA #IMPLIED
  edgeMode (duplicate | wrap | none) "duplicate" 
  kernelUnitLength CDATA #IMPLIED 
  preserveAlpha %Boolean; #IMPLIED >

<!ELEMENT svg:feDiffuseLighting ((svg:feDistantLight|svg:fePointLight|svg:feSpotLight),(svg:animate|svg:set|svg:animateColor)*) >
<!ATTLIST svg:feDiffuseLighting
  %stdAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FilterPrimitives;
  %PresentationAttributes-LightingEffects;
  %filter_primitive_attributes_with_in;
  surfaceScale CDATA #IMPLIED
  diffuseConstant CDATA #IMPLIED 
  kernelUnitLength CDATA #IMPLIED >

<!ELEMENT svg:feDisplacementMap (svg:animate|svg:set)* >
<!ATTLIST svg:feDisplacementMap
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  in2 CDATA #REQUIRED
  scale CDATA #IMPLIED
  xChannelSelector (R | G | B | A) "A"
  yChannelSelector (R | G | B | A) "A" >

<!ELEMENT svg:feFlood (svg:animate|svg:set|svg:animateColor)* >
<!ATTLIST svg:feFlood
  %stdAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-feFlood;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in; >

<!ELEMENT svg:feGaussianBlur (svg:animate|svg:set)* >
<!ATTLIST svg:feGaussianBlur
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  stdDeviation CDATA #IMPLIED >

<!ELEMENT svg:feImage (svg:animate|svg:set|svg:animateTransform)* >
<!ATTLIST svg:feImage
  %stdAttrs;
  %xlinkRefAttrsEmbed;
  xlink:href CDATA #REQUIRED
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  %filter_primitive_attributes;
  preserveAspectRatio CDATA 'xMidYMid meet' >

<!ELEMENT svg:feMerge (svg:feMergeNode)* >
<!ATTLIST svg:feMerge
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes; >

<!ELEMENT svg:feMergeNode (svg:animate|svg:set)* >
<!ATTLIST svg:feMergeNode
  %stdAttrs;
  in CDATA #IMPLIED >

<!ELEMENT svg:feMorphology (svg:animate|svg:set)* >
<!ATTLIST svg:feMorphology
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  operator (erode | dilate) "erode"
  radius CDATA #IMPLIED >

<!ELEMENT svg:feOffset (svg:animate|svg:set)* >
<!ATTLIST svg:feOffset
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in;
  dx CDATA #IMPLIED
  dy CDATA #IMPLIED >

<!ELEMENT svg:feSpecularLighting ((svg:feDistantLight|svg:fePointLight|svg:feSpotLight),(svg:animate|svg:set|svg:animateColor)*) >
<!ATTLIST svg:feSpecularLighting
  %stdAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-Color;
  %PresentationAttributes-FilterPrimitives;
  %PresentationAttributes-LightingEffects;
  %filter_primitive_attributes_with_in;
  surfaceScale CDATA #IMPLIED
  specularConstant CDATA #IMPLIED
  specularExponent CDATA #IMPLIED 
  kernelUnitLength CDATA #IMPLIED >

<!ELEMENT svg:feTile (svg:animate|svg:set)* >
<!ATTLIST svg:feTile
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes_with_in; >

<!ELEMENT svg:feTurbulence (svg:animate|svg:set)* >
<!ATTLIST svg:feTurbulence
  %stdAttrs;
  %PresentationAttributes-FilterPrimitives;
  %filter_primitive_attributes;
  baseFrequency CDATA #IMPLIED
  numOctaves CDATA #IMPLIED
  seed CDATA #IMPLIED
  stitchTiles (stitch | noStitch) "noStitch"
  type (fractalNoise | turbulence) "turbulence" >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Interactivity 
     ============================================================== -->

<!ELEMENT svg:cursor (%descTitleMetadata;) >
<!ATTLIST svg:cursor
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #REQUIRED
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  x CDATA #IMPLIED
  y CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Linking
     ============================================================== -->

<!ENTITY % aExt "" >
<!ELEMENT svg:a       (#PCDATA|svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %ceExt;%aExt;)* >
<!ATTLIST svg:a
  %stdAttrs;
  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
  xlink:type (simple) #FIXED "simple" 
  xlink:role CDATA #IMPLIED
  xlink:arcrole CDATA #IMPLIED
  xlink:title CDATA #IMPLIED
  xlink:show (new | replace) 'replace'
  xlink:actuate (onRequest) #FIXED 'onRequest'
  xlink:href CDATA #REQUIRED
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  target NMTOKEN #IMPLIED >

<!ENTITY % viewExt "" >
<!ELEMENT svg:view (%descTitleMetadata;%viewExt;) >
<!ATTLIST svg:view
  %stdAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  viewBox CDATA #IMPLIED
  preserveAspectRatio CDATA 'xMidYMid meet'
  zoomAndPan (disable | magnify) 'magnify' 
  viewTarget CDATA #IMPLIED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Scripting 
     ============================================================== -->

<!ELEMENT svg:script (#PCDATA) >
<!ATTLIST svg:script
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #IMPLIED
  externalResourcesRequired %Boolean; #IMPLIED
  type CDATA #REQUIRED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Animation 
     ============================================================== -->

<!ENTITY % animElementAttrs
 "%xlinkRefAttrs;
  xlink:href CDATA #IMPLIED" >

<!ENTITY % animAttributeAttrs
 "attributeName  CDATA  #REQUIRED
  attributeType  CDATA  #IMPLIED" >

<!ENTITY % animTimingAttrs
 "begin CDATA #IMPLIED 
  dur CDATA #IMPLIED
  end CDATA #IMPLIED
  min CDATA #IMPLIED
  max CDATA #IMPLIED
  restart (always | never | whenNotActive) 'always'
  repeatCount CDATA #IMPLIED 
  repeatDur CDATA #IMPLIED
  fill (remove | freeze) 'remove'" >

<!ENTITY % animValueAttrs
 "calcMode (discrete | linear | paced | spline) 'linear'
  values CDATA #IMPLIED
  keyTimes CDATA #IMPLIED
  keySplines CDATA #IMPLIED
  from CDATA #IMPLIED
  to CDATA #IMPLIED
  by CDATA #IMPLIED" >

<!ENTITY % animAdditionAttrs
 "additive       (replace | sum) 'replace'
  accumulate     (none | sum) 'none'" >

<!ENTITY % animateExt "" >
<!ELEMENT svg:animate (%descTitleMetadata;%animateExt;) >
<!ATTLIST svg:animate
  %stdAttrs;
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  %animationEvents;
  %animElementAttrs;
  %animAttributeAttrs;
  %animTimingAttrs;
  %animValueAttrs;
  %animAdditionAttrs; >

<!ENTITY % setExt "" >
<!ELEMENT svg:set (%descTitleMetadata;%setExt;) >
<!ATTLIST svg:set
  %stdAttrs;
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  %animationEvents;
  %animElementAttrs;
  %animAttributeAttrs;
  %animTimingAttrs;
  to CDATA #IMPLIED >

<!ENTITY % animateMotionExt "" >
<!ELEMENT svg:animateMotion (%descTitleMetadata;, svg:mpath? %animateMotionExt;) >
<!ATTLIST svg:animateMotion
  %stdAttrs;
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  %animationEvents;
  %animElementAttrs;
  %animTimingAttrs;
  calcMode (discrete | linear | paced | spline) 'paced'
  values CDATA #IMPLIED
  keyTimes CDATA #IMPLIED
  keySplines CDATA #IMPLIED
  from CDATA #IMPLIED
  to CDATA #IMPLIED
  by CDATA #IMPLIED
  %animAdditionAttrs;
  path CDATA #IMPLIED
  keyPoints CDATA #IMPLIED
  rotate CDATA #IMPLIED
  origin CDATA #IMPLIED >

<!ENTITY % mpathExt "" >
<!ELEMENT svg:mpath (%descTitleMetadata;%mpathExt;) >
<!ATTLIST svg:mpath
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #REQUIRED
  externalResourcesRequired %Boolean; #IMPLIED >

<!ENTITY % animateColorExt "" >
<!ELEMENT svg:animateColor (%descTitleMetadata;%animateColorExt;) >
<!ATTLIST svg:animateColor
  %stdAttrs;
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  %animationEvents;
  %animElementAttrs;
  %animAttributeAttrs;
  %animTimingAttrs;
  %animValueAttrs;
  %animAdditionAttrs; >

<!ENTITY % animateTransformExt "" >
<!ELEMENT svg:animateTransform (%descTitleMetadata;%animateTransformExt;) >
<!ATTLIST svg:animateTransform
  %stdAttrs;
  %testAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  %animationEvents;
  %animElementAttrs;
  %animAttributeAttrs;
  %animTimingAttrs;
  %animValueAttrs;
  %animAdditionAttrs;
  type (translate | scale | rotate | skewX | skewY) "translate" >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Fonts 
     ============================================================== -->

<!ENTITY % fontExt "" >
<!ELEMENT svg:font (%descTitleMetadata;,font-face, svg:missing-glyph,(svg:glyph|svg:hkern|svg:vkern %fontExt;)*) >
<!ATTLIST svg:font
  %stdAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  horiz-origin-x CDATA #IMPLIED
  horiz-origin-y CDATA #IMPLIED
  horiz-adv-x CDATA #REQUIRED
  vert-origin-x CDATA #IMPLIED
  vert-origin-y CDATA #IMPLIED
  vert-adv-y CDATA #IMPLIED >

<!ENTITY % glyphExt "" >
<!ELEMENT svg:glyph (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %glyphExt;)* >
<!ATTLIST svg:glyph
  %stdAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  unicode CDATA #IMPLIED
  glyph-name CDATA #IMPLIED
  d CDATA #IMPLIED
  orientation CDATA #IMPLIED
  arabic-form CDATA #IMPLIED
  lang CDATA #IMPLIED
  horiz-adv-x CDATA #IMPLIED
  vert-origin-x CDATA #IMPLIED
  vert-origin-y CDATA #IMPLIED
  vert-adv-y CDATA #IMPLIED >

<!ENTITY % missing-glyphExt "" >
<!ELEMENT svg:missing-glyph (svg:desc|svg:title|svg:metadata|svg:defs|svg:path|svg:text|svg:rect|svg:circle|svg:ellipse|svg:line|svg:polyline|svg:polygon|svg:use|svg:image|svg:svg|svg:g|svg:view|svg:switch|svg:a|svg:altGlyphDef|svg:script|svg:style|svg:symbol|svg:marker|svg:clipPath|svg:mask|svg:linearGradient|svg:radialGradient|svg:pattern|svg:filter|svg:cursor|svg:font|svg:animate|svg:set|svg:animateMotion|svg:animateColor|svg:animateTransform|svg:color-profile|svg:font-face %missing-glyphExt;)* >
<!ATTLIST svg:missing-glyph
  %stdAttrs;
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  d CDATA #IMPLIED
  horiz-adv-x CDATA #IMPLIED
  vert-origin-x CDATA #IMPLIED
  vert-origin-y CDATA #IMPLIED
  vert-adv-y CDATA #IMPLIED >

<!ELEMENT svg:hkern EMPTY >
<!ATTLIST svg:hkern
  %stdAttrs;
  u1 CDATA #IMPLIED
  g1 CDATA #IMPLIED
  u2 CDATA #IMPLIED
  g2 CDATA #IMPLIED
  k CDATA #REQUIRED >

<!ELEMENT svg:vkern EMPTY >
<!ATTLIST svg:vkern
  %stdAttrs;
  u1 CDATA #IMPLIED
  g1 CDATA #IMPLIED
  u2 CDATA #IMPLIED
  g2 CDATA #IMPLIED
  k CDATA #REQUIRED >

<!ELEMENT svg:font-face (%descTitleMetadata;,font-face-src?,definition-src?) >
<!ATTLIST svg:font-face 
  %stdAttrs;
  font-family CDATA #IMPLIED
  font-style CDATA #IMPLIED
  font-variant CDATA #IMPLIED
  font-weight CDATA #IMPLIED
  font-stretch CDATA #IMPLIED
  font-size CDATA #IMPLIED
  unicode-range CDATA #IMPLIED
  units-per-em CDATA #IMPLIED
  panose-1 CDATA #IMPLIED
  stemv CDATA #IMPLIED
  stemh CDATA #IMPLIED
  slope CDATA #IMPLIED
  cap-height CDATA #IMPLIED
  x-height CDATA #IMPLIED
  accent-height CDATA #IMPLIED
  ascent CDATA #IMPLIED
  descent CDATA #IMPLIED
  widths CDATA #IMPLIED
  bbox CDATA #IMPLIED
  ideographic CDATA #IMPLIED
  alphabetic CDATA #IMPLIED
  mathematical CDATA #IMPLIED
  hanging CDATA #IMPLIED
  v-ideographic CDATA #IMPLIED
  v-alphabetic CDATA #IMPLIED
  v-mathematical CDATA #IMPLIED
  v-hanging CDATA #IMPLIED
  underline-position CDATA #IMPLIED
  underline-thickness CDATA #IMPLIED
  strikethrough-position CDATA #IMPLIED
  strikethrough-thickness CDATA #IMPLIED
  overline-position CDATA #IMPLIED
  overline-thickness CDATA #IMPLIED >

<!ELEMENT svg:font-face-src (svg:font-face-uri|svg:font-face-name)+ >
<!ATTLIST svg:font-face-src %stdAttrs; >

<!ELEMENT svg:font-face-uri (svg:font-face-format*) >
<!ATTLIST svg:font-face-uri 
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #REQUIRED >

<!ELEMENT svg:font-face-format EMPTY >
<!ATTLIST svg:font-face-format 
  %stdAttrs;
  string CDATA #IMPLIED >

<!ELEMENT svg:font-face-name EMPTY >
<!ATTLIST svg:font-face-name 
  %stdAttrs;
  name CDATA #IMPLIED >

<!ELEMENT svg:definition-src EMPTY >
<!ATTLIST svg:definition-src 
  %stdAttrs;
  %xlinkRefAttrs;
  xlink:href CDATA #REQUIRED >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Metadata 
     ============================================================== -->

<!ENTITY % metadataExt "" >
<!ELEMENT svg:metadata (#PCDATA %metadataExt;)* >
<!ATTLIST svg:metadata %stdAttrs; >


<!-- ==============================================================
     DECLARATIONS CORRESPONDING TO: Extensibility 
     ============================================================== -->

<!ENTITY % foreignObjectExt "" >
<!ELEMENT svg:foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
<!ATTLIST svg:foreignObject
  %stdAttrs;
  %testAttrs;
  %langSpaceAttrs;
  externalResourcesRequired %Boolean; #IMPLIED
  class CDATA #IMPLIED
  style CDATA #IMPLIED
  %PresentationAttributes-All;
  transform CDATA #IMPLIED
  %graphicsElementEvents;
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  width CDATA #REQUIRED
  height CDATA #REQUIRED
  %StructuredText; >


<!-- ======================================================================= -->
<!--                                                                         -->
<!--                             Everthing Else                              -->
<!--                                xmlns:all                                -->
<!--                                                                         -->
<!-- ======================================================================= -->
<!ELEMENT all:Info (mn:MainPageListing, lnk:LinkList, sec:SectionList, (
  lnk:OutLinksPage | 
  (nf:NewStuffPage, sec:SectionList, pg:PageList+) | 
  (nf:NewsFeed, crd:CreditNames, sec:SectionList, pg:PageList+) | 
  (crd:CreditTypes, crd:CreditNames, crf:CrossReferences, pg:PageList+, furc:DragonSpeak?, fl:Page?)
)?)>
  <!ATTLIST all:Info
    %ns;
    %ns.all;
    %ns.crd;
    %ns.crf;
    %ns.char;
    %ns.dt;
    %ns.fl;
    %ns.fnc;
    %ns.furc;
    %ns.lnk;
    %ns.mn;
    %ns.nf;
    %ns.pg;
    %ns.pic;
    %ns.rec;
    %ns.sec;
    %ns.svg;
    %ns.wri;
    %ns.xlink;
  >
<!ELEMENT all:Test (#PCDATA|div)*>
  <!ATTLIST all:Test %ns; %ns.all;  %ns.fnc; %ns.svg;>
  

<!-- ======================================================================= -->
<!--                                                                         -->
<!--                                Characters                               -->
<!--                                xmlns:char                               -->
<!--                                                                         -->
<!-- ======================================================================= -->
  
  
<!--  Page Types -->
<!ELEMENT char:Character (char:Continuity+)>
  <!--  The first Continuity element will have the default portrait -->
  
  <!ELEMENT char:Continuity (char:FullName?, char:DOB?, char:Stat*, char:Desc)>
  <!ATTLIST char:Continuity
    contid NMTOKEN #REQUIRED
    port   CDATA   #IMPLIED
    thumb  CDATA   #IMPLIED
    order  CDATA   #IMPLIED
  >
    <!ELEMENT char:FullName (#PCDATA)>
    
    <!ELEMENT char:Stat (%pcphrase;)*>
      <!ATTLIST char:Stat stname CDATA #REQUIRED>
      
    <!ELEMENT char:Desc ((%block;)+)>

    <!ELEMENT char:DOB EMPTY>
      <!ATTLIST char:DOB %ymd;>
  
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                                 Credits                                 -->
<!--                                xmlns:crd                                -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ELEMENT crd:CreditTypes (crd:Type+)>
  <!ATTLIST crd:CreditTypes 
    %ns;
    %ns.fnc;
    %ns.crd;
  >
  
  <!ELEMENT crd:Type (%pcphrase; | crd:Insert | a)*>
    <!ATTLIST crd:Type
      %idreq;
      credttl  CDATA #REQUIRED
    >
    
    <!ELEMENT crd:Insert EMPTY>
      <!ATTLIST crd:Insert tag NMTOKEN #REQUIRED>
      

<!ELEMENT crd:CreditNames (crd:Name+)>
  <!ATTLIST crd:CreditNames
    %ns;
    %ns.crd;
  >
  
  <!ELEMENT crd:Name (%pcphrase;)*>
    <!ATTLIST crd:Name
      %idreq;
      url      CDATA #IMPLIED
      defunct  CDATA #IMPLIED
      deceased CDATA #IMPLIED
      urlnote  CDATA #IMPLIED
    >  
  
<!ELEMENT crd:CreditListing (crd:Credit+)>
  <!ATTLIST crd:CreditListing
    %ns.crd;
    %ns;
  >
  <!ELEMENT crd:Credit (crd:Bible | crd:Date | crd:ExtLinkText | crd:ExtLinkRef | crd:Link | crd:Number | crd:Ref | crd:RefList | crd:Text)*>
    <!ATTLIST crd:Credit
       type    NMTOKEN #REQUIRED
       subpgid NMTOKEN #IMPLIED
    >
    
    <!ELEMENT crd:Bible EMPTY>
      <!ATTLIST crd:Bible 
        tag   NMTOKEN #REQUIRED
        bk    CDATA   #REQUIRED
        ch    CDATA   #IMPLIED
        vs    CDATA   #IMPLIED
      >
    
      <!ELEMENT crd:Date EMPTY>
        <!ATTLIST crd:Date
          dt:dy CDATA   #REQUIRED
          dt:mo NMTOKEN #REQUIRED
          dt:yr CDATA   #IMPLIED
        >
      
    <!ELEMENT crd:ExtLinkText (%pcphrase;)*>
      <!ATTLIST crd:ExtLinkText
        tag NMTOKEN #REQUIRED
        url CDATA    #REQUIRED
      >
      
    <!ELEMENT crd:ExtLinkRef EMPTY>
      <!ATTLIST crd:ExtLinkRef
        tag NMTOKEN #REQUIRED
        url CDATA   #REQUIRED
        cid NMTOKEN #REQUIRED
      >
      
      
    <!ELEMENT crd:Number EMPTY>
      <!ATTLIST crd:Number 
        tag   NMTOKEN        #REQUIRED
        num   CDATA          #REQUIRED
        style (arabic|roman) 'arabic'
      >
      
      
    <!ELEMENT crd:Ref EMPTY>
      <!ATTLIST crd:Ref
        tag  NMTOKEN #REQUIRED
        cid  NMTOKEN #REQUIRED
      >
      
    <!ELEMENT crd:RefList (crd:ListRef+)>
      <!ATTLIST crd:RefList
        tag  NMTOKEN  #REQUIRED
        conj (and|or) #REQUIRED
      >
      <!ELEMENT crd:ListRef EMPTY>
        <!ATTLIST crd:ListRef cid NMTOKEN #REQUIRED>
        
    <!ELEMENT crd:Text (%pcphrase;)*>
      <!ATTLIST crd:Text tag  NMTOKEN #REQUIRED>
      
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                             Crossreferences                             -->
<!--                                xmlns:crf                                -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ELEMENT crf:CrossReferences (crf:Type+, crf:CrossRefs+)>
  <!ATTLIST crf:CrossReferences %ns; %ns.crf;>
  
  <!ELEMENT crf:Type (%pcphrase;)*>
    <!ATTLIST crf:Type %idreq;>
    
  <!ELEMENT crf:CrossRefs (crf:CrossRef+)>
    <!ATTLIST crf:CrossRefs
      crtype1 IDREF #REQUIRED
      crtype2 IDREF #REQUIRED
    >
    
    <!ELEMENT crf:CrossRef ((crf:Note, crf:Note?)?)>
      <!ATTLIST crf:CrossRef
        refid1 NMTOKEN #REQUIRED
        refid2 NMTOKEN #REQUIRED
      >
      
      <!ELEMENT crf:Note (%pcphrase;)*>
        <!ATTLIST crf:Note for NMTOKEN #REQUIRED>


<!-- ======================================================================= -->
<!--                                                                         -->
<!--                                  Date                                   -->
<!--                                xmlns:dt                                 -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ELEMENT dt:Months (dt:Month+)>
  <!ELEMENT dt:Month EMPTY>
    <!ATTLIST dt:Month
      %idreq;
      abbr NMTOKEN #REQUIRED
      name NMTOKEN #REQUIRED
    >
    
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                            Individual Files                             -->
<!--                                xmlns.fl                                 -->
<!--                                                                         -->
<!-- ======================================================================= -->
<!ELEMENT fl:Page (div+)>
  <!ATTLIST fl:Page flid NMTOKEN #REQUIRED>
  
     
        
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                            Inline Functions                             -->
<!--                                xmlns.fnc                                -->
<!--                                                                         -->
<!-- ======================================================================= -->
<!ELEMENT fnc:BibleRef EMPTY>
  <!ATTLIST fnc:BibleRef 
    bk CDATA #REQUIRED
    ch CDATA #IMPLIED
    vs CDATA #IMPLIED
  >
    
<!ELEMENT fnc:Counter (#PCDATA)>
  <!ATTLIST fnc:Counter
    counterid ID      #REQUIRED
    fl        NMTOKEN #REQUIRED
    txt       CDATA   #REQUIRED
    %ymd;
  >
  
<!ELEMENT fnc:CredRef EMPTY>
  <!ATTLIST fnc:CredRef 
  	cid     NMTOKEN #REQUIRED
  	length (short|mid|full) 'mid'
  >
  
<!ELEMENT fnc:DSLn (%pcphrase; | a)*>
  <!ATTLIST fnc:DSLn num NMTOKENS #REQUIRED>
  
<!ELEMENT fnc:LinkRef (%pcphrase; | img)*>
	<!ATTLIST fnc:LinkRef lnkid NMTOKEN #REQUIRED>
  
<!--  Use this for one-off functions   -->
<!ELEMENT fnc:Function (fnc:Param*)>
  <!ATTLIST fnc:Function name NMTOKEN #REQUIRED>
  <!ELEMENT fnc:Param (%pcphrase;)*>
    <!ATTLIST fnc:Param name NMTOKEN #REQUIRED>

<!ELEMENT fnc:MainPageLink (%pcphrase;)*>
  <!ATTLIST fnc:MainPageLink
    mnpgid   NMTOKEN #REQUIRED
    secid    NMTOKEN #IMPLIED
    subsecid NMTOKEN #IMPLIED
    gotopg   NMTOKEN #IMPLIED
    flow     (inline|block|header) 'inline'
  >
  
<!ELEMENT fnc:NewsFeed EMPTY>
  <!ATTLIST fnc:NewsFeed
    set    (since|before) #REQUIRED
    %ymd;
  >
  
<!ELEMENT fnc:NewStuff EMPTY>
  <!ATTLIST fnc:NewStuff
    set    (since|before) #REQUIRED
    %ymd;
  >

<!ELEMENT fnc:PageLinkList (fnc:PageListTitle?|fnc:PageLink+)>
  <!ATTLIST fnc:PageLinkList ordered (yes|no|series) 'no'>
  <!ELEMENT fnc:PageListTitle (%pcphrase;)*>
  
  <!ELEMENT fnc:PageLink (%pcphrase;)*>
    <!ATTLIST fnc:PageLink
      pgid   NMTOKEN #REQUIRED
      subpgid  NMTOKEN #IMPLIED
      flow   (inline|block|header|list) 'inline'
    >

<!ELEMENT fnc:RandomImages (%pcphrase;)*>
  <!ATTLIST fnc:RandomImages
    mnpg   NMTOKEN  #REQUIRED
    except NMTOKENS #IMPLIED
  >
  
<!ELEMENT fnc:RunXPath EMPTY>
  <!ATTLIST fnc:RunXPath
    xpath  CDATA #REQUIRED
    action (query|evaluate) 'query'
  >
  
<!ELEMENT fnc:Stat (fnc:Param*)>
  <!ATTLIST fnc:Stat name NMTOKEN #REQUIRED>

<!ELEMENT fnc:TOC EMPTY>
	<!ATTLIST fnc:TOC pgid NMTOKEN #REQUIRED>
    
<!ELEMENT fnc:ToRoman EMPTY>
  <!ATTLIST fnc:ToRoman num CDATA #REQUIRED>


<!--  <fnc:Counter vl="http://cgi.boingdragon.com/count/mrinitialman/0.gif" id="Index" imgalt="BoingDragon Counter">hits since May 1, 2003.</fnc:Counter> -->

<!-- ======================================================================= -->
<!--                                                                         -->
<!--                             Furcadia Stuff                              -->
<!--                               xmlns:furc                                -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ENTITY % furcspecies 'species (Rodent | Equine | Feline | Canine | Musteline | Lapine | Squirrel | Bovine | Ursine | Bugge | Hyooman) #REQUIRED ' >

<!ELEMENT furc:Dream EMPTY>
  <!ATTLIST furc:Dream dreamlink CDATA #REQUIRED>
    

<!ELEMENT furc:FurcInf (furc:Char|furc:OldChar|furc:Uploader)+>
  <!ATTLIST furc:FurcInf %ns.furc;>
  
  <!ELEMENT furc:Char (furc:Digo*,furc:Desc)>
    <!ATTLIST furc:Char
      uid    CDATA   #REQUIRED
      accid  CDATA   #REQUIRED
      %ymd;
      charid NMTOKEN #REQUIRED
      %furcspecies;
    >
    <!ELEMENT furc:Digo (#PCDATA)>
    
    <!ELEMENT furc:Desc ((%block;)+)>
    
  <!ELEMENT furc:OldChar (furc:Digo*,furc:Desc)>
    <!ATTLIST furc:OldChar
      dt:yr  CDATA   #IMPLIED
      dt:mo  NMTOKEN #IMPLIED
      dt:dy  CDATA   #IMPLIED
      charid NMTOKEN #REQUIRED
      %furcspecies;
    >

  <!ELEMENT furc:Uploader (furc:Desc?)>
    <!ATTLIST furc:Uploader
      uid    CDATA   #REQUIRED
      accid  CDATA   #REQUIRED
      dt:yr  CDATA   #REQUIRED
      dt:mo  IDREF   #REQUIRED
      dt:dy  CDATA   #REQUIRED
      charid NMTOKEN #REQUIRED
      %furcspecies;
    >
    
<!ELEMENT furc:DragonSpeak (furc:LineSet+, furc:Filter+)>
  <!ATTLIST furc:DragonSpeak
    %ns;
    %ns.furc;
  >
<!--  <!ELEMENT furc:DSDisclaimer (p)>  -->
  <!ELEMENT furc:LineSet (furc:Line+)>
    <!ATTLIST furc:LineSet
      lsn NMTOKEN #REQUIRED
      lsd NMTOKEN #REQUIRED
    >
    <!ELEMENT furc:Line (span)>
      <!ATTLIST furc:Line
        ln NMTOKEN  #REQUIRED
        lf NMTOKENS #REQUIRED
      >
  <!ELEMENT furc:Filter (furc:Filter*)>
    <!ATTLIST furc:Filter
      %idreq;
      nm CDATA #REQUIRED
    >
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                             Links Page Data                             -->
<!--                                xmlns:lnk                                -->
<!--                                                                         -->
<!-- ======================================================================= -->


<!ELEMENT lnk:OutLinksPage (lnk:OutLink+)>
  <!ATTLIST lnk:OutLinksPage
    %ns;
    %ns.sec;
    %ns.lnk;
>
  
  <!ELEMENT lnk:OutLink (sec:InSection+, lnk:Name, lnk:Desc, lnk:OtherLink*)>
    <!ATTLIST lnk:OutLink
      url    CDATA #REQUIRED
      banner CDATA #IMPLIED
    >
      
    
    <!ELEMENT lnk:Name (#PCDATA)>
    <!ELEMENT lnk:Desc ((%block;)+)>
    
    
    <!ELEMENT lnk:OtherLink (%pcphrase;)*>
    
      <!ATTLIST lnk:OtherLink
        url    CDATA #REQUIRED
        banner CDATA #IMPLIED
      >
<!ELEMENT lnk:LinkList (lnk:Link+)>
	<!ATTLIST lnk:LinkList
		%ns;
		%ns.lnk;
	>
	<!ELEMENT lnk:Link	(%pcphrase;)*>
		<!ATTLIST lnk:Link
			%idreq;
			href   CDATA #REQUIRED
			broken CDATA #IMPLIED
		> <!--  The "Broken" attribute will contain the reason why the link doesn't work -->
		
		
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                              Main Page Data                             -->
<!--                                 xmlns:mn                                -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ELEMENT mn:Name (#PCDATA)>

<!ELEMENT mn:FullName (#PCDATA)*>
  
<!ELEMENT mn:Desc ((%block;)+)>
      
<!ELEMENT mn:MainPageListing (mn:MainPageInf+, mn:Counter+, dt:Month+, mn:Interlink+)>
  <!ATTLIST mn:MainPageListing
    %ns;
    %ns.mn;
    %ns.fnc;
>
  <!ELEMENT mn:MainPageInf (mn:PageStyle?, mn:XMLResource*, mn:Name, mn:FullName?, mn:Desc, (fnc:NewsFeed | fnc:NewStuff | (fnc:RandomImages?,mn:FullListing))?, fnc:Counter?, mn:ExterLink*)>
    <!ATTLIST mn:MainPageInf 
      %idreq;
      nav_link   CDATA   #REQUIRED
      keywords   CDATA   #REQUIRED
      main_xml   CDATA   #IMPLIED
      datafolder CDATA   #IMPLIED
      folder     CDATA   #IMPLIED
      pagelink   CDATA   #IMPLIED
      subnavttl  CDATA   #IMPLIED
      maincss    CDATA   #IMPLIED
      mainjs     CDATA   #IMPLIED
      pagecss    CDATA   #IMPLIED
      pagejs     CDATA   #IMPLIED
    >
    <!ELEMENT mn:PageStyle (#PCDATA)>
    <!ELEMENT mn:XMLResource EMPTY>
      <!ATTLIST mn:XMLResource url CDATA #REQUIRED>
    <!ELEMENT mn:FullListing ((%block;)+)>
      <!ATTLIST mn:FullListing navtext CDATA #REQUIRED>
    
    <!ELEMENT mn:ExterLink (#PCDATA)>
    	<!ATTLIST mn:ExterLink href CDATA #REQUIRED>

  <!ELEMENT mn:Counter EMPTY>
    <!ATTLIST mn:Counter
      %idreq;
      name  CDATA #REQUIRED
      count CDATA #REQUIRED
      text  CDATA #REQUIRED
    >
    
  <!ELEMENT mn:Interlink (mn:MnLnk+, mn:LnkPg+)>
    <!ELEMENT mn:MnLnk EMPTY>
      <!ATTLIST mn:MnLnk pgid IDREF #REQUIRED>
    <!ELEMENT mn:LnkPg EMPTY>
      <!ATTLIST mn:LnkPg url CDATA #REQUIRED>
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                                Newsfeeds                                -->
<!--                                xmlns:nf                                 -->
<!--                                                                         -->
<!-- ======================================================================= -->
<!ELEMENT nf:NewsFeed (nf:News+)>
  <!ATTLIST nf:NewsFeed
    %ns;
    %ns.nf;
    %ns.fnc;
>
  <!ELEMENT nf:News ((%block;)+)>
    <!ATTLIST nf:News
      dt:yr CDATA #REQUIRED
      dt:mo CDATA #REQUIRED
      dt:dy CDATA #REQUIRED
    >
<!--   <nf:News dt:yr="2022" dt:mo="M10" dt:yr="05"><div>--> 
  
  
  
<!ELEMENT nf:NewStuffPage (nf:NewStuffDate+)>
  <!ATTLIST nf:NewStuffPage
    mnpgid NMTOKEN #REQUIRED
    %ns;
    %ns.nf;
    %ns.fnc;
>
  <!ELEMENT nf:NewStuffDate (nf:MainPageUpdate|nf:UpdateNote)+>
    <!ATTLIST nf:NewStuffDate
      yr CDATA #REQUIRED
      mo CDATA #REQUIRED
      dy CDATA #REQUIRED
    >
    <!ELEMENT nf:MainPageUpdate ((%block;)+)>
      <!ATTLIST nf:MainPageUpdate 
        mnpgid   NMTOKEN #REQUIRED
        secid    NMTOKEN #IMPLIED
        subsecid NMTOKEN #IMPLIED
      >
    <!ELEMENT nf:UpdateNote ((%block;)+)>
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                            General Page Data                            -->
<!--                                 xmlns:pg                                -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ELEMENT pg:Name (#PCDATA)>
  <!ATTLIST pg:Name short CDATA #IMPLIED>
  
<!ELEMENT pg:Desc ((%block;)+)>
<!--


ns.all 
ns.crd 
ns.crf 
ns.fnc 
ns.furc
ns.lnk 
ns.mn  
ns.nf  
ns.pg  
ns.pic 
ns.rec 
ns.sec 
ns.xhtm
ns.wri 

-->      
<!ELEMENT pg:PageList (pg:Page+, (wri:Ratings | furc:FurcInf | rec:RecordingInf)?)>
  <!ATTLIST pg:PageList
    mnpgid NMTOKEN #REQUIRED
    %ns;
    %ns.char;
    %ns.crd;
    %ns.fnc;
    %ns.furc;
    %ns.pg;
    %ns.pic;
    %ns.rec;
    %ns.sec;
    %ns.wri;
>
  <!ELEMENT pg:Page (sec:InSection+, pg:Name,  (pg:Desc?, (pg:ExtFile | pg:ExtFileSet | furc:Dream | pg:Other | pic:Picture | rec:Recording |  wri:Writing | char:Character)), pg:SubPages?, crd:Credit*)>
    <!ATTLIST pg:Page
      %idreq;
      filename CDATA    'NULL'
      keywords CDATA    'NULL'
      jshead   CDATA    #IMPLIED
      jsbody   CDATA    #IMPLIED
      hidden   (hidden) #IMPLIED
    >
    <!ELEMENT sec:InSection EMPTY>
      <!ATTLIST sec:InSection secid NMTOKEN #REQUIRED>
    


        
        
    <!ELEMENT pg:ExtFile EMPTY>
      <!ATTLIST pg:ExtFile folder CDATA #REQUIRED>
      
    <!ELEMENT pg:ExtFileSet (pg:ExtFileInSet+)>
      <!ATTLIST pg:ExtFileSet 
        folder CDATA #REQUIRED
        header CDATA #REQUIRED
      >
      <!ELEMENT pg:ExtFileInSet (%pcphrase;)*>
        <!ATTLIST pg:ExtFileInSet url CDATA #REQUIRED>
      
    <!ELEMENT pg:Other EMPTY>
    
      
    <!ELEMENT pg:SubPages (pg:SubPage+|pg:SubPageName+)>
      <!ATTLIST pg:SubPages header CDATA #REQUIRED>
      
      <!ELEMENT pg:SubPage (pg:Name, pg:Desc)>
        <!ATTLIST pg:SubPage
          %idreq;
          src_ext NMTOKEN #IMPLIED
        >
        
      <!ELEMENT pg:SubPageName (%pcphrase;)*>
        <!ATTLIST pg:SubPageName
          %idreq;
          src_ext NMTOKEN #IMPLIED
        >
    
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                         Pictures (Art, Photos)                          -->
<!--                                xmlns:pic                                -->
<!--                                                                         -->
<!-- ======================================================================= -->
<!ELEMENT pic:Picture (pic:PicFormatOverride*)>
  <!ATTLIST pic:Picture format (%picformat;) "jpg">
  
  <!ELEMENT pic:PicFormatOverride EMPTY>
    <!ATTLIST pic:PicFormatOverride 
      subpgid  IDREF #REQUIRED
      format (%picformat;) "jpg"
    >
        
    
      
    
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                             Recording Stuff                             -->
<!--                                xmlns:rec                                -->
<!--                                                                         -->
<!-- ======================================================================= -->


<!ELEMENT rec:Recording (rec:Ensemble|rec:EnsembleRef|rec:Instrument)*>


      
<!ELEMENT rec:EnsembleRef EMPTY>
  <!ATTLIST rec:EnsembleRef 
    ensmbl NMTOKEN  #REQUIRED
    subpgid  NMTOKEN #IMPLIED
>
  <!ELEMENT rec:Ensemble (rec:Instrument+)>
    <!ATTLIST rec:Ensemble subpgid  NMTOKEN #IMPLIED>
    <!ELEMENT rec:Instrument (%pcphrase;)*>
    <!ATTLIST rec:Instrument subpgid  NMTOKEN #IMPLIED>
    
<!ELEMENT rec:RecordingInf (rec:RegularEnsemble+,rec:MusicSource+)>

    <!ELEMENT rec:RegularEnsemble (rec:Instrument+)>
      <!ATTLIST rec:RegularEnsemble %idreq;>

    <!ELEMENT rec:MusicSource (%pcphrase;)*>
      <!ATTLIST rec:MusicSource
        year  CDATA   #REQUIRED
        srcid NMTOKEN #REQUIRED
      >
        
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                               Section Data                              -->
<!--                                xmlns:sec                                -->
<!--                                                                         -->
<!-- ======================================================================= -->

<!ELEMENT sec:Name (#PCDATA)*>
  <!ATTLIST sec:Name short CDATA #IMPLIED>
  
<!ELEMENT sec:Desc ((%block;)+)>
  
<!ELEMENT sec:SectionList (sec:Section+, sec:OldSection*)>
  <!ATTLIST sec:SectionList
    %ns;
    %ns.sec;
    %ns.fnc;
>
  <!ELEMENT sec:Section (sec:Name, sec:Desc, sec:SubSectionList?)>
    <!ATTLIST sec:Section
      %idreq;
      keywords  CDATA    #REQUIRED
      img       CDATA    #IMPLIED
      imgalt    CDATA    #IMPLIED
      ordered   CDATA    'false'
      notoc     (notoc)  #IMPLIED
      wintitle  CDATA    #IMPLIED
      hidden    (hidden) #IMPLIED
    >
    
    
    <!ELEMENT sec:SubSectionList (sec:SubSection+)>
      <!ATTLIST sec:SubSectionList default IDREF #IMPLIED>
      <!ELEMENT sec:SubSection (sec:Name, sec:Desc)>
        <!ATTLIST sec:SubSection 
          %idreq;
          ordered   CDATA 'false'
        >
        <!--  In the PHP script, "ordered" will be set to the name of the element with the "order" attribute -->
        
  <!ELEMENT sec:OldSection (sec:Name, sec:Reason)>
    <!ATTLIST sec:OldSection %idreq;>
    <!ELEMENT sec:Reason (%pcphrase;)*>
<!-- ======================================================================= -->
<!--                                                                         -->
<!--                                 Writing                                 -->
<!--                                xmlns:wri                                -->
<!--                                                                         -->
<!-- ======================================================================= -->
<!ELEMENT wri:Writing EMPTY>
  <!ATTLIST wri:Writing rating NMTOKEN #REQUIRED>

<!ELEMENT wri:Ratings (wri:Rating+)>
  <!ELEMENT wri:Rating (p)>
    <!ATTLIST wri:Rating
      %idreq;
      panda CDATA   #REQUIRED
      desc  CDATA   #REQUIRED
    >
