<!-- ....................................................................... -->
<!-- XHTML 1.1 plus MathML 2.0 plus SVG 1.1 DTD  ........................... -->
<!-- URI: http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd
-->

<!-- XHTML 1.1 plus MathML 2.0 plus SVG 1.1 DTD

     This is a prototype extension of XHTML 1.1 incorporating MathML 2.0
     and SVG 1.1.

     Copyright 2002 World Wide Web Consortium
        (Massachusetts Institute of Technology, Institut National de
         Recherche en Informatique et en Automatique, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute this DTD and its
     accompanying documentation for any purpose and without fee is hereby
     granted in perpetuity, provided that the above copyright notice and 
     this paragraph appear in all copies.  The copyright holders make no
     representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Editors:    Murray M. Altheim <altheim@eng.sun.com> (XHTML modules)
                    David Carlisle <davidc@nag.co.uk> (MathML modules)
                    Jun Fujisawa <fujisawa.jun@canon.co.jp> (SVG modules)
                    Masayasu Ishikawa <mimasa@w3.org> (DTD driver)
        Revision:
          $Id: xhtml-math-svg.dtd,v 1.26 2002/08/08 12:33:40 mimasa Exp $

-->
<!-- This is the driver for an XHTML 1.1 plus MathML 2.0 plus SVG 1.1 DTD.
-->

<!-- Switches to include/ignore each vocabulary.
-->
<!ENTITY % XHTML.module  "INCLUDE" >
<!ENTITY % MATHML.module "INCLUDE" >
<!ENTITY % SVG.module    "INCLUDE" >

<![%XHTML.module;[
<!ENTITY % XHTML.version
         "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" >
]]>

<!-- Switches to enable subsets.
-->
<!ENTITY % XHTML.Basic.module "IGNORE" >
<!ENTITY % SVG.Basic.module   "IGNORE" >
<!ENTITY % SVG.Tiny.module    "IGNORE" >

<!-- Use the following entities to identify the namespaces:
-->
<!ENTITY % XHTML.xmlns       "http://www.w3.org/1999/xhtml" >
<!ENTITY % MATHML.xmlns      "http://www.w3.org/1998/Math/MathML" >
<!ENTITY % MATHML.pref.xmlns "http://www.w3.org/2002/Math/preference" >
<!ENTITY % SVG.xmlns         "http://www.w3.org/2000/svg" >
<!ENTITY % XLINK.xmlns       "http://www.w3.org/1999/xlink" >

<!-- Declare base URIs for the relevant DTD modules.
-->
<![%XHTML.module;[
<!ENTITY % XHTML.sysid.base
         "http://www.w3.org/TR/xhtml-modularization/DTD/" >
]]>
<![%MATHML.module;[
<!ENTITY % MATHML.sysid.base
         "http://www.w3.org/Math/DTD/mathml2/" >
]]>
<![%SVG.module;[
<!ENTITY % SVG.sysid.base
         "http://www.w3.org/Graphics/SVG/1.1/DTD/" >
]]>

<!-- Declare system identifiers for the relevant DTD modules.
-->
<![%XHTML.module;[
<![%XHTML.Basic.module;[
<!ENTITY % XHTML.dtd.fpi
         "-//W3C//DTD XHTML Basic 1.0//EN" >
<!ENTITY % XHTML.dtd.sysid
         "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd" >
]]>
<!ENTITY % XHTML.dtd.fpi
         "-//W3C//DTD XHTML 1.1//EN" >
<!ENTITY % XHTML.dtd.sysid
         "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
]]>
<![%MATHML.module;[
<!ENTITY % MATHML.dtd.sysid
         "%MATHML.sysid.base;mathml2.dtd" >
<!ENTITY % MATHML.qname.sysid
         "%MATHML.sysid.base;mathml2-qname-1.mod" >
]]>
<![%SVG.module;[
<![%SVG.Tiny.module;[
<!ENTITY % SVG.dtd.fpi
         "-//W3C//DTD SVG 1.1 Tiny//EN" >
<!ENTITY % SVG.dtd.sysid
         "%SVG.sysid.base;svg11-tiny.dtd" >
]]>
<![%SVG.Basic.module;[
<!ENTITY % SVG.dtd.fpi
         "-//W3C//DTD SVG 1.1 Basic//EN" >
<!ENTITY % SVG.dtd.sysid
         "%SVG.sysid.base;svg11-basic.dtd" >
]]>
<!ENTITY % SVG.dtd.fpi
         "-//W3C//DTD SVG 1.1//EN" >
<!ENTITY % SVG.dtd.sysid
         "%SVG.sysid.base;svg11.dtd" >
]]>

<!-- See the XHTML / MathML / SVG Qualified Names modules for information
     on the use of namespace prefixes in the DTD.  Default values are
     as follows:

       <!ENTITY % NS.prefixed "IGNORE" >
       <!ENTITY % XHTML.prefixed "%NS.prefixed;" >
       <!ENTITY % XHTML.prefix  "" >
       <!ENTITY % MATHML.prefixed "%NS.prefixed;" >
       <!ENTITY % MATHML.prefix   "m" >
       <!ENTITY % MATHML.pref.prefixed "IGNORE" >
       <!ENTITY % MATHML.pref.prefix "pref" >
       <!ENTITY % SVG.prefixed "%NS.prefixed;" >
       <!ENTITY % SVG.prefix "" >
       <!ENTITY % XLINK.prefix "xlink" >

     In this DTD driver, XHTML and MathML are not prefixed, and SVG is
     prefixed by default.  It can be changed by redeclaring the above
     parameter entities.
-->
<!ENTITY % XHTML.prefixed       "IGNORE" >
<!ENTITY % MATHML.prefixed      "IGNORE" >
<!ENTITY % MATHML.prefix        "m" >
<!ENTITY % MATHML.pref.prefixed "IGNORE" >
<!ENTITY % MATHML.pref.prefix   "pref" >
<!ENTITY % SVG.prefixed         "INCLUDE" >
<!ENTITY % SVG.prefix           "svg" >
<!ENTITY % XLINK.prefix         "xlink" >

<!-- a URI reference, see [URI] -->
<!ENTITY % URI.datatype "CDATA" >

<!-- Declare a parameter entity %XLINK.xmlns.attrib; containing
     the XML Namespace declarations for XLink.
-->
<!ENTITY % XLINK.xmlns.attrib
    "xmlns:%XLINK.prefix; %URI.datatype; #FIXED '%XLINK.xmlns;'"
>

<!-- Allow universal MathML stylesheet-related declarations.
     When it is used, it must always be prefixed.
-->
<![%MATHML.module;[
<![%MATHML.pref.prefixed;[
<!ENTITY % MATHML.pref.renderer.extra "">
<!ENTITY % MATHML.pref.renderer
    "css | mathplayer-dl | mathplayer | techexplorer-plugin | techexplorer">
<!ENTITY % MATHML.pref.xmlns.attrib
    "xmlns:%MATHML.pref.prefix; %URI.datatype; #FIXED '%MATHML.pref.xmlns;'
     %MATHML.pref.prefix;:renderer
     ( %MATHML.pref.renderer; %MATHML.pref.renderer.extra; ) #IMPLIED"
>
]]>
]]>
<!ENTITY % MATHML.pref.xmlns.attrib "" >

<!-- The parameter entities %SVG.xmlns.extra.attrib; and
     %XHTML.xmlns.extra.attrib; may be redeclared to contain
     any foreign namespace declarations for namespaces embedded
     in XHTML+MathML+SVG. The default value is an empty string.
-->
<!ENTITY % SVG.xmlns.extra.attrib "" >
<!ENTITY % XHTML.xmlns.extra.attrib "" >

<!-- Declare parameter entities to define XML Namespace declarations
     for SVG, XHTML and MathML.
-->
<![%SVG.module;[
<![%SVG.prefixed;[
<!ENTITY % SVG.xmlns.decl.attrib
    "xmlns:%SVG.prefix; %URI.datatype; #FIXED '%SVG.xmlns;'"
>
]]>
<!ENTITY % SVG.xmlns.decl.attrib
    "xmlns %URI.datatype; #FIXED '%SVG.xmlns;'"
>
]]>
<!ENTITY % SVG.xmlns.decl.attrib "" >

<![%XHTML.module;[
<![%XHTML.prefixed;[
<!ENTITY % XHTML.xmlns.decl.attrib
    "xmlns:%XHTML.prefix; %URI.datatype; #FIXED '%XHTML.xmlns;'"
>
]]>
<!ENTITY % XHTML.xmlns.decl.attrib
    "xmlns %URI.datatype; #FIXED '%XHTML.xmlns;'"
>
]]>
<!ENTITY % XHTML.xmlns.decl.attrib "" >

<![%MATHML.module;[
<![%MATHML.prefixed;[
<!ENTITY % MATHML.xmlns.decl.attrib
    "xmlns:%MATHML.prefix; %URI.datatype; #FIXED '%MATHML.xmlns;'"
>
]]>
<!ENTITY % MATHML.xmlns.decl.attrib
    "xmlns %URI.datatype; #FIXED '%MATHML.xmlns;'"
>
]]>
<!ENTITY % MATHML.xmlns.decl.attrib "" >

<!-- Declare common case for %NS.decl.attrib;.
-->
<!ENTITY % NS.common.decl.attrib
    "%SVG.xmlns.decl.attrib;
     %XHTML.xmlns.decl.attrib;
     %MATHML.xmlns.decl.attrib;
     %XLINK.xmlns.attrib;
     %MATHML.pref.xmlns.attrib;
     %SVG.xmlns.extra.attrib;
     %XHTML.xmlns.extra.attrib;"
>

<!-- Redeclare the parameter entity %NS.decl.attrib; containing
     all XML Namespace declarations used in the DTD, its form
     dependent on whether prefixing is active.
-->
<![%SVG.prefixed;[
<![%XHTML.prefixed;[
<!-- SVG and XHTML are prefixed, MathML is either prefixed or not prefixed.
-->
<!ENTITY % NS.decl.attrib
    "%NS.common.decl.attrib;"
>
]]>
<![%MATHML.prefixed;[
<!-- SVG and MathML are prefixed, XHTML is not prefixed.
-->
<!ENTITY % NS.decl.attrib
    "%NS.common.decl.attrib;"
>
]]>
<!-- SVG is prefixed, XHTML and MathML are not prefixed.
     MathML namespace must always be specified on the math element.
-->
<!ENTITY % NS.decl.attrib
    "%SVG.xmlns.decl.attrib;
     %XHTML.xmlns.decl.attrib;
     %XLINK.xmlns.attrib;
     %MATHML.pref.xmlns.attrib;
     %SVG.xmlns.extra.attrib;
     %XHTML.xmlns.extra.attrib;"
>
]]>
<![%XHTML.prefixed;[
<![%MATHML.prefixed;[
<!-- SVG is not prefixed, XHTML and MathML are prefixed.
-->
<!ENTITY % NS.decl.attrib
    "%NS.common.decl.attrib;"
>
]]>
<!-- SVG and MathML are not prefixed, which is not allowed.
-->
<!ENTITY % NS.decl.attrib "" >
]]>
<!-- SVG, MathML and XHTML are all not prefixed, which is not allowed.
-->
<!ENTITY % NS.decl.attrib "" >

<!-- Redeclare parameter entities %SVG.xmlns.attrib; and
     %XHTML.xmlns.attrib; containing all XML namespace declarations
     used by XHTML+MathML+SVG, including a default xmlns declaration
     when prefixing is inactive.
-->
<![%SVG.module;[
<!ENTITY % SVG.xmlns.attrib
    "%NS.decl.attrib;"
>
]]>

<![%XHTML.module;[
<!ENTITY % XHTML.xmlns.attrib
    "%NS.decl.attrib;"
>
]]>

<!-- Redeclare the parameter entity %MATHML.xmlns.extra.attrib;
     containing XLink and MathML preferences namespace declarations
     allowed on MathML elements.
-->
<![%MATHML.module;[
<!ENTITY % MATHML.xmlns.extra.attrib
    "%XLINK.xmlns.attrib;
     %MATHML.pref.xmlns.attrib;"
>
]]>

<!-- Framework Redeclaration placeholders  ....................... -->

<![%XHTML.module;[
<!ENTITY % XHTML.redecl.module "INCLUDE" >
<![%XHTML.redecl.module;[
<!-- Pre-Framework Redeclaration placeholder  .................... -->
<!ENTITY % xhtml-prefw-redecl.mod "" >

<!-- Post-Framework Redeclaration placeholder  ................... -->
<!ENTITY % xhtml-postfw-redecl.mod "" >
]]>
]]>

<![%SVG.module;[
<!ENTITY % SVG.redecl.module "INCLUDE" >
<![%SVG.redecl.module;[
<!-- Pre-Framework Redeclaration placeholder ..................... -->
<!ENTITY % svg-prefw-redecl.mod "" >

<!-- Post-Framework Redeclaration placeholder .................... -->
<!ENTITY % svg-postfw-redecl.mod "" >
]]>
]]>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Declare MathML Qualified Names module as an extension of
     XHTML's Qualified Names module.
-->
<![%MATHML.module;[
<!ENTITY % xhtml-qname-extra.decl
    'PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
            "%MATHML.qname.sysid;"'
>
<!ENTITY % xhtml-qname-extra.mod
    %xhtml-qname-extra.decl;
>
]]>

<!-- Declare location of math and svg contents in XHTML.
-->

<![%MATHML.module;[
<![%MATHML.prefixed;[
<!ENTITY % MATHML.pfx        "%MATHML.prefix;:" >
]]>
<!ENTITY % MATHML.pfx        "" >
<!ENTITY % math.qname        "%MATHML.pfx;math" >
<!ENTITY % MATHML.math.class "| %math.qname;" >
]]>
<!ENTITY % MATHML.math.class "" >

<![%SVG.module;[
<![%SVG.prefixed;[
<!ENTITY % SVG.pfx           "%SVG.prefix;:" >
]]>
<!ENTITY % SVG.pfx           "" >
<!ENTITY % SVG.svg.qname     "%SVG.pfx;svg" >
<!ENTITY % SVG.svg.class     "| %SVG.svg.qname;" >
]]>
<!ENTITY % SVG.svg.class     "" >

<![%XHTML.module;[
<![%XHTML.Basic.module;[
<!ENTITY % Misc.class
    "%MATHML.math.class; %SVG.svg.class;" >
]]>
<!ENTITY % Misc.extra
    "%MATHML.math.class; %SVG.svg.class;" >
]]>

<!-- Redeclare SVG's foreignObject content (allow anything).
-->
<![%SVG.module;[
<!ENTITY % SVG.foreignObject.content "ANY" >
]]>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Instantiate SVG DTD  ........................................ -->
<![%SVG.module;[
<!ENTITY % SVG.dtd.decl
    'PUBLIC "%SVG.dtd.fpi;"
            "%SVG.dtd.sysid;"'
>
<!ENTITY % SVG.dtd %SVG.dtd.decl; >
<!-- ....................................................................... -->
<!-- SVG 1.1 DTD ........................................................... -->
<!-- file: svg11.dtd
-->

<!-- SVG 1.1 DTD

     This is SVG, a language for describing two-dimensional graphics in XML.

     The Scalable Vector Graphics (SVG)
     Copyright 2001, 2002 World Wide Web Consortium
        (Massachusetts Institute of Technology, Institut National de
         Recherche en Informatique et en Automatique, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute the SVG DTD and its
     accompanying documentation for any purpose and without fee is hereby
     granted in perpetuity, provided that the above copyright notice and
     this paragraph appear in all copies.  The copyright holders make no
     representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Author:   Jun Fujisawa <fujisawa.jun@canon.co.jp>
        Revision: $Id: svg11.dtd,v 1.4 2002/04/29 11:23:25 dean Exp $

-->
<!-- This is the driver file for version 1.1 of the SVG DTD.

     This DTD is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//DTD SVG 1.1//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"
-->
<!ENTITY % SVG.version "-//W3C//DTD SVG 1.1//EN" >

<!-- Use this URI to identify the default namespace:

        "http://www.w3.org/2000/svg"

     See the Qualified Names module for information
     on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % SVG.prefix "" >

<!-- reserved for future use with document profiles -->
<!ENTITY % SVG.profile "" >

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Pre-Framework Redeclaration Placeholder ..................... -->
<!ENTITY % svg-prefw-redecl.module "IGNORE" >
<![%svg-prefw-redecl.module;[
%svg-prefw-redecl.mod;]]>

<!-- Document Model Module ....................................... -->
<!ENTITY % svg-model.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Document Model//EN"
           "svg11-model.mod" >

<!-- Attribute Collection Module ................................. -->
<!ENTITY % svg-attribs.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Attribute Collection//EN"
           "svg11-attribs.mod" >

<!-- Modular Framework Module .................................... -->
<!ENTITY % svg-framework.module "INCLUDE" >
<![%svg-framework.module;[
<!ENTITY % svg-framework.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Modular Framework//EN"
           "svg-framework.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Modular Framework Module ...................................... -->
<!-- file: svg-framework.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-framework.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Modular Framework//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-framework.mod"

     ....................................................................... -->

<!-- Modular Framework

     This module instantiates the modules needed o support the SVG
     modularization model, including:

        + Datatypes
        + Qualified Name
        + Document Model
        + Attribute Collection
-->

<!ENTITY % svg-datatypes.module "INCLUDE" >
<![%svg-datatypes.module;[
<!ENTITY % svg-datatypes.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Datatypes//EN"
           "svg-datatypes.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Datatypes Module .............................................. -->
<!-- file: svg-datatypes.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-datatypes.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Datatypes//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-datatypes.mod"

     ....................................................................... -->

<!-- Datatypes

     This module declares common data types for properties and attributes.
-->

<!-- feature specification -->
<!ENTITY % Boolean.datatype "( false | true )" >

<!-- 'clip-rule' or 'fill-rule' property/attribute value -->
<!ENTITY % ClipFillRule.datatype "( nonzero | evenodd | inherit )" >

<!-- media type, as per [RFC2045] -->
<!ENTITY % ContentType.datatype "CDATA" >

<!-- a <coordinate> -->
<!ENTITY % Coordinate.datatype "CDATA" >

<!-- a list of <coordinate>s -->
<!ENTITY % Coordinates.datatype "CDATA" >

<!-- a <color> value -->
<!ENTITY % Color.datatype "CDATA" >

<!-- a <integer> -->
<!ENTITY % Integer.datatype "CDATA" >

<!-- a language code, as per [RFC3066] -->
<!ENTITY % LanguageCode.datatype "NMTOKEN" >

<!-- comma-separated list of language codes, as per [RFC3066] -->
<!ENTITY % LanguageCodes.datatype "CDATA" >

<!-- a <length> -->
<!ENTITY % Length.datatype "CDATA" >

<!-- a list of <length>s -->
<!ENTITY % Lengths.datatype "CDATA" >

<!-- a <number> -->
<!ENTITY % Number.datatype "CDATA" >

<!-- a list of <number>s -->
<!ENTITY % Numbers.datatype "CDATA" >

<!-- opacity value (e.g., <number>) -->
<!ENTITY % OpacityValue.datatype "CDATA" >

<!-- a path data specification -->
<!ENTITY % PathData.datatype "CDATA" >

<!-- 'preserveAspectRatio' attribute specification -->
<!ENTITY % PreserveAspectRatioSpec.datatype "CDATA" >

<!-- script expression -->
<!ENTITY % Script.datatype "CDATA" >

<!-- An SVG color value (RGB plus optional ICC) -->
<!ENTITY % SVGColor.datatype "CDATA" >

<!-- arbitrary text string -->
<!ENTITY % Text.datatype "CDATA" >

<!-- list of transforms -->
<!ENTITY % TransformList.datatype "CDATA" >

<!-- a Uniform Resource Identifier, see [URI] -->
<!ENTITY % URI.datatype "CDATA" >

<!-- 'viewBox' attribute specification -->
<!ENTITY % ViewBoxSpec.datatype "CDATA" >

<!-- end of svg-datatypes.mod -->
]]>

<!ENTITY % svg-qname.module "INCLUDE" >
<![%svg-qname.module;[
<!ENTITY % svg-qname.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN"
           "svg-qname.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Qualified Name Module ......................................... -->
<!-- file: svg-qname.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-qname.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-qname.mod"

     ....................................................................... -->

<!-- Qualified Name

     This module is contained in two parts, labeled Section 'A' and 'B':

        Section A declares parameter entities to support namespace-
        qualified names, namespace declarations, and name prefixing
        for SVG and extensions.

        Section B declares parameter entities used to provide
        namespace-qualified names for all SVG element types:
-->

<!-- Section A: SVG XML Namespace Framework :::::::::::::::::::::: -->

<!-- 1. Declare a %SVG.prefixed; conditional section keyword, used
        to activate namespace prefixing. The default value should
        inherit '%NS.prefixed;' from the DTD driver, so that unless
        overridden, the default behaviour follows the overall DTD
        prefixing scheme.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % SVG.prefixed "%NS.prefixed;" >

<!-- 2. Declare a parameter entity (eg., %SVG.xmlns;) containing
        the URI reference used to identify the SVG namespace:
-->
<!ENTITY % SVG.xmlns "http://www.w3.org/2000/svg" >
<!ENTITY % XLINK.xmlns "http://www.w3.org/1999/xlink" >

<!-- 3. Declare parameter entities (eg., %SVG.prefix;) containing
        the default namespace prefix string(s) to use when prefixing
        is enabled. This may be overridden in the DTD driver or the
        internal subset of an document instance. If no default prefix
        is desired, this may be declared as an empty string.
-->
<!ENTITY % SVG.prefix "" >
<!ENTITY % XLINK.prefix "xlink" >

<!-- 4. Declare parameter entities (eg., %SVG.pfx;) containing the
        colonized prefix(es) (eg., '%SVG.prefix;:') used when
        prefixing is active, an empty string when it is not.
-->
<![%SVG.prefixed;[
<!ENTITY % SVG.pfx "%SVG.prefix;:" >
]]>
<!ENTITY % SVG.pfx "" >
<!ENTITY % XLINK.pfx "%XLINK.prefix;:" >

<!-- 5. The parameter entity %SVG.xmlns.extra.attrib; may be
        redeclared to contain any non-SVG namespace declaration
        attributes for namespaces embedded in SVG. The default
        is an empty string.
-->
<!ENTITY % SVG.xmlns.extra.attrib "" >

<!-- Declare a parameter entity XLINK.xmlns.attrib containing
     the XML Namespace declarations for XLink.
-->
<!ENTITY % XLINK.xmlns.attrib
     "xmlns:%XLINK.prefix; %URI.datatype; #FIXED '%XLINK.xmlns;'"
>

<!-- Declare a parameter entity %NS.decl.attrib; containing
     all XML Namespace declarations used in the DTD, plus the
     xmlns declaration for SVG, its form dependent on whether
     prefixing is active.
-->
<![%SVG.prefixed;[
<!ENTITY % NS.decl.attrib
    "xmlns:%SVG.prefix; %URI.datatype; #FIXED '%SVG.xmlns;'
     %XLINK.xmlns.attrib;
     %SVG.xmlns.extra.attrib;"
>
]]>
<!ENTITY % NS.decl.attrib
    "%XLINK.xmlns.attrib;
     %SVG.xmlns.extra.attrib;"
>

<!-- Declare a parameter entity %SVG.xmlns.attrib; containing
     all XML namespace declaration attributes used by SVG,
     including a default xmlns attribute when prefixing is
     inactive.
-->
<![%SVG.prefixed;[
<!ENTITY % SVG.xmlns.attrib
     "%NS.decl.attrib;"
>
]]>
<!ENTITY % SVG.xmlns.attrib
     "xmlns %URI.datatype; #FIXED '%SVG.xmlns;'
      %XLINK.xmlns.attrib;"
>

<!-- Section B: SVG Qualified Names :::::::::::::::::::::::::::::: -->

<!-- 6. This section declares parameter entities used to provide
        namespace-qualified names for all SVG element types.
-->

<!-- module: svg-structure.mod ......................... -->

<!ENTITY % SVG.svg.qname "%SVG.pfx;svg" >
<!ENTITY % SVG.g.qname "%SVG.pfx;g" >
<!ENTITY % SVG.defs.qname "%SVG.pfx;defs" >
<!ENTITY % SVG.desc.qname "%SVG.pfx;desc" >
<!ENTITY % SVG.title.qname "%SVG.pfx;title" >
<!ENTITY % SVG.metadata.qname "%SVG.pfx;metadata" >
<!ENTITY % SVG.symbol.qname "%SVG.pfx;symbol" >
<!ENTITY % SVG.use.qname "%SVG.pfx;use" >

<!-- module: svg-conditional.mod ....................... -->

<!ENTITY % SVG.switch.qname "%SVG.pfx;switch" >

<!-- module: svg-image.mod ............................. -->

<!ENTITY % SVG.image.qname "%SVG.pfx;image" >

<!-- module: svg-style.mod ............................. -->

<!ENTITY % SVG.style.qname "%SVG.pfx;style" >

<!-- module: svg-shape.mod ............................. -->

<!ENTITY % SVG.path.qname "%SVG.pfx;path" >
<!ENTITY % SVG.rect.qname "%SVG.pfx;rect" >
<!ENTITY % SVG.circle.qname "%SVG.pfx;circle" >
<!ENTITY % SVG.line.qname "%SVG.pfx;line" >
<!ENTITY % SVG.ellipse.qname "%SVG.pfx;ellipse" >
<!ENTITY % SVG.polyline.qname "%SVG.pfx;polyline" >
<!ENTITY % SVG.polygon.qname "%SVG.pfx;polygon" >

<!-- module: svg-text.mod .............................. -->

<!ENTITY % SVG.text.qname "%SVG.pfx;text" >
<!ENTITY % SVG.tspan.qname "%SVG.pfx;tspan" >
<!ENTITY % SVG.tref.qname "%SVG.pfx;tref" >
<!ENTITY % SVG.textPath.qname "%SVG.pfx;textPath" >
<!ENTITY % SVG.altGlyph.qname "%SVG.pfx;altGlyph" >
<!ENTITY % SVG.altGlyphDef.qname "%SVG.pfx;altGlyphDef" >
<!ENTITY % SVG.altGlyphItem.qname "%SVG.pfx;altGlyphItem" >
<!ENTITY % SVG.glyphRef.qname "%SVG.pfx;glyphRef" >

<!-- module: svg-marker.mod ............................ -->

<!ENTITY % SVG.marker.qname "%SVG.pfx;marker" >

<!-- module: svg-profile.mod ........................... -->

<!ENTITY % SVG.color-profile.qname "%SVG.pfx;color-profile" >

<!-- module: svg-gradient.mod .......................... -->

<!ENTITY % SVG.linearGradient.qname "%SVG.pfx;linearGradient" >
<!ENTITY % SVG.radialGradient.qname "%SVG.pfx;radialGradient" >
<!ENTITY % SVG.stop.qname "stop" >

<!-- module: svg-pattern.mod ........................... -->

<!ENTITY % SVG.pattern.qname "%SVG.pfx;pattern" >

<!-- module: svg-clip.mod .............................. -->

<!ENTITY % SVG.clipPath.qname "%SVG.pfx;clipPath" >

<!-- module: svg-mask.mod .............................. -->

<!ENTITY % SVG.mask.qname "%SVG.pfx;mask" >

<!-- module: svg-filter.mod ............................ -->

<!ENTITY % SVG.filter.qname "%SVG.pfx;filter" >
<!ENTITY % SVG.feBlend.qname "%SVG.pfx;feBlend" >
<!ENTITY % SVG.feColorMatrix.qname "%SVG.pfx;feColorMatrix" >
<!ENTITY % SVG.feComponentTransfer.qname "%SVG.pfx;feComponentTransfer" >
<!ENTITY % SVG.feComposite.qname "%SVG.pfx;feComposite" >
<!ENTITY % SVG.feConvolveMatrix.qname "%SVG.pfx;feConvolveMatrix" >
<!ENTITY % SVG.feDiffuseLighting.qname "%SVG.pfx;feDiffuseLighting" >
<!ENTITY % SVG.feDisplacementMap.qname "%SVG.pfx;feDisplacementMap" >
<!ENTITY % SVG.feFlood.qname "%SVG.pfx;feFlood" >
<!ENTITY % SVG.feGaussianBlur.qname "%SVG.pfx;feGaussianBlur" >
<!ENTITY % SVG.feImage.qname "%SVG.pfx;feImage" >
<!ENTITY % SVG.feMerge.qname "%SVG.pfx;feMerge" >
<!ENTITY % SVG.feMergeNode.qname "%SVG.pfx;feMergeNode" >
<!ENTITY % SVG.feMorphology.qname "%SVG.pfx;feMorphology" >
<!ENTITY % SVG.feOffset.qname "%SVG.pfx;feOffset" >
<!ENTITY % SVG.feSpecularLighting.qname "%SVG.pfx;feSpecularLighting" >
<!ENTITY % SVG.feTile.qname "%SVG.pfx;feTile" >
<!ENTITY % SVG.feTurbulence.qname "%SVG.pfx;feTurbulence" >
<!ENTITY % SVG.feDistantLight.qname "%SVG.pfx;feDistantLight" >
<!ENTITY % SVG.fePointLight.qname "%SVG.pfx;fePointLight" >
<!ENTITY % SVG.feSpotLight.qname "%SVG.pfx;feSpotLight" >
<!ENTITY % SVG.feFuncR.qname "%SVG.pfx;feFuncR" >
<!ENTITY % SVG.feFuncG.qname "%SVG.pfx;feFuncG" >
<!ENTITY % SVG.feFuncB.qname "%SVG.pfx;feFuncB" >
<!ENTITY % SVG.feFuncA.qname "%SVG.pfx;feFuncA" >

<!-- module: svg-cursor.mod ............................ -->

<!ENTITY % SVG.cursor.qname "%SVG.pfx;cursor" >

<!-- module: svg-hyperlink.mod ......................... -->

<!ENTITY % SVG.a.qname "%SVG.pfx;a" >

<!-- module: svg-view.mod .............................. -->

<!ENTITY % SVG.view.qname "%SVG.pfx;view" >

<!-- module: svg-script.mod ............................ -->

<!ENTITY % SVG.script.qname "%SVG.pfx;script" >

<!-- module: svg-animation.mod ......................... -->

<!ENTITY % SVG.animate.qname "%SVG.pfx;animate" >
<!ENTITY % SVG.set.qname "%SVG.pfx;set" >
<!ENTITY % SVG.animateMotion.qname "%SVG.pfx;animateMotion" >
<!ENTITY % SVG.animateColor.qname "%SVG.pfx;animateColor" >
<!ENTITY % SVG.animateTransform.qname "%SVG.pfx;animateTransform" >
<!ENTITY % SVG.mpath.qname "%SVG.pfx;mpath" >

<!-- module: svg-font.mod .............................. -->

<!ENTITY % SVG.font.qname "%SVG.pfx;font" >
<!ENTITY % SVG.font-face.qname "%SVG.pfx;font-face" >
<!ENTITY % SVG.glyph.qname "%SVG.pfx;glyph" >
<!ENTITY % SVG.missing-glyph.qname "%SVG.pfx;missing-glyph" >
<!ENTITY % SVG.hkern.qname "%SVG.pfx;hkern" >
<!ENTITY % SVG.vkern.qname "%SVG.pfx;vkern" >
<!ENTITY % SVG.font-face-src.qname "%SVG.pfx;font-face-src" >
<!ENTITY % SVG.font-face-uri.qname "%SVG.pfx;font-face-uri" >
<!ENTITY % SVG.font-face-format.qname "%SVG.pfx;font-face-format" >
<!ENTITY % SVG.font-face-name.qname "%SVG.pfx;font-face-name" >
<!ENTITY % SVG.definition-src.qname "%SVG.pfx;definition-src" >

<!-- module: svg-extensibility.mod ..................... -->

<!ENTITY % SVG.foreignObject.qname "%SVG.pfx;foreignObject" >

<!-- end of svg-qname.mod -->
]]>

<!ENTITY % svg-model.module "INCLUDE" >
<![%svg-model.module;[
<!-- instantiate the Document Model declared in the DTD driver -->
<!-- ....................................................................... -->
<!-- SVG 1.1 Document Model Module ......................................... -->
<!-- file: svg11-model.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg11-model.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Document Model//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-model.mod"

     ....................................................................... -->

<!-- SVG 1.1 Document Model

     This module describes the groupings of elements that make up
     common content models for SVG elements.
-->

<!-- module: svg-structure.mod ......................... -->

<!ENTITY % SVG.Description.extra.class "" >
<!ENTITY % SVG.Description.class
    "%SVG.desc.qname; | %SVG.title.qname; | %SVG.metadata.qname;
     %SVG.Description.extra.class;"
>

<!ENTITY % SVG.Use.extra.class "" >
<!ENTITY % SVG.Use.class
    "| %SVG.use.qname; %SVG.Use.extra.class;"
>

<!ENTITY % SVG.Structure.extra.class "" >
<!ENTITY % SVG.Structure.class
    "| %SVG.svg.qname; | %SVG.g.qname; | %SVG.defs.qname; | %SVG.symbol.qname;
       %SVG.Use.class; %SVG.Structure.extra.class;"
>

<!-- module: svg-conditional.mod ....................... -->

<!ENTITY % SVG.Conditional.extra.class "" >
<!ENTITY % SVG.Conditional.class
    "| %SVG.switch.qname; %SVG.Conditional.extra.class;"
>

<!-- module: svg-image.mod ............................. -->

<!ENTITY % SVG.Image.extra.class "" >
<!ENTITY % SVG.Image.class
    "| %SVG.image.qname; %SVG.Image.extra.class;"
>

<!-- module: svg-style.mod ............................. -->

<!ENTITY % SVG.Style.extra.class "" >
<!ENTITY % SVG.Style.class
    "| %SVG.style.qname; %SVG.Style.extra.class;"
>

<!-- module: svg-shape.mod ............................. -->

<!ENTITY % SVG.Shape.extra.class "" >
<!ENTITY % SVG.Shape.class
    "| %SVG.path.qname; | %SVG.rect.qname; | %SVG.circle.qname;
     | %SVG.line.qname; | %SVG.ellipse.qname; | %SVG.polyline.qname;
     | %SVG.polygon.qname; %SVG.Shape.extra.class;"
>

<!-- module: svg-text.mod .............................. -->

<!ENTITY % SVG.Text.extra.class "" >
<!ENTITY % SVG.Text.class
    "| %SVG.text.qname; | %SVG.altGlyphDef.qname; %SVG.Text.extra.class;"
>

<!ENTITY % SVG.TextContent.extra.class "" >
<!ENTITY % SVG.TextContent.class
    "| %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.textPath.qname;
     | %SVG.altGlyph.qname; %SVG.TextContent.extra.class;"
>

<!-- module: svg-marker.mod ............................ -->

<!ENTITY % SVG.Marker.extra.class "" >
<!ENTITY % SVG.Marker.class
    "| %SVG.marker.qname; %SVG.Marker.extra.class;"
>

<!-- module: svg-profile.mod ........................... -->

<!ENTITY % SVG.Profile.extra.class "" >
<!ENTITY % SVG.Profile.class
    "| %SVG.color-profile.qname; %SVG.Profile.extra.class;"
>

<!-- module: svg-gradient.mod .......................... -->

<!ENTITY % SVG.Gradient.extra.class "" >
<!ENTITY % SVG.Gradient.class
    "| %SVG.linearGradient.qname; | %SVG.radialGradient.qname;
       %SVG.Gradient.extra.class;"
>

<!-- module: svg-pattern.mod ........................... -->

<!ENTITY % SVG.Pattern.extra.class "" >
<!ENTITY % SVG.Pattern.class
    "| %SVG.pattern.qname; %SVG.Pattern.extra.class;"
>

<!-- module: svg-clip.mod .............................. -->

<!ENTITY % SVG.Clip.extra.class "" >
<!ENTITY % SVG.Clip.class
    "| %SVG.clipPath.qname; %SVG.Clip.extra.class;"
>

<!-- module: svg-mask.mod .............................. -->

<!ENTITY % SVG.Mask.extra.class "" >
<!ENTITY % SVG.Mask.class
    "| %SVG.mask.qname; %SVG.Mask.extra.class;"
>

<!-- module: svg-filter.mod ............................ -->

<!ENTITY % SVG.Filter.extra.class "" >
<!ENTITY % SVG.Filter.class
    "| %SVG.filter.qname; %SVG.Filter.extra.class;"
>

<!ENTITY % SVG.FilterPrimitive.extra.class "" >
<!ENTITY % SVG.FilterPrimitive.class
    "| %SVG.feBlend.qname; | %SVG.feColorMatrix.qname;
     | %SVG.feComponentTransfer.qname; | %SVG.feComposite.qname;
     | %SVG.feConvolveMatrix.qname; | %SVG.feDiffuseLighting.qname;
     | %SVG.feDisplacementMap.qname; | %SVG.feFlood.qname;
     | %SVG.feGaussianBlur.qname; | %SVG.feImage.qname; | %SVG.feMerge.qname;
     | %SVG.feMorphology.qname; | %SVG.feOffset.qname;
     | %SVG.feSpecularLighting.qname; | %SVG.feTile.qname;
     | %SVG.feTurbulence.qname; %SVG.FilterPrimitive.extra.class;"
>

<!-- module: svg-cursor.mod ............................ -->

<!ENTITY % SVG.Cursor.extra.class "" >
<!ENTITY % SVG.Cursor.class
    "| %SVG.cursor.qname; %SVG.Cursor.extra.class;"
>

<!-- module: svg-hyperlink.mod ......................... -->

<!ENTITY % SVG.Hyperlink.extra.class "" >
<!ENTITY % SVG.Hyperlink.class
    "| %SVG.a.qname; %SVG.Hyperlink.extra.class;"
>

<!-- module: svg-view.mod .............................. -->

<!ENTITY % SVG.View.extra.class "" >
<!ENTITY % SVG.View.class
    "| %SVG.view.qname; %SVG.View.extra.class;"
>

<!-- module: svg-script.mod ............................ -->

<!ENTITY % SVG.Script.extra.class "" >
<!ENTITY % SVG.Script.class
    "| %SVG.script.qname; %SVG.Script.extra.class;"
>

<!-- module: svg-animation.mod ......................... -->

<!ENTITY % SVG.Animation.extra.class "" >
<!ENTITY % SVG.Animation.class
    "%SVG.animate.qname; | %SVG.set.qname; | %SVG.animateMotion.qname; |
     %SVG.animateColor.qname; | %SVG.animateTransform.qname;
     %SVG.Animation.extra.class;"
>

<!-- module: svg-font.mod .............................. -->

<!ENTITY % SVG.Font.extra.class "" >
<!ENTITY % SVG.Font.class
    "| %SVG.font.qname; | %SVG.font-face.qname; %SVG.Font.extra.class;"
>

<!-- module: svg-extensibility.mod ..................... -->

<!ENTITY % SVG.Extensibility.extra.class "" >
<!ENTITY % SVG.Extensibility.class
    "| %SVG.foreignObject.qname; %SVG.Extensibility.extra.class;"
>

<!-- end of svg11-model.mod -->
]]>

<!ENTITY % svg-attribs.module "INCLUDE" >
<![%svg-attribs.module;[
<!-- instantiate the Attribute Collection declared in the DTD driver -->
<!-- ....................................................................... -->
<!-- SVG 1.1 Attribute Collection Module ................................... -->
<!-- file: svg11-attribs.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg11-attribs.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Attribute Collection//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-attribs.mod"

     ....................................................................... -->

<!-- SVG 1.1 Attribute Collection

     This module defines the set of common attributes that can be present
     on many SVG elements.
-->

<!-- module: svg-conditional.mod ....................... -->

<!ENTITY % ExtensionList.datatype "CDATA" >
<!ENTITY % FeatureList.datatype "CDATA" >

<!ENTITY % SVG.Conditional.extra.attrib "" >
<!ENTITY % SVG.Conditional.attrib
    "requiredFeatures %FeatureList.datatype; #IMPLIED
     requiredExtensions %ExtensionList.datatype; #IMPLIED
     systemLanguage %LanguageCodes.datatype; #IMPLIED
     %SVG.Conditional.extra.attrib;"
>

<!-- module: svg-style.mod ............................. -->

<!ENTITY % ClassList.datatype "CDATA" >
<!ENTITY % StyleSheet.datatype "CDATA" >

<!ENTITY % SVG.Style.extra.attrib "" >
<!ENTITY % SVG.Style.attrib
    "style %StyleSheet.datatype; #IMPLIED
     class %ClassList.datatype; #IMPLIED
     %SVG.Style.extra.attrib;"
>

<!-- module: svg-text.mod .............................. -->

<!ENTITY % BaselineShiftValue.datatype "CDATA" >
<!ENTITY % FontFamilyValue.datatype "CDATA" >
<!ENTITY % FontSizeValue.datatype "CDATA" >
<!ENTITY % FontSizeAdjustValue.datatype "CDATA" >
<!ENTITY % GlyphOrientationHorizontalValue.datatype "CDATA" >
<!ENTITY % GlyphOrientationVerticalValue.datatype "CDATA" >
<!ENTITY % KerningValue.datatype "CDATA" >
<!ENTITY % SpacingValue.datatype "CDATA" >
<!ENTITY % TextDecorationValue.datatype "CDATA" >

<!ENTITY % SVG.Text.extra.attrib "" >
<!ENTITY % SVG.Text.attrib
    "writing-mode ( lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit ) #IMPLIED
     %SVG.Text.extra.attrib;"
>

<!ENTITY % SVG.TextContent.extra.attrib "" >
<!ENTITY % SVG.TextContent.attrib
    "alignment-baseline ( auto | baseline | before-edge | text-before-edge |
                          middle | central | after-edge | text-after-edge |
                          ideographic | alphabetic | hanging | mathematical |
                          inherit ) #IMPLIED
     baseline-shift %BaselineShiftValue.datatype; #IMPLIED
     direction ( ltr | rtl | inherit ) #IMPLIED
     dominant-baseline ( auto | use-script | no-change | reset-size |
                         ideographic | alphabetic | hanging | mathematical |
                         central | middle | text-after-edge | text-before-edge |
                         inherit ) #IMPLIED
     glyph-orientation-horizontal %GlyphOrientationHorizontalValue.datatype;
                                  #IMPLIED
     glyph-orientation-vertical %GlyphOrientationVerticalValue.datatype;
                                #IMPLIED
     kerning %KerningValue.datatype; #IMPLIED
     letter-spacing %SpacingValue.datatype; #IMPLIED
     text-anchor ( start | middle | end | inherit ) #IMPLIED
     text-decoration %TextDecorationValue.datatype; #IMPLIED
     unicode-bidi ( normal | embed | bidi-override | inherit ) #IMPLIED
     word-spacing %SpacingValue.datatype; #IMPLIED
     %SVG.TextContent.extra.attrib;"
>

<!ENTITY % SVG.Font.extra.attrib "" >
<!ENTITY % SVG.Font.attrib
    "font-family %FontFamilyValue.datatype; #IMPLIED
     font-size %FontSizeValue.datatype; #IMPLIED
     font-size-adjust %FontSizeAdjustValue.datatype; #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
     %SVG.Font.extra.attrib;"
>

<!-- module: svg-marker.mod ............................ -->

<!ENTITY % MarkerValue.datatype "CDATA" >

<!ENTITY % SVG.Marker.extra.attrib "" >
<!ENTITY % SVG.Marker.attrib
    "marker-start %MarkerValue.datatype; #IMPLIED
     marker-mid %MarkerValue.datatype; #IMPLIED
     marker-end %MarkerValue.datatype; #IMPLIED
     %SVG.Marker.extra.attrib;"
>

<!-- module: svg-profile.mod ........................... -->

<!ENTITY % SVG.Profile.extra.attrib "" >
<!ENTITY % SVG.Profile.attrib
    "color-profile CDATA #IMPLIED
     %SVG.Profile.extra.attrib;"
>

<!-- module: svg-gradient.mod .......................... -->

<!ENTITY % NumberOrPercentage.datatype "CDATA" >

<!ENTITY % SVG.Gradient.extra.attrib "" >
<!ENTITY % SVG.Gradient.attrib
    "stop-color %SVGColor.datatype; #IMPLIED
     stop-opacity %OpacityValue.datatype; #IMPLIED
     %SVG.Gradient.extra.attrib;"
>

<!-- module: svg-clip.mod .............................. -->

<!ENTITY % ClipPathValue.datatype "CDATA" >

<!ENTITY % SVG.Clip.extra.attrib "" >
<!ENTITY % SVG.Clip.attrib
    "clip-path %ClipPathValue.datatype; #IMPLIED
     clip-rule %ClipFillRule.datatype; #IMPLIED
     %SVG.Clip.extra.attrib;"
>

<!-- module: svg-mask.mod .............................. -->

<!ENTITY % MaskValue.datatype "CDATA" >

<!ENTITY % SVG.Mask.extra.attrib "" >
<!ENTITY % SVG.Mask.attrib
    "mask %MaskValue.datatype; #IMPLIED
     %SVG.Mask.extra.attrib;"
>

<!-- module: svg-filter.mod ............................ -->

<!ENTITY % FilterValue.datatype "CDATA" >
<!ENTITY % NumberOptionalNumber.datatype "CDATA" >

<!ENTITY % SVG.Filter.extra.attrib "" >
<!ENTITY % SVG.Filter.attrib
    "filter %FilterValue.datatype; #IMPLIED
     %SVG.Filter.extra.attrib;"
>

<!ENTITY % SVG.FilterColor.extra.attrib "" >
<!ENTITY % SVG.FilterColor.attrib
    "color-interpolation-filters ( auto | sRGB | linearRGB | inherit )
                                   #IMPLIED
     %SVG.FilterColor.extra.attrib;"
>

<!-- module: svg-cursor.mod ............................ -->

<!ENTITY % CursorValue.datatype "CDATA" >

<!ENTITY % SVG.Cursor.extra.attrib "" >
<!ENTITY % SVG.Cursor.attrib
    "cursor %CursorValue.datatype; #IMPLIED
     %SVG.Cursor.extra.attrib;"
>

<!-- end of svg11-attribs.mod -->
]]>

<!-- end of svg-framework.mod -->
]]>

<!-- Post-Framework Redeclaration Placeholder .................... -->
<!ENTITY % svg-postfw-redecl.module "IGNORE" >
<![%svg-postfw-redecl.module;[
%svg-postfw-redecl.mod;]]>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Core Attribute Module ....................................... -->
<!ENTITY % svg-core-attrib.module "INCLUDE" >
<![%svg-core-attrib.module;[
<!ENTITY % svg-core-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Core Attribute//EN"
           "svg-core-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Core Attribute Module ......................................... -->
<!-- file: svg-core-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-core-attrib.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Core Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-core-attrib.mod"

     ....................................................................... -->

<!-- Core Attribute

        id, xml:base, xml:lang, xml:space

     This module defines the core set of attributes that can be present on
     any element.
-->

<!ENTITY % SVG.id.attrib
    "id ID #IMPLIED"
>

<!ENTITY % SVG.base.attrib
    "xml:base %URI.datatype; #IMPLIED"
>

<!ENTITY % SVG.lang.attrib
    "xml:lang %LanguageCode.datatype; #IMPLIED"
>

<!ENTITY % SVG.space.attrib
    "xml:space ( default | preserve ) #IMPLIED"
>

<!ENTITY % SVG.Core.extra.attrib "" >

<!ENTITY % SVG.Core.attrib
    "%SVG.id.attrib;
     %SVG.base.attrib;
     %SVG.lang.attrib;
     %SVG.space.attrib;
     %SVG.Core.extra.attrib;"
>

<!-- end of svg-core-attrib.mod -->
]]>

<!-- Container Attribute Module .................................. -->
<!ENTITY % svg-container-attrib.module "INCLUDE" >
<![%svg-container-attrib.module;[
<!ENTITY % svg-container-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Container Attribute//EN"
           "svg-container-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Container Attribute Module .................................... -->
<!-- file: svg-container-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-container-attrib.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Container Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-container-attrib.mod"

     ....................................................................... -->

<!-- Container Attribute

        enable-background

     This module defines the Container attribute set.
-->

<!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
<!ENTITY % EnableBackgroundValue.datatype "CDATA" >

<!ENTITY % SVG.enable-background.attrib
    "enable-background %EnableBackgroundValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.Container.extra.attrib "" >

<!ENTITY % SVG.Container.attrib
    "%SVG.enable-background.attrib;
     %SVG.Container.extra.attrib;"
>

<!-- end of svg-container-attrib.mod -->
]]>

<!-- Viewport Attribute Module ................................... -->
<!ENTITY % svg-viewport-attrib.module "INCLUDE" >
<![%svg-viewport-attrib.module;[
<!ENTITY % svg-viewport-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Viewport Attribute//EN"
           "svg-viewport-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Viewport Attribute Module ..................................... -->
<!-- file: svg-viewport-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-viewport-attrib.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Viewport Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-viewport-attrib.mod"

     ....................................................................... -->

<!-- Viewport Attribute

        clip, overflow

     This module defines the Viewport attribute set.
-->

<!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
<!ENTITY % ClipValue.datatype "CDATA" >

<!ENTITY % SVG.clip.attrib
    "clip %ClipValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.overflow.attrib
    "overflow ( visible | hidden | scroll | auto | inherit ) #IMPLIED"
>

<!ENTITY % SVG.Viewport.extra.attrib "" >

<!ENTITY % SVG.Viewport.attrib
    "%SVG.clip.attrib;
     %SVG.overflow.attrib;
     %SVG.Viewport.extra.attrib;"
>

<!-- end of svg-viewport-attrib.mod -->
]]>

<!-- Paint Attribute Module ...................................... -->
<!ENTITY % svg-paint-attrib.module "INCLUDE" >
<![%svg-paint-attrib.module;[
<!ENTITY % svg-paint-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Paint Attribute//EN"
           "svg-paint-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Paint Attribute Module ........................................ -->
<!-- file: svg-paint-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-paint-attrib.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Paint Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-paint-attrib.mod"

     ....................................................................... -->

<!-- Paint Attribute

        fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset,
        stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color,
        color-interpolation, color-rendering

     This module defines the Paint and Color attribute sets.
-->

<!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
<!ENTITY % Paint.datatype "CDATA" >

<!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
<!ENTITY % StrokeDashArrayValue.datatype "CDATA" >

<!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
<!ENTITY % StrokeDashOffsetValue.datatype "CDATA" >

<!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
<!ENTITY % StrokeMiterLimitValue.datatype "CDATA" >

<!-- 'stroke-width' property/attribute value (e.g., <length>) -->
<!ENTITY % StrokeWidthValue.datatype "CDATA" >

<!ENTITY % SVG.fill.attrib
    "fill %Paint.datatype; #IMPLIED"
>

<!ENTITY % SVG.fill-rule.attrib
    "fill-rule %ClipFillRule.datatype; #IMPLIED"
>

<!ENTITY % SVG.stroke.attrib
    "stroke %Paint.datatype; #IMPLIED"
>

<!ENTITY % SVG.stroke-dasharray.attrib
    "stroke-dasharray %StrokeDashArrayValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.stroke-dashoffset.attrib
    "stroke-dashoffset %StrokeDashOffsetValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.stroke-linecap.attrib
    "stroke-linecap ( butt | round | square | inherit ) #IMPLIED"
>

<!ENTITY % SVG.stroke-linejoin.attrib
    "stroke-linejoin ( miter | round | bevel | inherit ) #IMPLIED"
>

<!ENTITY % SVG.stroke-miterlimit.attrib
    "stroke-miterlimit %StrokeMiterLimitValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.stroke-width.attrib
    "stroke-width %StrokeWidthValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.Paint.extra.attrib "" >

<!ENTITY % SVG.Paint.attrib
    "%SVG.fill.attrib;
     %SVG.fill-rule.attrib;
     %SVG.stroke.attrib;
     %SVG.stroke-dasharray.attrib;
     %SVG.stroke-dashoffset.attrib;
     %SVG.stroke-linecap.attrib;
     %SVG.stroke-linejoin.attrib;
     %SVG.stroke-miterlimit.attrib;
     %SVG.stroke-width.attrib;
     %SVG.Paint.extra.attrib;"
>

<!ENTITY % SVG.color.attrib
    "color %Color.datatype; #IMPLIED"
>

<!ENTITY % SVG.color-interpolation.attrib
    "color-interpolation ( auto | sRGB | linearRGB | inherit ) #IMPLIED"
>

<!ENTITY % SVG.color-rendering.attrib
    "color-rendering ( auto | optimizeSpeed | optimizeQuality | inherit )
                       #IMPLIED"
>

<!ENTITY % SVG.Color.extra.attrib "" >

<!ENTITY % SVG.Color.attrib
    "%SVG.color.attrib;
     %SVG.color-interpolation.attrib;
     %SVG.color-rendering.attrib;
     %SVG.Color.extra.attrib;"
>

<!-- end of svg-paint-attrib.mod -->
]]>

<!-- Paint Opacity Attribute Module .............................. -->
<!ENTITY % svg-opacity-attrib.module "INCLUDE" >
<![%svg-opacity-attrib.module;[
<!ENTITY % svg-opacity-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Paint Opacity Attribute//EN"
           "svg-opacity-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Paint Opacity Attribute Module ................................ -->
<!-- file: svg-opacity-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-opacity-attrib.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Paint Opacity Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-opacity-attrib.mod"

     ....................................................................... -->

<!-- Paint Opacity Attribute

        opacity, fill-opacity, stroke-opacity

     This module defines the Opacity attribute set.
-->

<!ENTITY % SVG.opacity.attrib
    "opacity %OpacityValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.fill-opacity.attrib
    "fill-opacity %OpacityValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.stroke-opacity.attrib
    "stroke-opacity %OpacityValue.datatype; #IMPLIED"
>

<!ENTITY % SVG.Opacity.extra.attrib "" >

<!ENTITY % SVG.Opacity.attrib
    "%SVG.opacity.attrib;
     %SVG.fill-opacity.attrib;
     %SVG.stroke-opacity.attrib;
     %SVG.Opacity.extra.attrib;"
>

<!-- end of svg-opacity-attrib.mod -->
]]>

<!-- Graphics Attribute Module ................................... -->
<!ENTITY % svg-graphics-attrib.module "INCLUDE" >
<![%svg-graphics-attrib.module;[
<!ENTITY % svg-graphics-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Graphics Attribute//EN"
           "svg-graphics-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Graphics Attribute Module ..................................... -->
<!-- file: svg-graphics-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-graphics-attrib.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Graphics Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-graphics-attrib.mod"

     ....................................................................... -->

<!-- Graphics Attribute

        display, image-rendering, pointer-events, shape-rendering,
        text-rendering, visibility

     This module defines the Graphics attribute set.
-->

<!ENTITY % SVG.display.attrib
    "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"
>

<!ENTITY % SVG.image-rendering.attrib
    "image-rendering ( auto | optimizeSpeed | optimizeQuality | inherit )
                       #IMPLIED"
>

<!ENTITY % SVG.pointer-events.attrib
    "pointer-events ( visiblePainted | visibleFill | visibleStroke | visible |
                      painted | fill | stroke | all | none | inherit )
                      #IMPLIED"
>

<!ENTITY % SVG.shape-rendering.attrib
    "shape-rendering ( auto | optimizeSpeed | crispEdges | geometricPrecision |
                       inherit ) #IMPLIED"
>

<!ENTITY % SVG.text-rendering.attrib
    "text-rendering ( auto | optimizeSpeed | optimizeLegibility |
                      geometricPrecision | inherit ) #IMPLIED"
>

<!ENTITY % SVG.visibility.attrib
    "visibility ( visible | hidden | inherit ) #IMPLIED"
>

<!ENTITY % SVG.Graphics.extra.attrib "" >

<!ENTITY % SVG.Graphics.attrib
    "%SVG.display.attrib;
     %SVG.image-rendering.attrib;
     %SVG.pointer-events.attrib;
     %SVG.shape-rendering.attrib;
     %SVG.text-rendering.attrib;
     %SVG.visibility.attrib;
     %SVG.Graphics.extra.attrib;"
>

<!-- end of svg-graphics-attrib.mod -->
]]>

<!-- Document Events Attribute Module ............................ -->
<!ENTITY % svg-docevents-attrib.module "INCLUDE" >
<![%svg-docevents-attrib.module;[
<!ENTITY % svg-docevents-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Document Events Attribute//EN"
           "svg-docevents-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Document Events Attribute Module .............................. -->
<!-- file: svg-docevents-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-docevents-attrib.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Document Events Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-docevents-attrib.mod"

     ....................................................................... -->

<!-- Document Events Attribute

        onunload, onabort, onerror, onresize, onscroll, onzoom

     This module defines the DocumentEvents attribute set.
-->

<!ENTITY % SVG.onunload.attrib
    "onunload %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onabort.attrib
    "onabort %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onerror.attrib
    "onerror %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onresize.attrib
    "onresize %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onscroll.attrib
    "onscroll %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onzoom.attrib
    "onzoom %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.DocumentEvents.extra.attrib "" >

<!ENTITY % SVG.DocumentEvents.attrib
    "%SVG.onunload.attrib;
     %SVG.onabort.attrib;
     %SVG.onerror.attrib;
     %SVG.onresize.attrib;
     %SVG.onscroll.attrib;
     %SVG.onzoom.attrib;
     %SVG.DocumentEvents.extra.attrib;"
>

<!-- end of svg-docevents-attrib.mod -->
]]>

<!-- Graphical Element Events Attribute Module ................... -->
<!ENTITY % svg-graphevents-attrib.module "INCLUDE" >
<![%svg-graphevents-attrib.module;[
<!ENTITY % svg-graphevents-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Graphical Element Events Attribute//EN"
           "svg-graphevents-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Graphical Element Events Attribute Module ..................... -->
<!-- file: svg-graphevents-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-graphevents-attrib.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Graphical Element Events Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-graphevents-attrib.mod"

     ....................................................................... -->

<!-- Graphical Element Events Attribute

        onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup,
        onmouseover, onmousemove, onmouseout, onload

     This module defines the GraphicalEvents attribute set.
-->

<!ENTITY % SVG.onfocusin.attrib
    "onfocusin %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onfocusout.attrib
    "onfocusout %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onactivate.attrib
    "onactivate %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onclick.attrib
    "onclick %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onmousedown.attrib
    "onmousedown %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onmouseup.attrib
    "onmouseup %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onmouseover.attrib
    "onmouseover %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onmousemove.attrib
    "onmousemove %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onmouseout.attrib
    "onmouseout %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onload.attrib
    "onload %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.GraphicalEvents.extra.attrib "" >

<!ENTITY % SVG.GraphicalEvents.attrib
    "%SVG.onfocusin.attrib;
     %SVG.onfocusout.attrib;
     %SVG.onactivate.attrib;
     %SVG.onclick.attrib;
     %SVG.onmousedown.attrib;
     %SVG.onmouseup.attrib;
     %SVG.onmouseover.attrib;
     %SVG.onmousemove.attrib;
     %SVG.onmouseout.attrib;
     %SVG.onload.attrib;
     %SVG.GraphicalEvents.extra.attrib;"
>

<!-- end of svg-graphevents-attrib.mod -->
]]>

<!-- Animation Events Attribute Module ........................... -->
<!ENTITY % svg-animevents-attrib.module "INCLUDE" >
<![%svg-animevents-attrib.module;[
<!ENTITY % svg-animevents-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Animation Events Attribute//EN"
           "svg-animevents-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Animation Events Attribute Module ............................. -->
<!-- file: svg-animevents-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-animevents-attrib.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 Animation Events Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-animevents-attrib.mod"

     ....................................................................... -->

<!-- Animation Events Attribute

        onbegin, onend, onrepeat, onload

     This module defines the AnimationEvents attribute set.
-->

<!ENTITY % SVG.onbegin.attrib
    "onbegin %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onend.attrib
    "onend %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onrepeat.attrib
    "onrepeat %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.onload.attrib
    "onload %Script.datatype; #IMPLIED"
>

<!ENTITY % SVG.AnimationEvents.extra.attrib "" >

<!ENTITY % SVG.AnimationEvents.attrib
    "%SVG.onbegin.attrib;
     %SVG.onend.attrib;
     %SVG.onrepeat.attrib;
     %SVG.onload.attrib;
     %SVG.AnimationEvents.extra.attrib;"
>

<!-- end of svg-animevents-attrib.mod -->
]]>

<!-- XLink Attribute Module ...................................... -->
<!ENTITY % svg-xlink-attrib.module "INCLUDE" >
<![%svg-xlink-attrib.module;[
<!ENTITY % svg-xlink-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 XLink Attribute//EN"
           "svg-xlink-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 XLink Attribute Module ........................................ -->
<!-- file: svg-xlink-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-xlink-attrib.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 XLink Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-xlink-attrib.mod"

     ....................................................................... -->

<!-- XLink Attribute

       type, href, role, arcrole, title, show, actuate

     This module defines the XLink, XLinkRequired, XLinkEmbed, and
     XLinkReplace attribute set.
-->

<!ENTITY % SVG.XLink.extra.attrib "" >

<!ENTITY % SVG.XLink.attrib
    "%XLINK.xmlns.attrib;
     %XLINK.pfx;type ( simple ) #FIXED 'simple'
     %XLINK.pfx;href %URI.datatype; #IMPLIED
     %XLINK.pfx;role %URI.datatype; #IMPLIED
     %XLINK.pfx;arcrole %URI.datatype; #IMPLIED
     %XLINK.pfx;title CDATA #IMPLIED
     %XLINK.pfx;show ( other ) 'other'
     %XLINK.pfx;actuate ( onLoad ) #FIXED 'onLoad'
     %SVG.XLink.extra.attrib;"
>

<!ENTITY % SVG.XLinkRequired.extra.attrib "" >

<!ENTITY % SVG.XLinkRequired.attrib
    "%XLINK.xmlns.attrib;
     %XLINK.pfx;type ( simple ) #FIXED 'simple'
     %XLINK.pfx;href %URI.datatype; #REQUIRED
     %XLINK.pfx;role %URI.datatype; #IMPLIED
     %XLINK.pfx;arcrole %URI.datatype; #IMPLIED
     %XLINK.pfx;title CDATA #IMPLIED
     %XLINK.pfx;show ( other ) 'other'
     %XLINK.pfx;actuate ( onLoad ) #FIXED 'onLoad'
     %SVG.XLinkRequired.extra.attrib;"
>

<!ENTITY % SVG.XLinkEmbed.extra.attrib "" >

<!ENTITY % SVG.XLinkEmbed.attrib
    "%XLINK.xmlns.attrib;
     %XLINK.pfx;type ( simple ) #FIXED 'simple'
     %XLINK.pfx;href %URI.datatype; #REQUIRED
     %XLINK.pfx;role %URI.datatype; #IMPLIED
     %XLINK.pfx;arcrole %URI.datatype; #IMPLIED
     %XLINK.pfx;title CDATA #IMPLIED
     %XLINK.pfx;show ( embed ) 'embed'
     %XLINK.pfx;actuate ( onLoad ) #FIXED 'onLoad'
     %SVG.XLinkEmbed.extra.attrib;"
>

<!ENTITY % SVG.XLinkReplace.extra.attrib "" >

<!ENTITY % SVG.XLinkReplace.attrib
    "%XLINK.xmlns.attrib;
     %XLINK.pfx;type ( simple ) #FIXED 'simple'
     %XLINK.pfx;href %URI.datatype; #REQUIRED
     %XLINK.pfx;role %URI.datatype; #IMPLIED
     %XLINK.pfx;arcrole %URI.datatype; #IMPLIED
     %XLINK.pfx;title CDATA #IMPLIED
     %XLINK.pfx;show ( new | replace ) 'replace'
     %XLINK.pfx;actuate ( onRequest ) #FIXED 'onRequest'
     %SVG.XLinkReplace.extra.attrib;"
>

<!-- end of svg-xlink-attrib.mod -->
]]>

<!-- External Resources Attribute Module ......................... -->
<!ENTITY % svg-extresources-attrib.module "INCLUDE" >
<![%svg-extresources-attrib.module;[
<!ENTITY % svg-extresources-attrib.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 External Resources Attribute//EN"
           "svg-extresources-attrib.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 External Resources Attribute Module ........................... -->
<!-- file: svg-extresources-attrib.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-extresources-attrib.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ENTITIES SVG 1.1 External Resources Attribute//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-extresources-attrib.mod"

     ....................................................................... -->

<!-- External Resources Attribute

        externalResourcesRequired

     This module defines the External attribute set.
-->

<!ENTITY % SVG.externalResourcesRequired.attrib
    "externalResourcesRequired %Boolean.datatype; #IMPLIED"
>

<!ENTITY % SVG.External.extra.attrib "" >

<!ENTITY % SVG.External.attrib
    "%SVG.externalResourcesRequired.attrib;
     %SVG.External.extra.attrib;"
>

<!-- end of svg-extresources-attrib.mod -->
]]>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Structure Module ............................................ -->
<!ENTITY % svg-structure.module "INCLUDE" >
<![%svg-structure.module;[
<!ENTITY % svg-structure.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Structure//EN"
           "svg-structure.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Structure Module .............................................. -->
<!-- file: svg-structure.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-structure.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Structure//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-structure.mod"

     ....................................................................... -->

<!-- Structure

        svg, g, defs, desc, title, metadata, symbol, use

     This module declares the major structural elements and their attributes.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.svg.qname "svg" >
<!ENTITY % SVG.g.qname "g" >
<!ENTITY % SVG.defs.qname "defs" >
<!ENTITY % SVG.desc.qname "desc" >
<!ENTITY % SVG.title.qname "title" >
<!ENTITY % SVG.metadata.qname "metadata" >
<!ENTITY % SVG.symbol.qname "symbol" >
<!ENTITY % SVG.use.qname "use" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.DocumentEvents.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLinkEmbed.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Description.class ............................. -->

<!ENTITY % SVG.Description.extra.class "" >

<!ENTITY % SVG.Description.class
    "%SVG.desc.qname; | %SVG.title.qname; | %SVG.metadata.qname;
     %SVG.Description.extra.class;"
>

<!-- SVG.Use.class ..................................... -->

<!ENTITY % SVG.Use.extra.class "" >

<!ENTITY % SVG.Use.class
    "| %SVG.use.qname; %SVG.Use.extra.class;"
>

<!-- SVG.Structure.class ............................... -->

<!ENTITY % SVG.Structure.extra.class "" >

<!ENTITY % SVG.Structure.class
    "| %SVG.svg.qname; | %SVG.g.qname; | %SVG.defs.qname; | %SVG.symbol.qname;
       %SVG.Use.class; %SVG.Structure.extra.class;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- svg: SVG Document Element ......................... -->

<!ENTITY % SVG.svg.element "INCLUDE" >
<![%SVG.svg.element;[
<!ENTITY % SVG.svg.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.svg.qname; %SVG.svg.content; >
<!-- end of SVG.svg.element -->]]>

<!ENTITY % SVG.svg.attlist "INCLUDE" >
<![%SVG.svg.attlist;[
<!ATTLIST %SVG.svg.qname;
    %SVG.xmlns.attrib;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.DocumentEvents.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #IMPLIED
    height %Length.datatype; #IMPLIED
    viewBox %ViewBoxSpec.datatype; #IMPLIED
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
    zoomAndPan ( disable | magnify ) 'magnify'
    version %Number.datatype; #FIXED '1.1'
    baseProfile %Text.datatype; #IMPLIED
    contentScriptType %ContentType.datatype; 'text/ecmascript'
    contentStyleType %ContentType.datatype; 'text/css'
>
<!-- end of SVG.svg.attlist -->]]>

<!-- g: Group Element .................................. -->

<!ENTITY % SVG.g.element "INCLUDE" >
<![%SVG.g.element;[
<!ENTITY % SVG.g.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.g.qname; %SVG.g.content; >
<!-- end of SVG.g.element -->]]>

<!ENTITY % SVG.g.attlist "INCLUDE" >
<![%SVG.g.attlist;[
<!ATTLIST %SVG.g.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.External.attrib;
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.g.attlist -->]]>

<!-- defs: Definisions Element ......................... -->

<!ENTITY % SVG.defs.element "INCLUDE" >
<![%SVG.defs.element;[
<!ENTITY % SVG.defs.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.defs.qname; %SVG.defs.content; >
<!-- end of SVG.defs.element -->]]>

<!ENTITY % SVG.defs.attlist "INCLUDE" >
<![%SVG.defs.attlist;[
<!ATTLIST %SVG.defs.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.External.attrib;
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.defs.attlist -->]]>

<!-- desc: Description Element ......................... -->

<!ENTITY % SVG.desc.element "INCLUDE" >
<![%SVG.desc.element;[
<!ENTITY % SVG.desc.content "( #PCDATA )" >
<!ELEMENT %SVG.desc.qname; %SVG.desc.content; >
<!-- end of SVG.desc.element -->]]>

<!ENTITY % SVG.desc.attlist "INCLUDE" >
<![%SVG.desc.attlist;[
<!ATTLIST %SVG.desc.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
>
<!-- end of SVG.desc.attlist -->]]>

<!-- title: Title Element .............................. -->

<!ENTITY % SVG.title.element "INCLUDE" >
<![%SVG.title.element;[
<!ENTITY % SVG.title.content "( #PCDATA )" >
<!ELEMENT %SVG.title.qname; %SVG.title.content; >
<!-- end of SVG.title.element -->]]>

<!ENTITY % SVG.title.attlist "INCLUDE" >
<![%SVG.title.attlist;[
<!ATTLIST %SVG.title.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
>
<!-- end of SVG.title.attlist -->]]>

<!-- metadata: Metadata Element ........................ -->

<!ENTITY % SVG.metadata.element "INCLUDE" >
<![%SVG.metadata.element;[
<!ENTITY % SVG.metadata.content "EMPTY" >
<!ELEMENT %SVG.metadata.qname; %SVG.metadata.content; >
<!-- end of SVG.metadata.element -->]]>

<!ENTITY % SVG.metadata.attlist "INCLUDE" >
<![%SVG.metadata.attlist;[
<!ATTLIST %SVG.metadata.qname;
    %SVG.Core.attrib;
>
<!-- end of SVG.metadata.attlist -->]]>

<!-- symbol: Symbol Element ............................ -->

<!ENTITY % SVG.symbol.element "INCLUDE" >
<![%SVG.symbol.element;[
<!ENTITY % SVG.symbol.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.symbol.qname; %SVG.symbol.content; >
<!-- end of SVG.symbol.element -->]]>

<!ENTITY % SVG.symbol.attlist "INCLUDE" >
<![%SVG.symbol.attlist;[
<!ATTLIST %SVG.symbol.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.External.attrib;
    viewBox %ViewBoxSpec.datatype; #IMPLIED
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
>
<!-- end of SVG.symbol.attlist -->]]>

<!-- use: Use Element .................................. -->

<!ENTITY % SVG.use.element "INCLUDE" >
<![%SVG.use.element;[
<!ENTITY % SVG.use.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.use.qname; %SVG.use.content; >
<!-- end of SVG.use.element -->]]>

<!ENTITY % SVG.use.attlist "INCLUDE" >
<![%SVG.use.attlist;[
<!ATTLIST %SVG.use.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.XLinkEmbed.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #IMPLIED
    height %Length.datatype; #IMPLIED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.use.attlist -->]]>

<!-- end of svg-structure.mod -->
]]>

<!-- Conditional Processing Module ............................... -->
<!ENTITY % svg-conditional.module "INCLUDE" >
<![%svg-conditional.module;[
<!ENTITY % svg-conditional.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Conditional Processing//EN"
           "svg-conditional.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Conditional Processing Module ................................. -->
<!-- file: svg-conditional.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-conditional.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Conditional Processing//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-conditional.mod"

     ....................................................................... -->

<!-- Conditional Processing

        switch

     This module declares markup to provide support for conditional processing.
-->

<!-- extension list specification -->
<!ENTITY % ExtensionList.datatype "CDATA" >

<!-- feature list specification -->
<!ENTITY % FeatureList.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.switch.qname "switch" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Conditional.class ............................. -->

<!ENTITY % SVG.Conditional.extra.class "" >

<!ENTITY % SVG.Conditional.class
    "| %SVG.switch.qname; %SVG.Conditional.extra.class;"
>

<!-- SVG.Conditional.attrib ............................ -->

<!ENTITY % SVG.Conditional.extra.attrib "" >

<!ENTITY % SVG.Conditional.attrib
    "requiredFeatures %FeatureList.datatype; #IMPLIED
     requiredExtensions %ExtensionList.datatype; #IMPLIED
     systemLanguage %LanguageCodes.datatype; #IMPLIED
     %SVG.Conditional.extra.attrib;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- switch: Switch Element ............................ -->

<!ENTITY % SVG.switch.element "INCLUDE" >
<![%SVG.switch.element;[
<!ENTITY % SVG.switch.content
    "(( %SVG.Description.class; )*, ( %SVG.svg.qname; | %SVG.g.qname;
      | %SVG.use.qname; | %SVG.text.qname; | %SVG.Animation.class;
        %SVG.Conditional.class; %SVG.Image.class; %SVG.Shape.class;
        %SVG.Hyperlink.class; %SVG.Extensibility.class; )*)"
>
<!ELEMENT %SVG.switch.qname; %SVG.switch.content; >
<!-- end of SVG.switch.element -->]]>

<!ENTITY % SVG.switch.attlist "INCLUDE" >
<![%SVG.switch.attlist;[
<!ATTLIST %SVG.switch.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.External.attrib;
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.switch.attlist -->]]>

<!-- end of svg-conditional.mod -->
]]>

<!-- Image Module ................................................ -->
<!ENTITY % svg-image.module "INCLUDE" >
<![%svg-image.module;[
<!ENTITY % svg-image.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Image//EN"
           "svg-image.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Image Module .................................................. -->
<!-- file: svg-image.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-image.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Image//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-image.mod"

     ....................................................................... -->

<!-- Image

        image

     This module declares markup to provide support for image.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.image.qname "image" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLinkEmbed.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Image.class ................................... -->

<!ENTITY % SVG.Image.extra.class "" >

<!ENTITY % SVG.Image.class
    "| %SVG.image.qname; %SVG.Image.extra.class;"
>

<!-- image: Image Element .............................. -->

<!ENTITY % SVG.image.element "INCLUDE" >
<![%SVG.image.element;[
<!ENTITY % SVG.image.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.image.qname; %SVG.image.content; >
<!-- end of SVG.image.element -->]]>

<!ENTITY % SVG.image.attlist "INCLUDE" >
<![%SVG.image.attlist;[
<!ATTLIST %SVG.image.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Viewport.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Profile.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLinkEmbed.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #REQUIRED
    height %Length.datatype; #REQUIRED
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.image.attlist -->]]>

<!-- end of svg-image.mod -->
]]>

<!-- Style Module ................................................ -->
<!ENTITY % svg-style.module "INCLUDE" >
<![%svg-style.module;[
<!ENTITY % svg-style.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Style//EN"
           "svg-style.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Style Module .................................................. -->
<!-- file: svg-style.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-style.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Style//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-style.mod"

     ....................................................................... -->

<!-- Style

        style

     This module declares markup to provide support for stylesheet.
-->

<!-- list of classes -->
<!ENTITY % ClassList.datatype "CDATA" >

<!-- comma-separated list of media descriptors. -->
<!ENTITY % MediaDesc.datatype "CDATA" >

<!-- style sheet data -->
<!ENTITY % StyleSheet.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.style.qname "style" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >

<!-- SVG.Style.class ................................... -->

<!ENTITY % SVG.Style.extra.class "" >

<!ENTITY % SVG.Style.class
    "| %SVG.style.qname; %SVG.Style.extra.class;"
>

<!-- SVG.Style.attrib .................................. -->

<!ENTITY % SVG.Style.extra.attrib "" >

<!ENTITY % SVG.Style.attrib
    "style %StyleSheet.datatype; #IMPLIED
     class %ClassList.datatype; #IMPLIED
     %SVG.Style.extra.attrib;"
>

<!-- style: Style Element .............................. -->

<!ENTITY % SVG.style.element "INCLUDE" >
<![%SVG.style.element;[
<!ENTITY % SVG.style.content "( #PCDATA )" >
<!ELEMENT %SVG.style.qname; %SVG.style.content; >
<!-- end of SVG.style.element -->]]>

<!ENTITY % SVG.style.attlist "INCLUDE" >
<![%SVG.style.attlist;[
<!ATTLIST %SVG.style.qname;
    xml:space ( preserve ) #FIXED 'preserve'
    %SVG.Core.attrib;
    type %ContentType.datatype; #REQUIRED
    media %MediaDesc.datatype; #IMPLIED
    title %Text.datatype; #IMPLIED
>
<!-- end of SVG.style.attlist -->]]>

<!-- end of svg-style.mod -->
]]>

<!-- Shape Module ................................................ -->
<!ENTITY % svg-shape.module "INCLUDE" >
<![%svg-shape.module;[
<!ENTITY % svg-shape.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Shape//EN"
           "svg-shape.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Shape Module .................................................. -->
<!-- file: svg-shape.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-shape.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Shape//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-shape.mod"

     ....................................................................... -->

<!-- Shape

        path, rect, circle, line, ellipse, polyline, polygon

     This module declares markup to provide support for graphical shapes.
-->

<!-- a list of points -->
<!ENTITY % Points.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.path.qname "path" >
<!ENTITY % SVG.rect.qname "rect" >
<!ENTITY % SVG.circle.qname "circle" >
<!ENTITY % SVG.line.qname "line" >
<!ENTITY % SVG.ellipse.qname "ellipse" >
<!ENTITY % SVG.polyline.qname "polyline" >
<!ENTITY % SVG.polygon.qname "polygon" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Shape.class ................................... -->

<!ENTITY % SVG.Shape.extra.class "" >

<!ENTITY % SVG.Shape.class
    "| %SVG.path.qname; | %SVG.rect.qname; | %SVG.circle.qname;
     | %SVG.line.qname; | %SVG.ellipse.qname; | %SVG.polyline.qname;
     | %SVG.polygon.qname; %SVG.Shape.extra.class;"
>

<!-- path: Path Element ................................ -->

<!ENTITY % SVG.path.element "INCLUDE" >
<![%SVG.path.element;[
<!ENTITY % SVG.path.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.path.qname; %SVG.path.content; >
<!-- end of SVG.path.element -->]]>

<!ENTITY % SVG.path.attlist "INCLUDE" >
<![%SVG.path.attlist;[
<!ATTLIST %SVG.path.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Marker.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    d %PathData.datatype; #REQUIRED
    pathLength %Number.datatype; #IMPLIED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.path.attlist -->]]>

<!-- rect: Rectangle Element ........................... -->

<!ENTITY % SVG.rect.element "INCLUDE" >
<![%SVG.rect.element;[
<!ENTITY % SVG.rect.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.rect.qname; %SVG.rect.content; >
<!-- end of SVG.rect.element -->]]>

<!ENTITY % SVG.rect.attlist "INCLUDE" >
<![%SVG.rect.attlist;[
<!ATTLIST %SVG.rect.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #REQUIRED
    height %Length.datatype; #REQUIRED
    rx %Length.datatype; #IMPLIED
    ry %Length.datatype; #IMPLIED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.rect.attlist -->]]>

<!-- circle: Circle Element ............................ -->

<!ENTITY % SVG.circle.element "INCLUDE" >
<![%SVG.circle.element;[
<!ENTITY % SVG.circle.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.circle.qname; %SVG.circle.content; >
<!-- end of SVG.circle.element -->]]>

<!ENTITY % SVG.circle.attlist "INCLUDE" >
<![%SVG.circle.attlist;[
<!ATTLIST %SVG.circle.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    cx %Coordinate.datatype; #IMPLIED
    cy %Coordinate.datatype; #IMPLIED
    r %Length.datatype; #REQUIRED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.circle.attlist -->]]>

<!-- line: Line Element ................................ -->

<!ENTITY % SVG.line.element "INCLUDE" >
<![%SVG.line.element;[
<!ENTITY % SVG.line.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.line.qname; %SVG.line.content; >
<!-- end of SVG.line.element -->]]>

<!ENTITY % SVG.line.attlist "INCLUDE" >
<![%SVG.line.attlist;[
<!ATTLIST %SVG.line.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Marker.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    x1 %Coordinate.datatype; #IMPLIED
    y1 %Coordinate.datatype; #IMPLIED
    x2 %Coordinate.datatype; #IMPLIED
    y2 %Coordinate.datatype; #IMPLIED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.line.attlist -->]]>

<!-- ellipse: Ellipse Element .......................... -->

<!ENTITY % SVG.ellipse.element "INCLUDE" >
<![%SVG.ellipse.element;[
<!ENTITY % SVG.ellipse.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.ellipse.qname; %SVG.ellipse.content; >
<!-- end of SVG.ellipse.element -->]]>

<!ENTITY % SVG.ellipse.attlist "INCLUDE" >
<![%SVG.ellipse.attlist;[
<!ATTLIST %SVG.ellipse.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    cx %Coordinate.datatype; #IMPLIED
    cy %Coordinate.datatype; #IMPLIED
    rx %Length.datatype; #REQUIRED
    ry %Length.datatype; #REQUIRED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.ellipse.attlist -->]]>

<!-- polyline: Polyline Element ........................ -->

<!ENTITY % SVG.polyline.element "INCLUDE" >
<![%SVG.polyline.element;[
<!ENTITY % SVG.polyline.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.polyline.qname; %SVG.polyline.content; >
<!-- end of SVG.polyline.element -->]]>

<!ENTITY % SVG.polyline.attlist "INCLUDE" >
<![%SVG.polyline.attlist;[
<!ATTLIST %SVG.polyline.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Marker.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    points %Points.datatype; #REQUIRED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.polyline.attlist -->]]>

<!-- polygon: Polygon Element .......................... -->

<!ENTITY % SVG.polygon.element "INCLUDE" >
<![%SVG.polygon.element;[
<!ENTITY % SVG.polygon.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; )*)"
>
<!ELEMENT %SVG.polygon.qname; %SVG.polygon.content; >
<!-- end of SVG.polygon.element -->]]>

<!ENTITY % SVG.polygon.attlist "INCLUDE" >
<![%SVG.polygon.attlist;[
<!ATTLIST %SVG.polygon.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Marker.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    points %Points.datatype; #REQUIRED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.polygon.attlist -->]]>

<!-- end of svg-shape.mod -->
]]>

<!-- Text Module ................................................. -->
<!ENTITY % svg-text.module "INCLUDE" >
<![%svg-text.module;[
<!ENTITY % svg-text.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Text//EN"
           "svg-text.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Text Module ................................................... -->
<!-- file: svg-text.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-text.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Text//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-text.mod"

     ....................................................................... -->

<!-- Text

        text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem,
        glyphRef

     This module declares markup to provide support for alternate glyph.
-->

<!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
<!ENTITY % BaselineShiftValue.datatype "CDATA" >

<!-- 'font-family' property/attribute value (i.e., list of fonts) -->
<!ENTITY % FontFamilyValue.datatype "CDATA" >

<!-- 'font-size' property/attribute value -->
<!ENTITY % FontSizeValue.datatype "CDATA" >

<!-- 'font-size-adjust' property/attribute value -->
<!ENTITY % FontSizeAdjustValue.datatype "CDATA" >

<!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
<!ENTITY % GlyphOrientationHorizontalValue.datatype "CDATA" >

<!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
<!ENTITY % GlyphOrientationVerticalValue.datatype "CDATA" >

<!-- 'kerning' property/attribute value (e.g., 'auto', <length>) -->
<!ENTITY % KerningValue.datatype "CDATA" >

<!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., 'normal', <length>) -->
<!ENTITY % SpacingValue.datatype "CDATA" >

<!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
<!ENTITY % TextDecorationValue.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.text.qname "text" >
<!ENTITY % SVG.tspan.qname "tspan" >
<!ENTITY % SVG.tref.qname "tref" >
<!ENTITY % SVG.textPath.qname "textPath" >
<!ENTITY % SVG.altGlyph.qname "altGlyph" >
<!ENTITY % SVG.altGlyphDef.qname "altGlyphDef" >
<!ENTITY % SVG.altGlyphItem.qname "altGlyphItem" >
<!ENTITY % SVG.glyphRef.qname "glyphRef" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >
<!ENTITY % SVG.XLinkRequired.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Text.class .................................... -->

<!ENTITY % SVG.Text.extra.class "" >

<!ENTITY % SVG.Text.class
    "| %SVG.text.qname; | %SVG.altGlyphDef.qname; %SVG.Text.extra.class;"
>

<!-- SVG.TextContent.class ............................. -->

<!ENTITY % SVG.TextContent.extra.class "" >

<!ENTITY % SVG.TextContent.class
    "| %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.textPath.qname;
     | %SVG.altGlyph.qname; %SVG.TextContent.extra.class;"
>

<!-- SVG.Text.attrib ................................... -->

<!ENTITY % SVG.Text.extra.attrib "" >

<!ENTITY % SVG.Text.attrib
    "writing-mode ( lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit ) #IMPLIED
     %SVG.Text.extra.attrib;"
>

<!-- SVG.TextContent.attrib ............................ -->

<!ENTITY % SVG.TextContent.extra.attrib "" >

<!ENTITY % SVG.TextContent.attrib
    "alignment-baseline ( auto | baseline | before-edge | text-before-edge |
                          middle | central | after-edge | text-after-edge |
                          ideographic | alphabetic | hanging | mathematical |
                          inherit ) #IMPLIED
     baseline-shift %BaselineShiftValue.datatype; #IMPLIED
     direction ( ltr | rtl | inherit ) #IMPLIED
     dominant-baseline ( auto | use-script | no-change | reset-size |
                         ideographic | alphabetic | hanging | mathematical |
                         central | middle | text-after-edge | text-before-edge |
                         inherit ) #IMPLIED
     glyph-orientation-horizontal %GlyphOrientationHorizontalValue.datatype;
                                  #IMPLIED
     glyph-orientation-vertical %GlyphOrientationVerticalValue.datatype;
                                #IMPLIED
     kerning %KerningValue.datatype; #IMPLIED
     letter-spacing %SpacingValue.datatype; #IMPLIED
     text-anchor ( start | middle | end | inherit ) #IMPLIED
     text-decoration %TextDecorationValue.datatype; #IMPLIED
     unicode-bidi ( normal | embed | bidi-override | inherit ) #IMPLIED
     word-spacing %SpacingValue.datatype; #IMPLIED
     %SVG.TextContent.extra.attrib;"
>

<!-- SVG.Font.attrib ................................... -->

<!ENTITY % SVG.Font.extra.attrib "" >

<!ENTITY % SVG.Font.attrib
    "font-family %FontFamilyValue.datatype; #IMPLIED
     font-size %FontSizeValue.datatype; #IMPLIED
     font-size-adjust %FontSizeAdjustValue.datatype; #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
     %SVG.Font.extra.attrib;"
>

<!-- text: Text Element ................................ -->

<!ENTITY % SVG.text.element "INCLUDE" >
<![%SVG.text.element;[
<!ENTITY % SVG.text.content
    "( #PCDATA | %SVG.Description.class; | %SVG.Animation.class;
       %SVG.TextContent.class; %SVG.Hyperlink.class; )*"
>
<!ELEMENT %SVG.text.qname; %SVG.text.content; >
<!-- end of SVG.text.element -->]]>

<!ENTITY % SVG.text.attlist "INCLUDE" >
<![%SVG.text.attlist;[
<!ATTLIST %SVG.text.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Text.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.text.attlist -->]]>

<!-- tspan: Text Span Element .......................... -->

<!ENTITY % SVG.tspan.element "INCLUDE" >
<![%SVG.tspan.element;[
<!ENTITY % SVG.tspan.content
    "( #PCDATA | %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.altGlyph.qname;
     | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname;
     | %SVG.Description.class; %SVG.Hyperlink.class; )*"
>
<!ELEMENT %SVG.tspan.qname; %SVG.tspan.content; >
<!-- end of SVG.tspan.element -->]]>

<!ENTITY % SVG.tspan.attlist "INCLUDE" >
<![%SVG.tspan.attlist;[
<!ATTLIST %SVG.tspan.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
>
<!-- end of SVG.tspan.attlist -->]]>

<!-- tref: Text Reference Element ...................... -->

<!ENTITY % SVG.tref.element "INCLUDE" >
<![%SVG.tref.element;[
<!ENTITY % SVG.tref.content
    "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname;
     | %SVG.Description.class; )*"
>
<!ELEMENT %SVG.tref.qname; %SVG.tref.content; >
<!-- end of SVG.tref.element -->]]>

<!ENTITY % SVG.tref.attlist "INCLUDE" >
<![%SVG.tref.attlist;[
<!ATTLIST %SVG.tref.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLinkRequired.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
>
<!-- end of SVG.tref.attlist -->]]>

<!-- textPath: Text Path Element ....................... -->

<!ENTITY % SVG.textPath.element "INCLUDE" >
<![%SVG.textPath.element;[
<!ENTITY % SVG.textPath.content
    "( #PCDATA | %SVG.tspan.qname; | %SVG.tref.qname; | %SVG.altGlyph.qname;
     | %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname;
     | %SVG.Description.class; %SVG.Hyperlink.class; )*"
>
<!ELEMENT %SVG.textPath.qname; %SVG.textPath.content; >
<!-- end of SVG.textPath.element -->]]>

<!ENTITY % SVG.textPath.attlist "INCLUDE" >
<![%SVG.textPath.attlist;[
<!ATTLIST %SVG.textPath.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLinkRequired.attrib;
    %SVG.External.attrib;
    startOffset %Length.datatype; #IMPLIED
    textLength %Length.datatype; #IMPLIED
    lengthAdjust ( spacing | spacingAndGlyphs ) #IMPLIED
    method ( align | stretch ) #IMPLIED
    spacing ( auto | exact ) #IMPLIED
>
<!-- end of SVG.textPath.attlist -->]]>

<!-- altGlyph: Alternate Glyph Element ................. -->

<!ENTITY % SVG.altGlyph.element "INCLUDE" >
<![%SVG.altGlyph.element;[
<!ENTITY % SVG.altGlyph.content
    "( #PCDATA )"
>
<!ELEMENT %SVG.altGlyph.qname; %SVG.altGlyph.content; >
<!-- end of SVG.altGlyph.element -->]]>

<!ENTITY % SVG.altGlyph.attlist "INCLUDE" >
<![%SVG.altGlyph.attlist;[
<!ATTLIST %SVG.altGlyph.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.Cursor.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    x %Coordinates.datatype; #IMPLIED
    y %Coordinates.datatype; #IMPLIED
    dx %Lengths.datatype; #IMPLIED
    dy %Lengths.datatype; #IMPLIED
    glyphRef CDATA #IMPLIED
    format CDATA #IMPLIED
    rotate %Numbers.datatype; #IMPLIED
>
<!-- end of SVG.altGlyph.attlist -->]]>

<!-- altGlyphDef: Alternate Glyph Definition Element ... -->

<!ENTITY % SVG.altGlyphDef.element "INCLUDE" >
<![%SVG.altGlyphDef.element;[
<!ENTITY % SVG.altGlyphDef.content
    "( %SVG.glyphRef.qname;+ | %SVG.altGlyphItem.qname;+ )"
>
<!ELEMENT %SVG.altGlyphDef.qname; %SVG.altGlyphDef.content; >
<!-- end of SVG.altGlyphDef.element -->]]>

<!ENTITY % SVG.altGlyphDef.attlist "INCLUDE" >
<![%SVG.altGlyphDef.attlist;[
<!ATTLIST %SVG.altGlyphDef.qname;
    %SVG.Core.attrib;
>
<!-- end of SVG.altGlyphDef.attlist -->]]>

<!-- altGlyphItem: Alternate Glyph Item Element ........ -->

<!ENTITY % SVG.altGlyphItem.element "INCLUDE" >
<![%SVG.altGlyphItem.element;[
<!ENTITY % SVG.altGlyphItem.content
    "( %SVG.glyphRef.qname;+ )"
>
<!ELEMENT %SVG.altGlyphItem.qname; %SVG.altGlyphItem.content; >
<!-- end of SVG.altGlyphItem.element -->]]>

<!ENTITY % SVG.altGlyphItem.attlist "INCLUDE" >
<![%SVG.altGlyphItem.attlist;[
<!ATTLIST %SVG.altGlyphItem.qname;
    %SVG.Core.attrib;
>
<!-- end of SVG.altGlyphItem.attlist -->]]>

<!-- glyphRef: Glyph Reference Element ................. -->

<!ENTITY % SVG.glyphRef.element "INCLUDE" >
<![%SVG.glyphRef.element;[
<!ENTITY % SVG.glyphRef.content "EMPTY" >
<!ELEMENT %SVG.glyphRef.qname; %SVG.glyphRef.content; >
<!-- end of SVG.glyphRef.element -->]]>

<!ENTITY % SVG.glyphRef.attlist "INCLUDE" >
<![%SVG.glyphRef.attlist;[
<!ATTLIST %SVG.glyphRef.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Font.attrib;
    %SVG.XLink.attrib;
    x %Number.datatype; #IMPLIED
    y %Number.datatype; #IMPLIED
    dx %Number.datatype; #IMPLIED
    dy %Number.datatype; #IMPLIED
    glyphRef CDATA #IMPLIED
    format CDATA #IMPLIED
>
<!-- end of SVG.glyphRef.attlist -->]]>

<!-- end of svg-text.mod -->
]]>

<!-- Marker Module ............................................... -->
<!ENTITY % svg-marker.module "INCLUDE" >
<![%svg-marker.module;[
<!ENTITY % svg-marker.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Marker//EN"
           "svg-marker.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Marker Module ................................................. -->
<!-- file: svg-marker.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-marker.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Marker//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-marker.mod"

     ....................................................................... -->

<!-- Marker

        marker

     This module declares markup to provide support for marker.
-->

<!-- 'marker' property/attribute value (e.g., 'none', <uri>) -->
<!ENTITY % MarkerValue.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.marker.qname "marker" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Marker.class .................................. -->

<!ENTITY % SVG.Marker.extra.class "" >

<!ENTITY % SVG.Marker.class
    "| %SVG.marker.qname; %SVG.Marker.extra.class;"
>

<!-- SVG.Marker.attrib ................................. -->

<!ENTITY % SVG.Marker.extra.attrib "" >

<!ENTITY % SVG.Marker.attrib
    "marker-start %MarkerValue.datatype; #IMPLIED
     marker-mid %MarkerValue.datatype; #IMPLIED
     marker-end %MarkerValue.datatype; #IMPLIED
     %SVG.Marker.extra.attrib;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- marker: Marker Element ............................ -->

<!ENTITY % SVG.marker.element "INCLUDE" >
<![%SVG.marker.element;[
<!ENTITY % SVG.marker.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.marker.qname; %SVG.marker.content; >
<!-- end of SVG.marker.element -->]]>

<!ENTITY % SVG.marker.attlist "INCLUDE" >
<![%SVG.marker.attlist;[
<!ATTLIST %SVG.marker.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.External.attrib;
    refX %Coordinate.datatype; #IMPLIED
    refY %Coordinate.datatype; #IMPLIED
    markerUnits ( strokeWidth | userSpaceOnUse ) #IMPLIED
    markerWidth  %Length.datatype; #IMPLIED
    markerHeight %Length.datatype; #IMPLIED
    orient CDATA #IMPLIED
    viewBox %ViewBoxSpec.datatype; #IMPLIED
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
>
<!-- end of SVG.marker.attlist -->]]>

<!-- end of svg-marker.mod -->
]]>

<!-- Color Profile Module ........................................ -->
<!ENTITY % svg-profile.module "INCLUDE" >
<![%svg-profile.module;[
<!ENTITY % svg-profile.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Color Profile//EN"
           "svg-profile.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Color Profile Module .......................................... -->
<!-- file: svg-profile.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-profile.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Color Profile//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-profile.mod"

     ....................................................................... -->

<!-- Color Profile

        color-profile

     This module declares markup to provide support for color profile.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.color-profile.qname "color-profile" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >

<!-- SVG.Profile.class ................................. -->

<!ENTITY % SVG.Profile.extra.class "" >

<!ENTITY % SVG.Profile.class
    "| %SVG.color-profile.qname; %SVG.Profile.extra.class;"
>

<!-- SVG.Profile.attrib ................................ -->

<!ENTITY % SVG.Profile.extra.attrib "" >

<!ENTITY % SVG.Profile.attrib
    "color-profile CDATA #IMPLIED
     %SVG.Profile.extra.attrib;"
>

<!-- color-profile: Color Profile Element .............. -->

<!ENTITY % SVG.color-profile.element "INCLUDE" >
<![%SVG.color-profile.element;[
<!ENTITY % SVG.color-profile.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.color-profile.qname; %SVG.color-profile.content; >
<!-- end of SVG.color-profile.element -->]]>

<!ENTITY % SVG.color-profile.attlist "INCLUDE" >
<![%SVG.color-profile.attlist;[
<!ATTLIST %SVG.color-profile.qname;
    %SVG.Core.attrib;
    %SVG.XLink.attrib;
    local CDATA #IMPLIED
    name CDATA #REQUIRED
    rendering-intent ( auto | perceptual | relative-colorimetric | saturation |
                       absolute-colorimetric ) 'auto'
>
<!-- end of SVG.color-profile.attlist -->]]>

<!-- end of svg-profile.mod -->
]]>

<!-- Gradient Module ............................................. -->
<!ENTITY % svg-gradient.module "INCLUDE" >
<![%svg-gradient.module;[
<!ENTITY % svg-gradient.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Gradient//EN"
           "svg-gradient.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Gradient Module ............................................... -->
<!-- file: svg-gradient.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-gradient.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Gradient//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-gradient.mod"

     ....................................................................... -->

<!-- Gradient

        linearGradient, radialGradient, stop

     This module declares markup to provide support for gradient fill.
-->

<!-- a <number> or a <percentage> -->
<!ENTITY % NumberOrPercentage.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.linearGradient.qname "linearGradient" >
<!ENTITY % SVG.radialGradient.qname "radialGradient" >
<!ENTITY % SVG.stop.qname "stop" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Gradient.class ................................ -->

<!ENTITY % SVG.Gradient.extra.class "" >

<!ENTITY % SVG.Gradient.class
    "| %SVG.linearGradient.qname; | %SVG.radialGradient.qname;
       %SVG.Gradient.extra.class;"
>

<!-- SVG.Gradient.attrib ............................... -->

<!ENTITY % SVG.Gradient.extra.attrib "" >

<!ENTITY % SVG.Gradient.attrib
    "stop-color %SVGColor.datatype; #IMPLIED
     stop-opacity %OpacityValue.datatype; #IMPLIED
     %SVG.Gradient.extra.attrib;"
>

<!-- linearGradient: Linear Gradient Element ........... -->

<!ENTITY % SVG.linearGradient.element "INCLUDE" >
<![%SVG.linearGradient.element;[
<!ENTITY % SVG.linearGradient.content
    "(( %SVG.Description.class; )*, ( %SVG.stop.qname; | %SVG.animate.qname;
      | %SVG.set.qname; | %SVG.animateTransform.qname; )*)"
>
<!ELEMENT %SVG.linearGradient.qname; %SVG.linearGradient.content; >
<!-- end of SVG.linearGradient.element -->]]>

<!ENTITY % SVG.linearGradient.attlist "INCLUDE" >
<![%SVG.linearGradient.attlist;[
<!ATTLIST %SVG.linearGradient.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Color.attrib;
    %SVG.Gradient.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    x1 %Coordinate.datatype; #IMPLIED
    y1 %Coordinate.datatype; #IMPLIED
    x2 %Coordinate.datatype; #IMPLIED
    y2 %Coordinate.datatype; #IMPLIED
    gradientUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
    gradientTransform %TransformList.datatype; #IMPLIED
    spreadMethod ( pad | reflect | repeat ) #IMPLIED
>
<!-- end of SVG.linearGradient.attlist -->]]>

<!-- radialGradient: Radial Gradient Element ........... -->

<!ENTITY % SVG.radialGradient.element "INCLUDE" >
<![%SVG.radialGradient.element;[
<!ENTITY % SVG.radialGradient.content
    "(( %SVG.Description.class; )*, ( %SVG.stop.qname; | %SVG.animate.qname;
      | %SVG.set.qname; | %SVG.animateTransform.qname; )*)"
>
<!ELEMENT %SVG.radialGradient.qname; %SVG.radialGradient.content; >
<!-- end of SVG.radialGradient.element -->]]>

<!ENTITY % SVG.radialGradient.attlist "INCLUDE" >
<![%SVG.radialGradient.attlist;[
<!ATTLIST %SVG.radialGradient.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Color.attrib;
    %SVG.Gradient.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    cx %Coordinate.datatype; #IMPLIED
    cy %Coordinate.datatype; #IMPLIED
    r %Length.datatype; #IMPLIED
    fx %Coordinate.datatype; #IMPLIED
    fy %Coordinate.datatype; #IMPLIED
    gradientUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
    gradientTransform %TransformList.datatype; #IMPLIED
    spreadMethod ( pad | reflect | repeat ) #IMPLIED
>
<!-- end of SVG.radialGradient.attlist -->]]>

<!-- stop: Stop Element ................................ -->

<!ENTITY % SVG.stop.element "INCLUDE" >
<![%SVG.stop.element;[
<!ENTITY % SVG.stop.content
    "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; )*"
>
<!ELEMENT %SVG.stop.qname; %SVG.stop.content; >
<!-- end of SVG.stop.element -->]]>

<!ENTITY % SVG.stop.attlist "INCLUDE" >
<![%SVG.stop.attlist;[
<!ATTLIST %SVG.stop.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Color.attrib;
    %SVG.Gradient.attrib;
    offset %NumberOrPercentage.datatype; #REQUIRED
>
<!-- end of SVG.stop.attlist -->]]>

<!-- end of svg-gradient.mod -->
]]>

<!-- Pattern Module .............................................. -->
<!ENTITY % svg-pattern.module "INCLUDE" >
<![%svg-pattern.module;[
<!ENTITY % svg-pattern.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Pattern//EN"
           "svg-pattern.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Pattern Module ................................................ -->
<!-- file: svg-pattern.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-pattern.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Pattern//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-pattern.mod"

     ....................................................................... -->

<!-- Pattern

        pattern

     This module declares markup to provide support for pattern fill.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.pattern.qname "pattern" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Pattern.class ................................. -->

<!ENTITY % SVG.Pattern.extra.class "" >

<!ENTITY % SVG.Pattern.class
    "| %SVG.pattern.qname; %SVG.Pattern.extra.class;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- pattern: Pattern Element .......................... -->

<!ENTITY % SVG.pattern.element "INCLUDE" >
<![%SVG.pattern.element;[
<!ENTITY % SVG.pattern.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.pattern.qname; %SVG.pattern.content; >
<!-- end of SVG.pattern.element -->]]>

<!ENTITY % SVG.pattern.attlist "INCLUDE" >
<![%SVG.pattern.attlist;[
<!ATTLIST %SVG.pattern.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #IMPLIED
    height %Length.datatype; #IMPLIED
    patternUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
    patternContentUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
    patternTransform %TransformList.datatype; #IMPLIED
    viewBox %ViewBoxSpec.datatype; #IMPLIED
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
>
<!-- end of SVG.pattern.attlist -->]]>

<!-- end of svg-pattern.mod -->
]]>

<!-- Clip Module ................................................. -->
<!ENTITY % svg-clip.module "INCLUDE" >
<![%svg-clip.module;[
<!ENTITY % svg-clip.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Clip//EN"
           "svg-clip.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Clip Module ................................................... -->
<!-- file: svg-clip.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-clip.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Clip//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-clip.mod"

     ....................................................................... -->

<!-- Clip

        clipPath

     This module declares markup to provide support for clipping.
-->

<!-- 'clip-path' property/attribute value (e.g., 'none', <uri>) -->
<!ENTITY % ClipPathValue.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.clipPath.qname "clipPath" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Clip.class .................................... -->

<!ENTITY % SVG.Clip.extra.class "" >

<!ENTITY % SVG.Clip.class
    "| %SVG.clipPath.qname; %SVG.Clip.extra.class;"
>

<!-- SVG.Clip.attrib ................................... -->

<!ENTITY % SVG.Clip.extra.attrib "" >

<!ENTITY % SVG.Clip.attrib
    "clip-path %ClipPathValue.datatype; #IMPLIED
     clip-rule %ClipFillRule.datatype; #IMPLIED
     %SVG.Clip.extra.attrib;"
>

<!-- clipPath: Clip Path Element ....................... -->

<!ENTITY % SVG.clipPath.element "INCLUDE" >
<![%SVG.clipPath.element;[
<!ENTITY % SVG.clipPath.content
    "(( %SVG.Description.class; )*, ( %SVG.Animation.class; %SVG.Use.class;
        %SVG.Shape.class; %SVG.Text.class; )*)"
>
<!ELEMENT %SVG.clipPath.qname; %SVG.clipPath.content; >
<!-- end of SVG.clipPath.element -->]]>

<!ENTITY % SVG.clipPath.attlist "INCLUDE" >
<![%SVG.clipPath.attlist;[
<!ATTLIST %SVG.clipPath.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Text.attrib;
    %SVG.TextContent.attrib;
    %SVG.Font.attrib;
    %SVG.Paint.attrib;
    %SVG.Color.attrib;
    %SVG.Opacity.attrib;
    %SVG.Graphics.attrib;
    %SVG.Clip.attrib;
    %SVG.Mask.attrib;
    %SVG.Filter.attrib;
    %SVG.Cursor.attrib;
    %SVG.External.attrib;
    transform %TransformList.datatype; #IMPLIED
    clipPathUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
>
<!-- end of SVG.clipPath.attlist -->]]>

<!-- end of svg-clip.mod -->
]]>

<!-- Mask Module ................................................. -->
<!ENTITY % svg-mask.module "INCLUDE" >
<![%svg-mask.module;[
<!ENTITY % svg-mask.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Mask//EN"
           "svg-mask.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Mask Module ................................................... -->
<!-- file: svg-mask.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-mask.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Mask//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-mask.mod"

     ....................................................................... -->

<!-- Mask

        mask

     This module declares markup to provide support for masking.
-->

<!-- 'mask' property/attribute value (e.g., 'none', <uri>) -->
<!ENTITY % MaskValue.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.mask.qname "mask" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Mask.class .................................... -->

<!ENTITY % SVG.Mask.extra.class "" >

<!ENTITY % SVG.Mask.class
    "| %SVG.mask.qname; %SVG.Mask.extra.class;"
>

<!-- SVG.Mask.attrib ................................... -->

<!ENTITY % SVG.Mask.extra.attrib "" >

<!ENTITY % SVG.Mask.attrib
    "mask %MaskValue.datatype; #IMPLIED
     %SVG.Mask.extra.attrib;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- mask: Mask Element ................................ -->

<!ENTITY % SVG.mask.element "INCLUDE" >
<![%SVG.mask.element;[
<!ENTITY % SVG.mask.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.mask.qname; %SVG.mask.content; >
<!-- end of SVG.mask.element -->]]>

<!ENTITY % SVG.mask.attlist "INCLUDE" >
<![%SVG.mask.attlist;[
<!ATTLIST %SVG.mask.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #IMPLIED
    height %Length.datatype; #IMPLIED
    maskUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
    maskContentUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
>
<!-- end of SVG.mask.attlist -->]]>

<!-- end of svg-mask.mod -->
]]>

<!-- Filter Module ............................................... -->
<!ENTITY % svg-filter.module "INCLUDE" >
<![%svg-filter.module;[
<!ENTITY % svg-filter.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Filter//EN"
           "svg-filter.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Filter Module ................................................. -->
<!-- file: svg-filter.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-filter.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Filter//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-filter.mod"

     ....................................................................... -->

<!-- Filter

        filter, feBlend, feColorMatrix, feComponentTransfer, feComposite,
        feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feFlood,
        feGaussianBlur, feImage, feMerge, feMergeNode, feMorphology, feOffset,
        feSpecularLighting, feTile, feTurbulence, feDistantLight, fePointLight,
        feSpotLight, feFuncR, feFuncG, feFuncB, feFuncA

     This module declares markup to provide support for filter effect.
-->

<!-- 'filter' property/attribute value (e.g., 'none', <uri>) -->
<!ENTITY % FilterValue.datatype "CDATA" >

<!-- list of <number>s, but at least one and at most two -->
<!ENTITY % NumberOptionalNumber.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.filter.qname "filter" >
<!ENTITY % SVG.feBlend.qname "feBlend" >
<!ENTITY % SVG.feColorMatrix.qname "feColorMatrix" >
<!ENTITY % SVG.feComponentTransfer.qname "feComponentTransfer" >
<!ENTITY % SVG.feComposite.qname "feComposite" >
<!ENTITY % SVG.feConvolveMatrix.qname "feConvolveMatrix" >
<!ENTITY % SVG.feDiffuseLighting.qname "feDiffuseLighting" >
<!ENTITY % SVG.feDisplacementMap.qname "feDisplacementMap" >
<!ENTITY % SVG.feFlood.qname "feFlood" >
<!ENTITY % SVG.feGaussianBlur.qname "feGaussianBlur" >
<!ENTITY % SVG.feImage.qname "feImage" >
<!ENTITY % SVG.feMerge.qname "feMerge" >
<!ENTITY % SVG.feMergeNode.qname "feMergeNode" >
<!ENTITY % SVG.feMorphology.qname "feMorphology" >
<!ENTITY % SVG.feOffset.qname "feOffset" >
<!ENTITY % SVG.feSpecularLighting.qname "feSpecularLighting" >
<!ENTITY % SVG.feTile.qname "feTile" >
<!ENTITY % SVG.feTurbulence.qname "feTurbulence" >
<!ENTITY % SVG.feDistantLight.qname "feDistantLight" >
<!ENTITY % SVG.fePointLight.qname "fePointLight" >
<!ENTITY % SVG.feSpotLight.qname "feSpotLight" >
<!ENTITY % SVG.feFuncR.qname "feFuncR" >
<!ENTITY % SVG.feFuncG.qname "feFuncG" >
<!ENTITY % SVG.feFuncB.qname "feFuncB" >
<!ENTITY % SVG.feFuncA.qname "feFuncA" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >
<!ENTITY % SVG.XLinkEmbed.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Filter.class .................................. -->

<!ENTITY % SVG.Filter.extra.class "" >

<!ENTITY % SVG.Filter.class
    "| %SVG.filter.qname; %SVG.Filter.extra.class;"
>

<!-- SVG.FilterPrimitive.class ......................... -->

<!ENTITY % SVG.FilterPrimitive.extra.class "" >

<!ENTITY % SVG.FilterPrimitive.class
    "| %SVG.feBlend.qname; | %SVG.feColorMatrix.qname;
     | %SVG.feComponentTransfer.qname; | %SVG.feComposite.qname;
     | %SVG.feConvolveMatrix.qname; | %SVG.feDiffuseLighting.qname;
     | %SVG.feDisplacementMap.qname; | %SVG.feFlood.qname;
     | %SVG.feGaussianBlur.qname; | %SVG.feImage.qname; | %SVG.feMerge.qname;
     | %SVG.feMorphology.qname; | %SVG.feOffset.qname;
     | %SVG.feSpecularLighting.qname; | %SVG.feTile.qname;
     | %SVG.feTurbulence.qname; %SVG.FilterPrimitive.extra.class;"
>

<!-- SVG.Filter.attrib ................................. -->

<!ENTITY % SVG.Filter.extra.attrib "" >

<!ENTITY % SVG.Filter.attrib
    "filter %FilterValue.datatype; #IMPLIED
     %SVG.Filter.extra.attrib;"
>

<!-- SVG.FilterColor.attrib ............................ -->

<!ENTITY % SVG.FilterColor.extra.attrib "" >

<!ENTITY % SVG.FilterColor.attrib
    "color-interpolation-filters ( auto | sRGB | linearRGB | inherit )
                                   #IMPLIED
     %SVG.FilterColor.extra.attrib;"
>

<!-- SVG.FilterPrimitive.attrib ........................ -->

<!ENTITY % SVG.FilterPrimitive.extra.attrib "" >

<!ENTITY % SVG.FilterPrimitive.attrib
    "x %Coordinate.datatype; #IMPLIED
     y %Coordinate.datatype; #IMPLIED
     width %Length.datatype; #IMPLIED
     height %Length.datatype; #IMPLIED
     result CDATA #IMPLIED
     %SVG.FilterPrimitive.extra.attrib;"
>

<!-- SVG.FilterPrimitiveWithIn.attrib .................. -->

<!ENTITY % SVG.FilterPrimitiveWithIn.extra.attrib "" >

<!ENTITY % SVG.FilterPrimitiveWithIn.attrib
    "%SVG.FilterPrimitive.attrib;
     in CDATA #IMPLIED
     %SVG.FilterPrimitiveWithIn.extra.attrib;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- filter: Filter Element ............................ -->

<!ENTITY % SVG.filter.element "INCLUDE" >
<![%SVG.filter.element;[
<!ENTITY % SVG.filter.content
    "(( %SVG.Description.class; )*, ( %SVG.animate.qname; | %SVG.set.qname;
        %SVG.FilterPrimitive.class; )*)"
>
<!ELEMENT %SVG.filter.qname; %SVG.filter.content; >
<!-- end of SVG.filter.element -->]]>

<!ENTITY % SVG.filter.attlist "INCLUDE" >
<![%SVG.filter.attlist;[
<!ATTLIST %SVG.filter.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #IMPLIED
    height %Length.datatype; #IMPLIED
    filterRes %NumberOptionalNumber.datatype; #IMPLIED
    filterUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
    primitiveUnits ( userSpaceOnUse | objectBoundingBox ) #IMPLIED
>
<!-- end of SVG.filter.attlist -->]]>

<!-- feBlend: Filter Effect Blend Element .............. -->

<!ENTITY % SVG.feBlend.element "INCLUDE" >
<![%SVG.feBlend.element;[
<!ENTITY % SVG.feBlend.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feBlend.qname; %SVG.feBlend.content; >
<!-- end of SVG.feBlend.element -->]]>

<!ENTITY % SVG.feBlend.attlist "INCLUDE" >
<![%SVG.feBlend.attlist;[
<!ATTLIST %SVG.feBlend.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    in2 CDATA #REQUIRED
    mode ( normal | multiply | screen | darken | lighten ) 'normal'
>
<!-- end of SVG.feBlend.attlist -->]]>

<!-- feColorMatrix: Filter Effect Color Matrix Element . -->

<!ENTITY % SVG.feColorMatrix.element "INCLUDE" >
<![%SVG.feColorMatrix.element;[
<!ENTITY % SVG.feColorMatrix.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feColorMatrix.qname; %SVG.feColorMatrix.content; >
<!-- end of SVG.feColorMatrix.element -->]]>

<!ENTITY % SVG.feColorMatrix.attlist "INCLUDE" >
<![%SVG.feColorMatrix.attlist;[
<!ATTLIST %SVG.feColorMatrix.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    type ( matrix | saturate | hueRotate | luminanceToAlpha ) 'matrix'
    values CDATA #IMPLIED
>
<!-- end of SVG.feColorMatrix.attlist -->]]>

<!-- feComponentTransfer: Filter Effect Component Transfer Element -->

<!ENTITY % SVG.feComponentTransfer.element "INCLUDE" >
<![%SVG.feComponentTransfer.element;[
<!ENTITY % SVG.feComponentTransfer.content
    "( %SVG.feFuncR.qname;?, %SVG.feFuncG.qname;?, %SVG.feFuncB.qname;?,
       %SVG.feFuncA.qname;? )"
>
<!ELEMENT %SVG.feComponentTransfer.qname; %SVG.feComponentTransfer.content; >
<!-- end of SVG.feComponentTransfer.element -->]]>

<!ENTITY % SVG.feComponentTransfer.attlist "INCLUDE" >
<![%SVG.feComponentTransfer.attlist;[
<!ATTLIST %SVG.feComponentTransfer.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
>
<!-- end of SVG.feComponentTransfer.attlist -->]]>

<!-- feComposite: Filter Effect Composite Element ...... -->

<!ENTITY % SVG.feComposite.element "INCLUDE" >
<![%SVG.feComposite.element;[
<!ENTITY % SVG.feComposite.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feComposite.qname; %SVG.feComposite.content; >
<!-- end of SVG.feComposite.element -->]]>

<!ENTITY % SVG.feComposite.attlist "INCLUDE" >
<![%SVG.feComposite.attlist;[
<!ATTLIST %SVG.feComposite.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    in2 CDATA #REQUIRED
    operator ( over | in | out | atop | xor | arithmetic ) 'over'
    k1 %Number.datatype; #IMPLIED
    k2 %Number.datatype; #IMPLIED
    k3 %Number.datatype; #IMPLIED
    k4 %Number.datatype; #IMPLIED
>
<!-- end of SVG.feComposite.attlist -->]]>

<!-- feConvolveMatrix: Filter Effect Convolve Matrix Element -->

<!ENTITY % SVG.feConvolveMatrix.element "INCLUDE" >
<![%SVG.feConvolveMatrix.element;[
<!ENTITY % SVG.feConvolveMatrix.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feConvolveMatrix.qname; %SVG.feConvolveMatrix.content; >
<!-- end of SVG.feConvolveMatrix.element -->]]>

<!ENTITY % SVG.feConvolveMatrix.attlist "INCLUDE" >
<![%SVG.feConvolveMatrix.attlist;[
<!ATTLIST %SVG.feConvolveMatrix.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    order %NumberOptionalNumber.datatype; #REQUIRED
    kernelMatrix CDATA #REQUIRED
    divisor %Number.datatype; #IMPLIED
    bias %Number.datatype; #IMPLIED
    targetX %Integer.datatype; #IMPLIED
    targetY %Integer.datatype; #IMPLIED
    edgeMode ( duplicate | wrap | none ) 'duplicate'
    kernelUnitLength %NumberOptionalNumber.datatype; #IMPLIED
    preserveAlpha %Boolean.datatype; #IMPLIED
>
<!-- end of SVG.feConvolveMatrix.attlist -->]]>

<!-- feDiffuseLighting: Filter Effect Diffuse Lighting Element -->

<!ENTITY % SVG.feDiffuseLighting.element "INCLUDE" >
<![%SVG.feDiffuseLighting.element;[
<!ENTITY % SVG.feDiffuseLighting.content
    "(( %SVG.feDistantLight.qname; | %SVG.fePointLight.qname;
      | %SVG.feSpotLight.qname; ), ( %SVG.animate.qname; | %SVG.set.qname;
      | %SVG.animateColor.qname; )*)"
>
<!ELEMENT %SVG.feDiffuseLighting.qname; %SVG.feDiffuseLighting.content; >
<!-- end of SVG.feDiffuseLighting.element -->]]>

<!ENTITY % SVG.feDiffuseLighting.attlist "INCLUDE" >
<![%SVG.feDiffuseLighting.attlist;[
<!ATTLIST %SVG.feDiffuseLighting.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Color.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    lighting-color %SVGColor.datatype; #IMPLIED
    surfaceScale %Number.datatype; #IMPLIED
    diffuseConstant %Number.datatype; #IMPLIED
    kernelUnitLength %NumberOptionalNumber.datatype; #IMPLIED
>
<!-- end of SVG.feDiffuseLighting.attlist -->]]>

<!-- feDisplacementMap: Filter Effect Displacement Map Element -->

<!ENTITY % SVG.feDisplacementMap.element "INCLUDE" >
<![%SVG.feDisplacementMap.element;[
<!ENTITY % SVG.feDisplacementMap.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feDisplacementMap.qname; %SVG.feDisplacementMap.content; >
<!-- end of SVG.feDisplacementMap.element -->]]>

<!ENTITY % SVG.feDisplacementMap.attlist "INCLUDE" >
<![%SVG.feDisplacementMap.attlist;[
<!ATTLIST %SVG.feDisplacementMap.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    in2 CDATA #REQUIRED
    scale %Number.datatype; #IMPLIED
    xChannelSelector ( R | G | B | A ) 'A'
    yChannelSelector ( R | G | B | A ) 'A'
>
<!-- end of SVG.feDisplacementMap.attlist -->]]>

<!-- feFlood: Filter Effect Flood Element .............. -->

<!ENTITY % SVG.feFlood.element "INCLUDE" >
<![%SVG.feFlood.element;[
<!ENTITY % SVG.feFlood.content
    "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateColor.qname; )*"
>
<!ELEMENT %SVG.feFlood.qname; %SVG.feFlood.content; >
<!-- end of SVG.feFlood.element -->]]>

<!ENTITY % SVG.feFlood.attlist "INCLUDE" >
<![%SVG.feFlood.attlist;[
<!ATTLIST %SVG.feFlood.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Color.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    flood-color %SVGColor.datatype; #IMPLIED
    flood-opacity %OpacityValue.datatype; #IMPLIED
>
<!-- end of SVG.feFlood.attlist -->]]>

<!-- feGaussianBlur: Filter Effect Gaussian Blur Element -->

<!ENTITY % SVG.feGaussianBlur.element "INCLUDE" >
<![%SVG.feGaussianBlur.element;[
<!ENTITY % SVG.feGaussianBlur.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feGaussianBlur.qname; %SVG.feGaussianBlur.content; >
<!-- end of SVG.feGaussianBlur.element -->]]>

<!ENTITY % SVG.feGaussianBlur.attlist "INCLUDE" >
<![%SVG.feGaussianBlur.attlist;[
<!ATTLIST %SVG.feGaussianBlur.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    stdDeviation %NumberOptionalNumber.datatype; #IMPLIED
>
<!-- end of SVG.feGaussianBlur.attlist -->]]>

<!-- feImage: Filter Effect Image Element .............. -->

<!ENTITY % SVG.feImage.element "INCLUDE" >
<![%SVG.feImage.element;[
<!ENTITY % SVG.feImage.content
    "( %SVG.animate.qname; | %SVG.set.qname; | %SVG.animateTransform.qname; )*"
>
<!ELEMENT %SVG.feImage.qname; %SVG.feImage.content; >
<!-- end of SVG.feImage.element -->]]>

<!ENTITY % SVG.feImage.attlist "INCLUDE" >
<![%SVG.feImage.attlist;[
<!ATTLIST %SVG.feImage.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.FilterPrimitive.attrib;
    %SVG.XLinkEmbed.attrib;
    %SVG.External.attrib;
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
>
<!-- end of SVG.feImage.attlist -->]]>

<!-- feMerge: Filter Effect Merge Element .............. -->

<!ENTITY % SVG.feMerge.element "INCLUDE" >
<![%SVG.feMerge.element;[
<!ENTITY % SVG.feMerge.content
    "( %SVG.feMergeNode.qname; )*"
>
<!ELEMENT %SVG.feMerge.qname; %SVG.feMerge.content; >
<!-- end of SVG.feMerge.element -->]]>

<!ENTITY % SVG.feMerge.attlist "INCLUDE" >
<![%SVG.feMerge.attlist;[
<!ATTLIST %SVG.feMerge.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitive.attrib;
>
<!-- end of SVG.feMerge.attlist -->]]>

<!-- feMergeNode: Filter Effect Merge Node Element ..... -->

<!ENTITY % SVG.feMergeNode.element "INCLUDE" >
<![%SVG.feMergeNode.element;[
<!ENTITY % SVG.feMergeNode.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feMergeNode.qname; %SVG.feMergeNode.content; >
<!-- end of SVG.feMergeNode.element -->]]>

<!ENTITY % SVG.feMergeNode.attlist "INCLUDE" >
<![%SVG.feMergeNode.attlist;[
<!ATTLIST %SVG.feMergeNode.qname;
    %SVG.Core.attrib;
    in CDATA #IMPLIED
>
<!-- end of SVG.feMergeNode.attlist -->]]>

<!-- feMorphology: Filter Effect Morphology Element .... -->

<!ENTITY % SVG.feMorphology.element "INCLUDE" >
<![%SVG.feMorphology.element;[
<!ENTITY % SVG.feMorphology.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feMorphology.qname; %SVG.feMorphology.content; >
<!-- end of SVG.feMorphology.element -->]]>

<!ENTITY % SVG.feMorphology.attlist "INCLUDE" >
<![%SVG.feMorphology.attlist;[
<!ATTLIST %SVG.feMorphology.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    operator ( erode | dilate ) 'erode'
    radius %NumberOptionalNumber.datatype; #IMPLIED
>
<!-- end of SVG.feMorphology.attlist -->]]>

<!-- feOffset: Filter Effect Offset Element ............ -->

<!ENTITY % SVG.feOffset.element "INCLUDE" >
<![%SVG.feOffset.element;[
<!ENTITY % SVG.feOffset.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feOffset.qname; %SVG.feOffset.content; >
<!-- end of SVG.feOffset.element -->]]>

<!ENTITY % SVG.feOffset.attlist "INCLUDE" >
<![%SVG.feOffset.attlist;[
<!ATTLIST %SVG.feOffset.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    dx %Number.datatype; #IMPLIED
    dy %Number.datatype; #IMPLIED
>
<!-- end of SVG.feOffset.attlist -->]]>

<!-- feSpecularLighting: Filter Effect Specular Lighting Element -->

<!ENTITY % SVG.feSpecularLighting.element "INCLUDE" >
<![%SVG.feSpecularLighting.element;[
<!ENTITY % SVG.feSpecularLighting.content
    "(( %SVG.feDistantLight.qname; | %SVG.fePointLight.qname;
      | %SVG.feSpotLight.qname; ), ( %SVG.animate.qname; | %SVG.set.qname;
      | %SVG.animateColor.qname; )*)"
>
<!ELEMENT %SVG.feSpecularLighting.qname; %SVG.feSpecularLighting.content; >
<!-- end of SVG.feSpecularLighting.element -->]]>

<!ENTITY % SVG.feSpecularLighting.attlist "INCLUDE" >
<![%SVG.feSpecularLighting.attlist;[
<!ATTLIST %SVG.feSpecularLighting.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Color.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
    lighting-color %SVGColor.datatype; #IMPLIED
    surfaceScale %Number.datatype; #IMPLIED
    specularConstant %Number.datatype; #IMPLIED
    specularExponent %Number.datatype; #IMPLIED
    kernelUnitLength %NumberOptionalNumber.datatype; #IMPLIED
>
<!-- end of SVG.feSpecularLighting.attlist -->]]>

<!-- feTile: Filter Effect Tile Element ................ -->

<!ENTITY % SVG.feTile.element "INCLUDE" >
<![%SVG.feTile.element;[
<!ENTITY % SVG.feTile.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feTile.qname; %SVG.feTile.content; >
<!-- end of SVG.feTile.element -->]]>

<!ENTITY % SVG.feTile.attlist "INCLUDE" >
<![%SVG.feTile.attlist;[
<!ATTLIST %SVG.feTile.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitiveWithIn.attrib;
>
<!-- end of SVG.feTile.attlist -->]]>

<!-- feTurbulence: Filter Effect Turbulence Element .... -->

<!ENTITY % SVG.feTurbulence.element "INCLUDE" >
<![%SVG.feTurbulence.element;[
<!ENTITY % SVG.feTurbulence.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feTurbulence.qname; %SVG.feTurbulence.content; >
<!-- end of SVG.feTurbulence.element -->]]>

<!ENTITY % SVG.feTurbulence.attlist "INCLUDE" >
<![%SVG.feTurbulence.attlist;[
<!ATTLIST %SVG.feTurbulence.qname;
    %SVG.Core.attrib;
    %SVG.FilterColor.attrib;
    %SVG.FilterPrimitive.attrib;
    baseFrequency %NumberOptionalNumber.datatype; #IMPLIED
    numOctaves %Integer.datatype; #IMPLIED
    seed %Number.datatype; #IMPLIED
    stitchTiles ( stitch | noStitch ) 'noStitch'
    type ( fractalNoise | turbulence ) 'turbulence'
>
<!-- end of SVG.feTurbulence.attlist -->]]>

<!-- feDistantLight: Filter Effect Distant Light Element -->

<!ENTITY % SVG.feDistantLight.element "INCLUDE" >
<![%SVG.feDistantLight.element;[
<!ENTITY % SVG.feDistantLight.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feDistantLight.qname; %SVG.feDistantLight.content; >
<!-- end of SVG.feDistantLight.element -->]]>

<!ENTITY % SVG.feDistantLight.attlist "INCLUDE" >
<![%SVG.feDistantLight.attlist;[
<!ATTLIST %SVG.feDistantLight.qname;
    %SVG.Core.attrib;
    azimuth %Number.datatype; #IMPLIED
    elevation %Number.datatype; #IMPLIED
>
<!-- end of SVG.feDistantLight.attlist -->]]>

<!-- fePointLight: Filter Effect Point Light Element ... -->

<!ENTITY % SVG.fePointLight.element "INCLUDE" >
<![%SVG.fePointLight.element;[
<!ENTITY % SVG.fePointLight.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.fePointLight.qname; %SVG.fePointLight.content; >
<!-- end of SVG.fePointLight.element -->]]>

<!ENTITY % SVG.fePointLight.attlist "INCLUDE" >
<![%SVG.fePointLight.attlist;[
<!ATTLIST %SVG.fePointLight.qname;
    %SVG.Core.attrib;
    x %Number.datatype; #IMPLIED
    y %Number.datatype; #IMPLIED
    z %Number.datatype; #IMPLIED
>
<!-- end of SVG.fePointLight.attlist -->]]>

<!-- feSpotLight: Filter Effect Spot Light Element ..... -->

<!ENTITY % SVG.feSpotLight.element "INCLUDE" >
<![%SVG.feSpotLight.element;[
<!ENTITY % SVG.feSpotLight.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feSpotLight.qname; %SVG.feSpotLight.content; >
<!-- end of SVG.feSpotLight.element -->]]>

<!ENTITY % SVG.feSpotLight.attlist "INCLUDE" >
<![%SVG.feSpotLight.attlist;[
<!ATTLIST %SVG.feSpotLight.qname;
    %SVG.Core.attrib;
    x %Number.datatype; #IMPLIED
    y %Number.datatype; #IMPLIED
    z %Number.datatype; #IMPLIED
    pointsAtX %Number.datatype; #IMPLIED
    pointsAtY %Number.datatype; #IMPLIED
    pointsAtZ %Number.datatype; #IMPLIED
    specularExponent %Number.datatype; #IMPLIED
    limitingConeAngle %Number.datatype; #IMPLIED
>
<!-- end of SVG.feSpotLight.attlist -->]]>

<!-- feFuncR: Filter Effect Function Red Element ....... -->

<!ENTITY % SVG.feFuncR.element "INCLUDE" >
<![%SVG.feFuncR.element;[
<!ENTITY % SVG.feFuncR.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feFuncR.qname; %SVG.feFuncR.content; >
<!-- end of SVG.feFuncR.element -->]]>

<!ENTITY % SVG.feFuncR.attlist "INCLUDE" >
<![%SVG.feFuncR.attlist;[
<!ATTLIST %SVG.feFuncR.qname;
    %SVG.Core.attrib;
    type ( identity | table | discrete | linear | gamma ) #REQUIRED
    tableValues CDATA #IMPLIED
    slope %Number.datatype; #IMPLIED
    intercept %Number.datatype; #IMPLIED
    amplitude %Number.datatype; #IMPLIED
    exponent %Number.datatype; #IMPLIED
    offset %Number.datatype; #IMPLIED
>
<!-- end of SVG.feFuncR.attlist -->]]>

<!-- feFuncG: Filter Effect Function Green Element ..... -->

<!ENTITY % SVG.feFuncG.element "INCLUDE" >
<![%SVG.feFuncG.element;[
<!ENTITY % SVG.feFuncG.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feFuncG.qname; %SVG.feFuncG.content; >
<!-- end of SVG.feFuncG.element -->]]>

<!ENTITY % SVG.feFuncG.attlist "INCLUDE" >
<![%SVG.feFuncG.attlist;[
<!ATTLIST %SVG.feFuncG.qname;
    %SVG.Core.attrib;
    type ( identity | table | discrete | linear | gamma ) #REQUIRED
    tableValues CDATA #IMPLIED
    slope %Number.datatype; #IMPLIED
    intercept %Number.datatype; #IMPLIED
    amplitude %Number.datatype; #IMPLIED
    exponent %Number.datatype; #IMPLIED
    offset %Number.datatype; #IMPLIED
>
<!-- end of SVG.feFuncG.attlist -->]]>

<!-- feFuncB: Filter Effect Function Blue Element ...... -->

<!ENTITY % SVG.feFuncB.element "INCLUDE" >
<![%SVG.feFuncB.element;[
<!ENTITY % SVG.feFuncB.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feFuncB.qname; %SVG.feFuncB.content; >
<!-- end of SVG.feFuncB.element -->]]>

<!ENTITY % SVG.feFuncB.attlist "INCLUDE" >
<![%SVG.feFuncB.attlist;[
<!ATTLIST %SVG.feFuncB.qname;
    %SVG.Core.attrib;
    type ( identity | table | discrete | linear | gamma ) #REQUIRED
    tableValues CDATA #IMPLIED
    slope %Number.datatype; #IMPLIED
    intercept %Number.datatype; #IMPLIED
    amplitude %Number.datatype; #IMPLIED
    exponent %Number.datatype; #IMPLIED
    offset %Number.datatype; #IMPLIED
>
<!-- end of SVG.feFuncB.attlist -->]]>

<!-- feFuncA: Filter Effect Function Alpha Element ..... -->

<!ENTITY % SVG.feFuncA.element "INCLUDE" >
<![%SVG.feFuncA.element;[
<!ENTITY % SVG.feFuncA.content
    "( %SVG.animate.qname; | %SVG.set.qname; )*"
>
<!ELEMENT %SVG.feFuncA.qname; %SVG.feFuncA.content; >
<!-- end of SVG.feFuncA.element -->]]>

<!ENTITY % SVG.feFuncA.attlist "INCLUDE" >
<![%SVG.feFuncA.attlist;[
<!ATTLIST %SVG.feFuncA.qname;
    %SVG.Core.attrib;
    type ( identity | table | discrete | linear | gamma ) #REQUIRED
    tableValues CDATA #IMPLIED
    slope %Number.datatype; #IMPLIED
    intercept %Number.datatype; #IMPLIED
    amplitude %Number.datatype; #IMPLIED
    exponent %Number.datatype; #IMPLIED
    offset %Number.datatype; #IMPLIED
>
<!-- end of SVG.feFuncA.attlist -->]]>

<!-- end of svg-filter.mod -->
]]>

<!-- Cursor Module ............................................... -->
<!ENTITY % svg-cursor.module "INCLUDE" >
<![%svg-cursor.module;[
<!ENTITY % svg-cursor.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Cursor//EN"
           "svg-cursor.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Cursor Module ................................................. -->
<!-- file: svg-cursor.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-cursor.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Cursor//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-cursor.mod"

     ....................................................................... -->

<!-- Cursor

        cursor

     This module declares markup to provide support for cursor.
-->

<!-- 'cursor' property/attribute value (e.g., 'crosshair', <uri>) -->
<!ENTITY % CursorValue.datatype "CDATA" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.cursor.qname "cursor" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.XLinkRequired.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Cursor.class .................................. -->

<!ENTITY % SVG.Cursor.extra.class "" >

<!ENTITY % SVG.Cursor.class
    "| %SVG.cursor.qname; %SVG.Cursor.extra.class;"
>

<!-- SVG.Cursor.attrib ................................. -->

<!ENTITY % SVG.Cursor.extra.attrib "" >

<!ENTITY % SVG.Cursor.attrib
    "cursor %CursorValue.datatype; #IMPLIED
     %SVG.Cursor.extra.attrib;"
>

<!-- cursor: Cursor Element ............................ -->

<!ENTITY % SVG.cursor.element "INCLUDE" >
<![%SVG.cursor.element;[
<!ENTITY % SVG.cursor.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.cursor.qname; %SVG.cursor.content; >
<!-- end of SVG.cursor.element -->]]>

<!ENTITY % SVG.cursor.attlist "INCLUDE" >
<![%SVG.cursor.attlist;[
<!ATTLIST %SVG.cursor.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.XLinkRequired.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
>
<!-- end of SVG.cursor.attlist -->]]>

<!-- end of svg-cursor.mod -->
]]>

<!-- Hyperlinking Module ......................................... -->
<!ENTITY % svg-hyperlink.module "INCLUDE" >
<![%svg-hyperlink.module;[
<!ENTITY % svg-hyperlink.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Hyperlinking//EN"
           "svg-hyperlink.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Hyperlinking Module ........................................... -->
<!-- file: svg-hyperlink.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-hyperlink.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Hyperlinking//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-hyperlink.mod"

     ....................................................................... -->

<!-- Hyperlinking

        a

     This module declares markup to provide support for hyper linking.
-->

<!-- link to this target -->
<!ENTITY % LinkTarget.datatype "NMTOKEN" >

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.a.qname "a" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLinkReplace.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Hyperlink.class ............................... -->

<!ENTITY % SVG.Hyperlink.extra.class "" >

<!ENTITY % SVG.Hyperlink.class
    "| %SVG.a.qname; %SVG.Hyperlink.extra.class;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- a: Anchor Element ................................. -->

<!ENTITY % SVG.a.element "INCLUDE" >
<![%SVG.a.element;[
<!ENTITY % SVG.a.content
    "( #PCDATA | %SVG.Description.class; | %SVG.Animation.class;
       %SVG.Structure.class; %SVG.Conditional.class; %SVG.Image.class;
       %SVG.Style.class; %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class;
       %SVG.Profile.class; %SVG.Gradient.class; %SVG.Pattern.class;
       %SVG.Clip.class; %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.a.qname; %SVG.a.content; >
<!-- end of SVG.a.element -->]]>

<!ENTITY % SVG.a.attlist "INCLUDE" >
<![%SVG.a.attlist;[
<!ATTLIST %SVG.a.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.XLinkReplace.attrib;
    %SVG.External.attrib;
    transform %TransformList.datatype; #IMPLIED
    target %LinkTarget.datatype; #IMPLIED
>
<!-- end of SVG.a.attlist -->]]>

<!-- end of svg-hyperlink.mod -->
]]>

<!-- View Module ................................................. -->
<!ENTITY % svg-view.module "INCLUDE" >
<![%svg-view.module;[
<!ENTITY % svg-view.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 View//EN"
           "svg-view.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 View Module ................................................... -->
<!-- file: svg-view.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-view.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 View//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-view.mod"

     ....................................................................... -->

<!-- View

        view

     This module declares markup to provide support for view.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.view.qname "view" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.View.class .................................... -->

<!ENTITY % SVG.View.extra.class "" >

<!ENTITY % SVG.View.class
    "| %SVG.view.qname; %SVG.View.extra.class;"
>

<!-- view: View Element ................................ -->

<!ENTITY % SVG.view.element "INCLUDE" >
<![%SVG.view.element;[
<!ENTITY % SVG.view.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.view.qname; %SVG.view.content; >
<!-- end of SVG.view.element -->]]>

<!ENTITY % SVG.view.attlist "INCLUDE" >
<![%SVG.view.attlist;[
<!ATTLIST %SVG.view.qname;
    %SVG.Core.attrib;
    %SVG.External.attrib;
    viewBox %ViewBoxSpec.datatype; #IMPLIED
    preserveAspectRatio %PreserveAspectRatioSpec.datatype; 'xMidYMid meet'
    zoomAndPan ( disable | magnify ) 'magnify'
    viewTarget CDATA #IMPLIED
>
<!-- end of SVG.view.attlist -->]]>

<!-- end of svg-view.mod -->
]]>

<!-- Scripting Module ............................................ -->
<!ENTITY % svg-script.module "INCLUDE" >
<![%svg-script.module;[
<!ENTITY % svg-script.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Scripting//EN"
           "svg-script.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Scripting Module .............................................. -->
<!-- file: svg-script.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-script.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Scripting//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-script.mod"

     ....................................................................... -->

<!-- Scripting

        script

     This module declares markup to provide support for scripting.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.script.qname "script" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Script.class .................................. -->

<!ENTITY % SVG.Script.extra.class "" >

<!ENTITY % SVG.Script.class
    "| %SVG.script.qname; %SVG.Script.extra.class;"
>

<!-- script: Script Element ............................ -->

<!ENTITY % SVG.script.element "INCLUDE" >
<![%SVG.script.element;[
<!ENTITY % SVG.script.content "( #PCDATA )" >
<!ELEMENT %SVG.script.qname; %SVG.script.content; >
<!-- end of SVG.script.element -->]]>

<!ENTITY % SVG.script.attlist "INCLUDE" >
<![%SVG.script.attlist;[
<!ATTLIST %SVG.script.qname;
    %SVG.Core.attrib;
    %SVG.XLink.attrib;
    %SVG.External.attrib;
    type %ContentType.datatype; #REQUIRED
>
<!-- end of SVG.script.attlist -->]]>

<!-- end of svg-script.mod -->
]]>

<!-- Animation Module ............................................ -->
<!ENTITY % svg-animation.module "INCLUDE" >
<![%svg-animation.module;[
<!ENTITY % svg-animation.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Animation//EN"
           "svg-animation.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Animation Module .............................................. -->
<!-- file: svg-animation.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-animation.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Animation//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-animation.mod"

     ....................................................................... -->

<!-- Animation

        animate, set, animateMotion, animateColor, animateTransform, mpath

     This module declares markup to provide support for animation.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.animate.qname "animate" >
<!ENTITY % SVG.set.qname "set" >
<!ENTITY % SVG.animateMotion.qname "animateMotion" >
<!ENTITY % SVG.animateColor.qname "animateColor" >
<!ENTITY % SVG.animateTransform.qname "animateTransform" >
<!ENTITY % SVG.mpath.qname "mpath" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.AnimationEvents.attrib "" >
<!ENTITY % SVG.XLink.attrib "" >
<!ENTITY % SVG.XLinkRequired.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Animation.class ............................... -->

<!ENTITY % SVG.Animation.extra.class "" >

<!ENTITY % SVG.Animation.class
    "%SVG.animate.qname; | %SVG.set.qname; | %SVG.animateMotion.qname; |
     %SVG.animateColor.qname; | %SVG.animateTransform.qname;
     %SVG.Animation.extra.class;"
>

<!-- SVG.Animation.attrib .............................. -->

<!ENTITY % SVG.Animation.extra.attrib "" >

<!ENTITY % SVG.Animation.attrib
    "%SVG.XLink.attrib;
     %SVG.Animation.extra.attrib;"
>

<!-- SVG.AnimationAttribute.attrib ..................... -->

<!ENTITY % SVG.AnimationAttribute.extra.attrib "" >

<!ENTITY % SVG.AnimationAttribute.attrib
    "attributeName  CDATA  #REQUIRED
     attributeType  CDATA  #IMPLIED
     %SVG.AnimationAttribute.extra.attrib;"
>

<!-- SVG.AnimationTiming.attrib ........................ -->

<!ENTITY % SVG.AnimationTiming.extra.attrib "" >

<!ENTITY % SVG.AnimationTiming.attrib
    "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'
     %SVG.AnimationTiming.extra.attrib;"
>

<!-- SVG.AnimationValue.attrib ......................... -->

<!ENTITY % SVG.AnimationValue.extra.attrib "" >

<!ENTITY % SVG.AnimationValue.attrib
    "calcMode ( discrete | linear | paced | spline ) 'linear'
     values CDATA #IMPLIED
     keyTimes CDATA #IMPLIED
     keySplines CDATA #IMPLIED
     from CDATA #IMPLIED
     to CDATA #IMPLIED
     by CDATA #IMPLIED
     %SVG.AnimationValue.extra.attrib;"
>

<!-- SVG.AnimationAddtion.attrib ....................... -->

<!ENTITY % SVG.AnimationAddtion.extra.attrib "" >

<!ENTITY % SVG.AnimationAddtion.attrib
    "additive ( replace | sum ) 'replace'
     accumulate ( none | sum ) 'none'
     %SVG.AnimationAddtion.extra.attrib;"
>

<!-- animate: Animate Element .......................... -->

<!ENTITY % SVG.animate.element "INCLUDE" >
<![%SVG.animate.element;[
<!ENTITY % SVG.animate.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.animate.qname; %SVG.animate.content; >
<!-- end of SVG.animate.element -->]]>

<!ENTITY % SVG.animate.attlist "INCLUDE" >
<![%SVG.animate.attlist;[
<!ATTLIST %SVG.animate.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.AnimationEvents.attrib;
    %SVG.External.attrib;
    %SVG.Animation.attrib;
    %SVG.AnimationAttribute.attrib;
    %SVG.AnimationTiming.attrib;
    %SVG.AnimationValue.attrib;
    %SVG.AnimationAddtion.attrib;
>
<!-- end of SVG.animate.attlist -->]]>

<!-- set: Set Element .................................. -->

<!ENTITY % SVG.set.element "INCLUDE" >
<![%SVG.set.element;[
<!ENTITY % SVG.set.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.set.qname; %SVG.set.content; >
<!-- end of SVG.set.element -->]]>

<!ENTITY % SVG.set.attlist "INCLUDE" >
<![%SVG.set.attlist;[
<!ATTLIST %SVG.set.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.AnimationEvents.attrib;
    %SVG.External.attrib;
    %SVG.Animation.attrib;
    %SVG.AnimationAttribute.attrib;
    %SVG.AnimationTiming.attrib;
    to CDATA #IMPLIED
>
<!-- end of SVG.set.attlist -->]]>

<!-- animateMotion: Animate Motion Element ............. -->

<!ENTITY % SVG.animateMotion.element "INCLUDE" >
<![%SVG.animateMotion.element;[
<!ENTITY % SVG.animateMotion.content
    "(( %SVG.Description.class; )*, %SVG.mpath.qname;? )"
>
<!ELEMENT %SVG.animateMotion.qname; %SVG.animateMotion.content; >
<!-- end of SVG.animateMotion.element -->]]>

<!ENTITY % SVG.animateMotion.attlist "INCLUDE" >
<![%SVG.animateMotion.attlist;[
<!ATTLIST %SVG.animateMotion.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.AnimationEvents.attrib;
    %SVG.External.attrib;
    %SVG.Animation.attrib;
    %SVG.AnimationTiming.attrib;
    %SVG.AnimationAddtion.attrib;
    calcMode ( discrete | linear | paced | spline ) 'paced'
    values CDATA #IMPLIED
    keyTimes CDATA #IMPLIED
    keySplines CDATA #IMPLIED
    from CDATA #IMPLIED
    to CDATA #IMPLIED
    by CDATA #IMPLIED
    path CDATA #IMPLIED
    keyPoints CDATA #IMPLIED
    rotate CDATA #IMPLIED
    origin CDATA #IMPLIED
>
<!-- end of SVG.animateMotion.attlist -->]]>

<!-- animateColor: Animate Color Element ............... -->

<!ENTITY % SVG.animateColor.element "INCLUDE" >
<![%SVG.animateColor.element;[
<!ENTITY % SVG.animateColor.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.animateColor.qname; %SVG.animateColor.content; >
<!-- end of SVG.animateColor.element -->]]>

<!ENTITY % SVG.animateColor.attlist "INCLUDE" >
<![%SVG.animateColor.attlist;[
<!ATTLIST %SVG.animateColor.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.AnimationEvents.attrib;
    %SVG.External.attrib;
    %SVG.Animation.attrib;
    %SVG.AnimationAttribute.attrib;
    %SVG.AnimationTiming.attrib;
    %SVG.AnimationValue.attrib;
    %SVG.AnimationAddtion.attrib;
>
<!-- end of SVG.animateColor.attlist -->]]>

<!-- animateTransform: Animate Transform Element ....... -->

<!ENTITY % SVG.animateTransform.element "INCLUDE" >
<![%SVG.animateTransform.element;[
<!ENTITY % SVG.animateTransform.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.animateTransform.qname; %SVG.animateTransform.content; >
<!-- end of SVG.animateTransform.element -->]]>

<!ENTITY % SVG.animateTransform.attlist "INCLUDE" >
<![%SVG.animateTransform.attlist;[
<!ATTLIST %SVG.animateTransform.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.AnimationEvents.attrib;
    %SVG.External.attrib;
    %SVG.Animation.attrib;
    %SVG.AnimationAttribute.attrib;
    %SVG.AnimationTiming.attrib;
    %SVG.AnimationValue.attrib;
    %SVG.AnimationAddtion.attrib;
    type ( translate | scale | rotate | skewX | skewY ) 'translate'
>
<!-- end of SVG.animateTransform.attlist -->]]>

<!-- mpath: Motion Path Element ........................ -->

<!ENTITY % SVG.mpath.element "INCLUDE" >
<![%SVG.mpath.element;[
<!ENTITY % SVG.mpath.content
    "( %SVG.Description.class; )*"
>
<!ELEMENT %SVG.mpath.qname; %SVG.mpath.content; >
<!-- end of SVG.mpath.element -->]]>

<!ENTITY % SVG.mpath.attlist "INCLUDE" >
<![%SVG.mpath.attlist;[
<!ATTLIST %SVG.mpath.qname;
    %SVG.Core.attrib;
    %SVG.XLinkRequired.attrib;
    %SVG.External.attrib;
>
<!-- end of SVG.mpath.attlist -->]]>

<!-- end of svg-animation.mod -->
]]>

<!-- Font Module ................................................. -->
<!ENTITY % svg-font.module "INCLUDE" >
<![%svg-font.module;[
<!ENTITY % svg-font.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Font//EN"
           "svg-font.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Font Module ................................................... -->
<!-- file: svg-font.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-font.mod,v 1.3 2002/04/29 11:23:25 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Font//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-font.mod"

     ....................................................................... -->

<!-- Font

        font, font-face, glyph, missing-glyph, hkern, vkern, font-face-src,
        font-face-uri, font-face-format, font-face-name, definition-src

     This module declares markup to provide support for template.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.font.qname "font" >
<!ENTITY % SVG.font-face.qname "font-face" >
<!ENTITY % SVG.glyph.qname "glyph" >
<!ENTITY % SVG.missing-glyph.qname "missing-glyph" >
<!ENTITY % SVG.hkern.qname "hkern" >
<!ENTITY % SVG.vkern.qname "vkern" >
<!ENTITY % SVG.font-face-src.qname "font-face-src" >
<!ENTITY % SVG.font-face-uri.qname "font-face-uri" >
<!ENTITY % SVG.font-face-format.qname "font-face-format" >
<!ENTITY % SVG.font-face-name.qname "font-face-name" >
<!ENTITY % SVG.definition-src.qname "definition-src" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Container.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Profile.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.XLinkRequired.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Font.class .................................... -->

<!ENTITY % SVG.Font.extra.class "" >

<!ENTITY % SVG.Font.class
    "| %SVG.font.qname; | %SVG.font-face.qname; %SVG.Font.extra.class;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- font: Font Element ................................ -->

<!ENTITY % SVG.font.element "INCLUDE" >
<![%SVG.font.element;[
<!ENTITY % SVG.font.content
    "(( %SVG.Description.class; )*, %SVG.font-face.qname;,
        %SVG.missing-glyph.qname;, ( %SVG.glyph.qname; | %SVG.hkern.qname;
      | %SVG.vkern.qname; )*)"
>
<!ELEMENT %SVG.font.qname; %SVG.font.content; >
<!-- end of SVG.font.element -->]]>

<!ENTITY % SVG.font.attlist "INCLUDE" >
<![%SVG.font.attlist;[
<!ATTLIST %SVG.font.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.External.attrib;
    horiz-origin-x %Number.datatype; #IMPLIED
    horiz-origin-y %Number.datatype; #IMPLIED
    horiz-adv-x %Number.datatype; #REQUIRED
    vert-origin-x %Number.datatype; #IMPLIED
    vert-origin-y %Number.datatype; #IMPLIED
    vert-adv-y %Number.datatype; #IMPLIED
>
<!-- end of SVG.font.attlist -->]]>

<!-- font-face: Font Face Element ...................... -->

<!ENTITY % SVG.font-face.element "INCLUDE" >
<![%SVG.font-face.element;[
<!ENTITY % SVG.font-face.content
    "(( %SVG.Description.class; )*, %SVG.font-face-src.qname;?,
        %SVG.definition-src.qname;? )"
>
<!ELEMENT %SVG.font-face.qname; %SVG.font-face.content; >
<!-- end of SVG.font-face.element -->]]>

<!ENTITY % SVG.font-face.attlist "INCLUDE" >
<![%SVG.font-face.attlist;[
<!ATTLIST %SVG.font-face.qname;
    %SVG.Core.attrib;
    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 %Number.datatype; #IMPLIED
    panose-1 CDATA #IMPLIED
    stemv %Number.datatype; #IMPLIED
    stemh %Number.datatype; #IMPLIED
    slope %Number.datatype; #IMPLIED
    cap-height %Number.datatype; #IMPLIED
    x-height %Number.datatype; #IMPLIED
    accent-height %Number.datatype; #IMPLIED
    ascent %Number.datatype; #IMPLIED
    descent %Number.datatype; #IMPLIED
    widths CDATA #IMPLIED
    bbox CDATA #IMPLIED
    ideographic %Number.datatype; #IMPLIED
    alphabetic %Number.datatype; #IMPLIED
    mathematical %Number.datatype; #IMPLIED
    hanging %Number.datatype; #IMPLIED
    v-ideographic %Number.datatype; #IMPLIED
    v-alphabetic %Number.datatype; #IMPLIED
    v-mathematical %Number.datatype; #IMPLIED
    v-hanging %Number.datatype; #IMPLIED
    underline-position %Number.datatype; #IMPLIED
    underline-thickness %Number.datatype; #IMPLIED
    strikethrough-position %Number.datatype; #IMPLIED
    strikethrough-thickness %Number.datatype; #IMPLIED
    overline-position %Number.datatype; #IMPLIED
    overline-thickness %Number.datatype; #IMPLIED
>
<!-- end of SVG.font-face.attlist -->]]>

<!-- glyph: Glyph Element .............................. -->

<!ENTITY % SVG.glyph.element "INCLUDE" >
<![%SVG.glyph.element;[
<!ENTITY % SVG.glyph.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.glyph.qname; %SVG.glyph.content; >
<!-- end of SVG.glyph.element -->]]>

<!ENTITY % SVG.glyph.attlist "INCLUDE" >
<![%SVG.glyph.attlist;[
<!ATTLIST %SVG.glyph.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    unicode CDATA #IMPLIED
    glyph-name CDATA #IMPLIED
    d %PathData.datatype; #IMPLIED
    orientation CDATA #IMPLIED
    arabic-form CDATA #IMPLIED
    lang %LanguageCodes.datatype; #IMPLIED
    horiz-adv-x %Number.datatype; #IMPLIED
    vert-origin-x %Number.datatype; #IMPLIED
    vert-origin-y %Number.datatype; #IMPLIED
    vert-adv-y %Number.datatype; #IMPLIED
>
<!-- end of SVG.glyph.attlist -->]]>

<!-- missing-glyph: Missing Glyph Element .............. -->

<!ENTITY % SVG.missing-glyph.element "INCLUDE" >
<![%SVG.missing-glyph.element;[
<!ENTITY % SVG.missing-glyph.content
    "( %SVG.Description.class; | %SVG.Animation.class; %SVG.Structure.class;
       %SVG.Conditional.class; %SVG.Image.class; %SVG.Style.class;
       %SVG.Shape.class; %SVG.Text.class; %SVG.Marker.class; %SVG.Profile.class;
       %SVG.Gradient.class; %SVG.Pattern.class; %SVG.Clip.class;
       %SVG.Mask.class; %SVG.Filter.class; %SVG.Cursor.class;
       %SVG.Hyperlink.class; %SVG.View.class; %SVG.Script.class;
       %SVG.Font.class; )*"
>
<!ELEMENT %SVG.missing-glyph.qname; %SVG.missing-glyph.content; >
<!-- end of SVG.missing-glyph.element -->]]>

<!ENTITY % SVG.missing-glyph.attlist "INCLUDE" >
<![%SVG.missing-glyph.attlist;[
<!ATTLIST %SVG.missing-glyph.qname;
    %SVG.Core.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    d %PathData.datatype; #IMPLIED
    horiz-adv-x %Number.datatype; #IMPLIED
    vert-origin-x %Number.datatype; #IMPLIED
    vert-origin-y %Number.datatype; #IMPLIED
    vert-adv-y %Number.datatype; #IMPLIED
>
<!-- end of SVG.missing-glyph.attlist -->]]>

<!-- hkern: Horizontal Kerning Element ................. -->

<!ENTITY % SVG.hkern.element "INCLUDE" >
<![%SVG.hkern.element;[
<!ENTITY % SVG.hkern.content "EMPTY" >
<!ELEMENT %SVG.hkern.qname; %SVG.hkern.content; >
<!-- end of SVG.hkern.element -->]]>

<!ENTITY % SVG.hkern.attlist "INCLUDE" >
<![%SVG.hkern.attlist;[
<!ATTLIST %SVG.hkern.qname;
    %SVG.Core.attrib;
    u1 CDATA #IMPLIED
    g1 CDATA #IMPLIED
    u2 CDATA #IMPLIED
    g2 CDATA #IMPLIED
    k %Number.datatype; #REQUIRED
>
<!-- end of SVG.hkern.attlist -->]]>

<!-- vkern: Vertical Kerning Element ................... -->

<!ENTITY % SVG.vkern.element "INCLUDE" >
<![%SVG.vkern.element;[
<!ENTITY % SVG.vkern.content "EMPTY" >
<!ELEMENT %SVG.vkern.qname; %SVG.vkern.content; >
<!-- end of SVG.vkern.element -->]]>

<!ENTITY % SVG.vkern.attlist "INCLUDE" >
<![%SVG.vkern.attlist;[
<!ATTLIST %SVG.vkern.qname;
    %SVG.Core.attrib;
    u1 CDATA #IMPLIED
    g1 CDATA #IMPLIED
    u2 CDATA #IMPLIED
    g2 CDATA #IMPLIED
    k %Number.datatype; #REQUIRED
>
<!-- end of SVG.vkern.attlist -->]]>

<!-- font-face-src: Font Face Source Element ........... -->

<!ENTITY % SVG.font-face-src.element "INCLUDE" >
<![%SVG.font-face-src.element;[
<!ENTITY % SVG.font-face-src.content
    "( %SVG.font-face-uri.qname; | %SVG.font-face-name.qname; )+"
>
<!ELEMENT %SVG.font-face-src.qname; %SVG.font-face-src.content; >
<!-- end of SVG.font-face-src.element -->]]>

<!ENTITY % SVG.font-face-src.attlist "INCLUDE" >
<![%SVG.font-face-src.attlist;[
<!ATTLIST %SVG.font-face-src.qname;
    %SVG.Core.attrib;
>
<!-- end of SVG.font-face-src.attlist -->]]>

<!-- font-face-uri: Font Face URI Element .............. -->

<!ENTITY % SVG.font-face-uri.element "INCLUDE" >
<![%SVG.font-face-uri.element;[
<!ENTITY % SVG.font-face-uri.content
    "( %SVG.font-face-format.qname; )*"
>
<!ELEMENT %SVG.font-face-uri.qname; %SVG.font-face-uri.content; >
<!-- end of SVG.font-face-uri.element -->]]>

<!ENTITY % SVG.font-face-uri.attlist "INCLUDE" >
<![%SVG.font-face-uri.attlist;[
<!ATTLIST %SVG.font-face-uri.qname;
    %SVG.Core.attrib;
    %SVG.XLinkRequired.attrib;
>
<!-- end of SVG.font-face-uri.attlist -->]]>

<!-- font-face-format: Font Face Format Element ........ -->

<!ENTITY % SVG.font-face-format.element "INCLUDE" >
<![%SVG.font-face-format.element;[
<!ENTITY % SVG.font-face-format.content "EMPTY" >
<!ELEMENT %SVG.font-face-format.qname; %SVG.font-face-format.content; >
<!-- end of SVG.font-face-format.element -->]]>

<!ENTITY % SVG.font-face-format.attlist "INCLUDE" >
<![%SVG.font-face-format.attlist;[
<!ATTLIST %SVG.font-face-format.qname;
    %SVG.Core.attrib;
    string CDATA #IMPLIED
>
<!-- end of SVG.font-face-format.attlist -->]]>

<!-- font-face-name: Font Face Name Element ............ -->

<!ENTITY % SVG.font-face-name.element "INCLUDE" >
<![%SVG.font-face-name.element;[
<!ENTITY % SVG.font-face-name.content "EMPTY" >
<!ELEMENT %SVG.font-face-name.qname; %SVG.font-face-name.content; >
<!-- end of SVG.font-face-name.element -->]]>

<!ENTITY % SVG.font-face-name.attlist "INCLUDE" >
<![%SVG.font-face-name.attlist;[
<!ATTLIST %SVG.font-face-name.qname;
    %SVG.Core.attrib;
    name CDATA #IMPLIED
>
<!-- end of SVG.font-face-name.attlist -->]]>

<!-- definition-src: Definition Source Element ......... -->

<!ENTITY % SVG.definition-src.element "INCLUDE" >
<![%SVG.definition-src.element;[
<!ENTITY % SVG.definition-src.content "EMPTY" >
<!ELEMENT %SVG.definition-src.qname; %SVG.definition-src.content; >
<!-- end of SVG.definition-src.element -->]]>

<!ENTITY % SVG.definition-src.attlist "INCLUDE" >
<![%SVG.definition-src.attlist;[
<!ATTLIST %SVG.definition-src.qname;
    %SVG.Core.attrib;
    %SVG.XLinkRequired.attrib;
>
<!-- end of SVG.definition-src.attlist -->]]>

<!-- end of svg-font.mod -->
]]>

<!-- Extensibility Module ........................................ -->
<!ENTITY % svg-extensibility.module "INCLUDE" >
<![%svg-extensibility.module;[
<!ENTITY % svg-extensibility.mod
    PUBLIC "-//W3C//ELEMENTS SVG 1.1 Extensibility//EN"
           "svg-extensibility.mod" >
<!-- ....................................................................... -->
<!-- SVG 1.1 Extensibility Module .......................................... -->
<!-- file: svg-extensibility.mod

     This is SVG, a language for describing two-dimensional graphics in XML.
     Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: svg-extensibility.mod,v 1.3 2002/04/29 11:23:24 dean Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

        PUBLIC "-//W3C//ELEMENTS SVG 1.1 Extensibility//EN"
        SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-extensibility.mod"

     ....................................................................... -->

<!-- Extensibility

        foreignObject

     This module declares markup to provide support for extensibility.
-->

<!-- Qualified Names (Default) ......................... -->

<!ENTITY % SVG.foreignObject.qname "foreignObject" >

<!-- Attribute Collections (Default) ................... -->

<!ENTITY % SVG.Core.attrib "" >
<!ENTITY % SVG.Conditional.attrib "" >
<!ENTITY % SVG.Style.attrib "" >
<!ENTITY % SVG.Viewport.attrib "" >
<!ENTITY % SVG.Text.attrib "" >
<!ENTITY % SVG.TextContent.attrib "" >
<!ENTITY % SVG.Font.attrib "" >
<!ENTITY % SVG.Paint.attrib "" >
<!ENTITY % SVG.Color.attrib "" >
<!ENTITY % SVG.Opacity.attrib "" >
<!ENTITY % SVG.Graphics.attrib "" >
<!ENTITY % SVG.Marker.attrib "" >
<!ENTITY % SVG.Gradient.attrib "" >
<!ENTITY % SVG.Clip.attrib "" >
<!ENTITY % SVG.Mask.attrib "" >
<!ENTITY % SVG.Filter.attrib "" >
<!ENTITY % SVG.FilterColor.attrib "" >
<!ENTITY % SVG.GraphicalEvents.attrib "" >
<!ENTITY % SVG.Cursor.attrib "" >
<!ENTITY % SVG.External.attrib "" >

<!-- SVG.Extensibility.class ........................... -->

<!ENTITY % SVG.Extensibility.extra.class "" >

<!ENTITY % SVG.Extensibility.class
    "| %SVG.foreignObject.qname; %SVG.Extensibility.extra.class;"
>

<!-- SVG.Presentation.attrib ........................... -->

<!ENTITY % SVG.Presentation.extra.attrib "" >

<!ENTITY % SVG.Presentation.attrib
    "%SVG.Container.attrib;
     %SVG.Viewport.attrib;
     %SVG.Text.attrib;
     %SVG.TextContent.attrib;
     %SVG.Font.attrib;
     %SVG.Paint.attrib;
     %SVG.Color.attrib;
     %SVG.Opacity.attrib;
     %SVG.Graphics.attrib;
     %SVG.Marker.attrib;
     %SVG.Profile.attrib;
     %SVG.Gradient.attrib;
     %SVG.Clip.attrib;
     %SVG.Mask.attrib;
     %SVG.Filter.attrib;
     %SVG.FilterColor.attrib;
     %SVG.Cursor.attrib;
     flood-color %SVGColor.datatype; #IMPLIED
     flood-opacity %OpacityValue.datatype; #IMPLIED
     lighting-color %SVGColor.datatype; #IMPLIED
     %SVG.Presentation.extra.attrib;"
>

<!-- foreignObject: Foreign Object Element ............. -->

<!ENTITY % SVG.foreignObject.element "INCLUDE" >
<![%SVG.foreignObject.element;[
<!ENTITY % SVG.foreignObject.content "( #PCDATA )" >
<!ELEMENT %SVG.foreignObject.qname; %SVG.foreignObject.content; >
<!-- end of SVG.foreignObject.element -->]]>

<!ENTITY % SVG.foreignObject.attlist "INCLUDE" >
<![%SVG.foreignObject.attlist;[
<!ATTLIST %SVG.foreignObject.qname;
    %SVG.Core.attrib;
    %SVG.Conditional.attrib;
    %SVG.Style.attrib;
    %SVG.Presentation.attrib;
    %SVG.GraphicalEvents.attrib;
    %SVG.External.attrib;
    x %Coordinate.datatype; #IMPLIED
    y %Coordinate.datatype; #IMPLIED
    width %Length.datatype; #REQUIRED
    height %Length.datatype; #REQUIRED
    transform %TransformList.datatype; #IMPLIED
>
<!-- end of SVG.foreignObject.attlist -->]]>

<!-- end of svg-extensibility.mod -->
]]>

<!-- end of SVG 1.1 DTD .................................................... -->
<!-- ....................................................................... -->

]]>

<!-- Instantiate XHTML DTD  ...................................... -->
<![%XHTML.module;[
<!ENTITY % XHTML.dtd.decl
    'PUBLIC "%XHTML.dtd.fpi;"
            "%XHTML.dtd.sysid;"'
>
<!ENTITY % XHTML.dtd %XHTML.dtd.decl; >
<!-- ....................................................................... -->
<!-- XHTML 1.1 DTD  ........................................................ -->
<!-- file: xhtml11.dtd
-->

<!-- XHTML 1.1 DTD

     This is XHTML, a reformulation of HTML as a modular XML application.

     The Extensible HyperText Markup Language (XHTML)
     Copyright 1998-2001 World Wide Web Consortium
        (Massachusetts Institute of Technology, Institut National de
         Recherche en Informatique et en Automatique, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute the XHTML DTD and its 
     accompanying documentation for any purpose and without fee is hereby 
     granted in perpetuity, provided that the above copyright notice and 
     this paragraph appear in all copies.  The copyright holders make no 
     representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Author:     Murray M. Altheim <altheim@eng.sun.com>
        Revision:   $Id: xhtml11.dtd,v 1.21 2001/05/29 16:37:01 ahby Exp $

-->
<!-- This is the driver file for version 1.1 of the XHTML DTD.

     Please use this formal public identifier to identify it:

         "-//W3C//DTD XHTML 1.1//EN"
-->
<!ENTITY % XHTML.version  "-//W3C//DTD XHTML 1.1//EN" >

<!-- Use this URI to identify the default namespace:

         "http://www.w3.org/1999/xhtml"

     See the Qualified Names module for information
     on the use of namespace prefixes in the DTD.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefix "" >

<!-- Reserved for use with the XLink namespace:
-->
<!ENTITY % XLINK.xmlns "" >
<!ENTITY % XLINK.xmlns.attrib "" >

<!-- For example, if you are using XHTML 1.1 directly, use the FPI
     in the DOCTYPE declaration, with the xmlns attribute on the
     document element to identify the default namespace:

       <?xml version="1.0"?>
       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
       <html xmlns="http://www.w3.org/1999/xhtml"
             xml:lang="en">
       ...
       </html>

     Revisions:
     (none)
-->

<!-- reserved for future use with document profiles -->
<!ENTITY % XHTML.profile  "" >

<!-- Bidirectional Text features
     This feature-test entity is used to declare elements
     and attributes used for bidirectional text support.
-->
<!ENTITY % XHTML.bidi  "INCLUDE" >

<?doc type="doctype" role="title" { XHTML 1.1 } ?>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Pre-Framework Redeclaration placeholder  .................... -->
<!-- this serves as a location to insert markup declarations
     into the DTD prior to the framework declarations.
-->
<!ENTITY % xhtml-prefw-redecl.module "IGNORE" >
<![%xhtml-prefw-redecl.module;[
%xhtml-prefw-redecl.mod;
<!-- end of xhtml-prefw-redecl.module -->]]>

<!ENTITY % xhtml-events.module "INCLUDE" >

<!-- Inline Style Module  ........................................ -->
<!ENTITY % xhtml-inlstyle.module "INCLUDE" >
<![%xhtml-inlstyle.module;[
<!ENTITY % xhtml-inlstyle.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Inline Style Module  ........................................... -->
<!-- file: xhtml-inlstyle-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-inlstyle-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Inline Style 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Inline Style

     This module declares the 'style' attribute, used to support inline
     style markup. This module must be instantiated prior to the XHTML
     Common Attributes module in order to be included in %Core.attrib;.
-->

<!ENTITY % style.attrib
     "style        CDATA                    #IMPLIED"
>


<!ENTITY % Core.extra.attrib
     "%style.attrib;"
>

<!-- end of xhtml-inlstyle-1.mod -->
]]>

<!-- declare Document Model module instantiated in framework
-->
<!ENTITY % xhtml-model.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
            "xhtml11-model-1.mod" >

<!-- Modular Framework Module (required) ......................... -->
<!ENTITY % xhtml-framework.module "INCLUDE" >
<![%xhtml-framework.module;[
<!ENTITY % xhtml-framework.mod
     PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Modular Framework Module  ...................................... -->
<!-- file: xhtml-framework-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-framework-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Modular Framework

     This required module instantiates the modules needed
     to support the XHTML modularization model, including:

        +  notations
        +  datatypes
        +  namespace-qualified names
        +  common attributes
        +  document model
        +  character entities

     The Intrinsic Events module is ignored by default but
     occurs in this module because it must be instantiated
     prior to Attributes but after Datatypes.
-->

<!ENTITY % xhtml-arch.module "IGNORE" >
<![%xhtml-arch.module;[
<!ENTITY % xhtml-arch.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Base Architecture 1.0//EN"
            "xhtml-arch-1.mod" >
%xhtml-arch.mod;]]>

<!ENTITY % xhtml-notations.module "INCLUDE" >
<![%xhtml-notations.module;[
<!ENTITY % xhtml-notations.mod
     PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN"
            "xhtml-notations-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Notations Module  .............................................. -->
<!-- file: xhtml-notations-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-notations-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-notations-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Notations

     defines the following notations, many of these imported from
     other specifications and standards. When an existing FPI is
     known, it is incorporated here.
-->

<!-- XML Notations ..................................... -->
<!-- SGML and XML Notations ............................ -->

<!-- W3C XML 1.0 Recommendation -->
<!NOTATION w3c-xml
     PUBLIC "ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN" >

<!-- XML 1.0 CDATA -->
<!NOTATION cdata
     PUBLIC "-//W3C//NOTATION XML 1.0: CDATA//EN" >

<!-- SGML Formal Public Identifiers -->
<!NOTATION fpi
     PUBLIC "ISO 8879:1986//NOTATION Formal Public Identifier//EN" >

<!-- XHTML Notations ................................... -->

<!-- Length defined for cellpadding/cellspacing -->

<!-- nn for pixels or nn% for percentage length -->
<!NOTATION length
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Length//EN" >

<!-- space-separated list of link types -->
<!NOTATION linkTypes
    PUBLIC "-//W3C//NOTATION XHTML Datatype: LinkTypes//EN" >

<!-- single or comma-separated list of media descriptors -->
<!NOTATION mediaDesc
    PUBLIC "-//W3C//NOTATION XHTML Datatype: MediaDesc//EN" >

<!-- pixel, percentage, or relative -->
<!NOTATION multiLength
    PUBLIC "-//W3C//NOTATION XHTML Datatype: MultiLength//EN" >

<!-- one or more digits (NUMBER) -->
<!NOTATION number
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Number//EN" >

<!-- integer representing length in pixels -->
<!NOTATION pixels
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Pixels//EN" >

<!-- script expression -->
<!NOTATION script
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Script//EN" >

<!-- textual content -->
<!NOTATION text
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Text//EN" >

<!-- Imported Notations ................................ -->

<!-- a single character from [ISO10646] -->
<!NOTATION character
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Character//EN" >

<!-- a character encoding, as per [RFC2045] -->
<!NOTATION charset
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Charset//EN" >

<!-- a space separated list of character encodings, as per [RFC2045] -->
<!NOTATION charsets
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Charsets//EN" >

<!-- media type, as per [RFC2045] -->
<!NOTATION contentType
    PUBLIC "-//W3C//NOTATION XHTML Datatype: ContentType//EN" >

<!-- comma-separated list of media types, as per [RFC2045] -->
<!NOTATION contentTypes
    PUBLIC "-//W3C//NOTATION XHTML Datatype: ContentTypes//EN" >

<!-- date and time information. ISO date format -->
<!NOTATION datetime
    PUBLIC "-//W3C//NOTATION XHTML Datatype: Datetime//EN" >

<!-- a language code, as per [RFC3066] -->
<!NOTATION languageCode
    PUBLIC "-//W3C//NOTATION XHTML Datatype: LanguageCode//EN" >

<!-- a Uniform Resource Identifier, see [URI] -->
<!NOTATION uri
    PUBLIC "-//W3C//NOTATION XHTML Datatype: URI//EN" >

<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
<!NOTATION uris
    PUBLIC "-//W3C//NOTATION XHTML Datatype: URIs//EN" >

<!-- end of xhtml-notations-1.mod -->
]]>

<!ENTITY % xhtml-datatypes.module "INCLUDE" >
<![%xhtml-datatypes.module;[
<!ENTITY % xhtml-datatypes.mod
     PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN"
            "xhtml-datatypes-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Datatypes Module  .............................................. -->
<!-- file: xhtml-datatypes-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-datatypes-1.mod,v 4.1 2001/04/06 19:23:32 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-datatypes-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Datatypes

     defines containers for the following datatypes, many of
     these imported from other specifications and standards.
-->

<!-- Length defined for cellpadding/cellspacing -->

<!-- nn for pixels or nn% for percentage length -->
<!ENTITY % Length.datatype "CDATA" >

<!-- space-separated list of link types -->
<!ENTITY % LinkTypes.datatype "NMTOKENS" >

<!-- single or comma-separated list of media descriptors -->
<!ENTITY % MediaDesc.datatype "CDATA" >

<!-- pixel, percentage, or relative -->
<!ENTITY % MultiLength.datatype "CDATA" >

<!-- one or more digits (NUMBER) -->
<!ENTITY % Number.datatype "CDATA" >

<!-- integer representing length in pixels -->
<!ENTITY % Pixels.datatype "CDATA" >

<!-- script expression -->
<!ENTITY % Script.datatype "CDATA" >

<!-- textual content -->
<!ENTITY % Text.datatype "CDATA" >

<!-- Imported Datatypes ................................ -->

<!-- a single character from [ISO10646] -->
<!ENTITY % Character.datatype "CDATA" >

<!-- a character encoding, as per [RFC2045] -->
<!ENTITY % Charset.datatype "CDATA" >

<!-- a space separated list of character encodings, as per [RFC2045] -->
<!ENTITY % Charsets.datatype "CDATA" >

<!-- Color specification using color name or sRGB (#RRGGBB) values -->
<!ENTITY % Color.datatype "CDATA" >

<!-- media type, as per [RFC2045] -->
<!ENTITY % ContentType.datatype "CDATA" >

<!-- comma-separated list of media types, as per [RFC2045] -->
<!ENTITY % ContentTypes.datatype "CDATA" >

<!-- date and time information. ISO date format -->
<!ENTITY % Datetime.datatype "CDATA" >

<!-- formal public identifier, as per [ISO8879] -->
<!ENTITY % FPI.datatype "CDATA" >

<!-- a language code, as per [RFC3066] -->
<!ENTITY % LanguageCode.datatype "NMTOKEN" >

<!-- a Uniform Resource Identifier, see [URI] -->
<!ENTITY % URI.datatype "CDATA" >

<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
<!ENTITY % URIs.datatype "CDATA" >

<!-- end of xhtml-datatypes-1.mod -->
]]>

<!-- placeholder for XLink support module -->
<!ENTITY % xhtml-xlink.mod "" >


<!ENTITY % xhtml-qname.module "INCLUDE" >
<![%xhtml-qname.module;[
<!ENTITY % xhtml-qname.mod
     PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN"
            "xhtml-qname-1.mod" >
<!-- ....................................................................... -->
<!-- XHTML Qname Module  ................................................... -->
<!-- file: xhtml-qname-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-qname-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-qname-1.mod"

     Revisions:
#2000-10-22: added qname declarations for ruby elements
     ....................................................................... -->

<!-- XHTML Qname (Qualified Name) Module

     This module is contained in two parts, labeled Section 'A' and 'B':

       Section A declares parameter entities to support namespace-
       qualified names, namespace declarations, and name prefixing
       for XHTML and extensions.

       Section B declares parameter entities used to provide
       namespace-qualified names for all XHTML element types:

         %applet.qname;   the xmlns-qualified name for <applet>
         %base.qname;     the xmlns-qualified name for <base>
         ...

     XHTML extensions would create a module similar to this one.
     Included in the XHTML distribution is a template module
     ('template-qname-1.mod') suitable for this purpose.
-->

<!-- Section A: XHTML XML Namespace Framework :::::::::::::::::::: -->

<!-- 1. Declare a %XHTML.prefixed; conditional section keyword, used
        to activate namespace prefixing. The default value should
        inherit '%NS.prefixed;' from the DTD driver, so that unless
        overridden, the default behaviour follows the overall DTD
        prefixing scheme.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefixed "%NS.prefixed;" >

<!-- 2. Declare a parameter entity (eg., %XHTML.xmlns;) containing
        the URI reference used to identify the XHTML namespace:
-->
<!ENTITY % XHTML.xmlns  "http://www.w3.org/1999/xhtml" >

<!-- 3. Declare parameter entities (eg., %XHTML.prefix;) containing
        the default namespace prefix string(s) to use when prefixing
        is enabled. This may be overridden in the DTD driver or the
        internal subset of an document instance. If no default prefix
        is desired, this may be declared as an empty string.

     NOTE: As specified in [XMLNAMES], the namespace prefix serves
     as a proxy for the URI reference, and is not in itself significant.
-->
<!ENTITY % XHTML.prefix  "" >

<!-- 4. Declare parameter entities (eg., %XHTML.pfx;) containing the
        colonized prefix(es) (eg., '%XHTML.prefix;:') used when
        prefixing is active, an empty string when it is not.
-->
<![%XHTML.prefixed;[
<!ENTITY % XHTML.pfx  "%XHTML.prefix;:" >
]]>
<!ENTITY % XHTML.pfx  "" >

<!-- declare qualified name extensions here ............ -->
<!ENTITY % xhtml-qname-extra.mod "" >
<!-- ....................................................................... -->
<!-- MathML Qualified Names Module  ........................................ -->
<!-- file: mathml2-qname-1.mod

     This is the Mathematical Markup Language (MathML) 2.0, an XML 
     application for describing mathematical notation and capturing 
     both its structure and content.

     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: mathml2-qname-1.mod,v 1.1 2002/03/12 18:39:45 davidc Exp $ 

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
       SYSTEM "mathml2-qname-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- MathML Qualified Names

     This module is contained in two parts, labeled Section 'A' and 'B':

       Section A declares parameter entities to support namespace-
       qualified names, namespace declarations, and name prefixing 
       for MathML.
    
       Section B declares parameter entities used to provide
       namespace-qualified names for all MathML element types.

     This module is derived from the XHTML Qualified Names Template module.
-->

<!-- Section A: XHTML XML Namespace Framework :::::::::::::::::::: -->

<!ENTITY % NS.prefixed     "IGNORE" >
<!ENTITY % MATHML.prefixed "%NS.prefixed;" >

<!-- XLink ............... -->

<!ENTITY % XLINK.xmlns "http://www.w3.org/1999/xlink" >
<!ENTITY % XLINK.xmlns.attrib
     "xmlns:xlink  CDATA           #FIXED '%XLINK.xmlns;'"
>

<!-- MathML .............. -->

<!ENTITY % MATHML.xmlns    "http://www.w3.org/1998/Math/MathML" >
<!ENTITY % MATHML.prefix   "m" >
<![%MATHML.prefixed;[
<!ENTITY % MATHML.xmlns.extra.attrib  "" >
]]>
<!ENTITY % MATHML.xmlns.extra.attrib 
     "%XLINK.xmlns.attrib;" >

<![%MATHML.prefixed;[
<!ENTITY % MATHML.pfx  "%MATHML.prefix;:" >
<!ENTITY % MATHML.xmlns.attrib
     "xmlns:%MATHML.prefix;  CDATA   #FIXED '%MATHML.xmlns;'
      %MATHML.xmlns.extra.attrib;"
>
]]>
<!ENTITY % MATHML.pfx  "" >
<!ENTITY % MATHML.xmlns.attrib
     "xmlns        CDATA           #FIXED '%MATHML.xmlns;'
      %MATHML.xmlns.extra.attrib;"
>

<![%NS.prefixed;[
<!ENTITY % XHTML.xmlns.extra.attrib 
     "%MATHML.xmlns.attrib;" >
]]>
<!ENTITY % XHTML.xmlns.extra.attrib
     "%XLINK.xmlns.attrib;"
>

<!-- Section B: MathML Qualified Names ::::::::::::::::::::::::::::: -->

<!-- 9. This section declares parameter entities used to provide
        namespace-qualified names for all MathML element types.
-->

<!ENTITY % abs.qname            "%MATHML.pfx;abs" >
<!ENTITY % and.qname            "%MATHML.pfx;and" >
<!ENTITY % annotation-xml.qname "%MATHML.pfx;annotation-xml" >
<!ENTITY % annotation.qname     "%MATHML.pfx;annotation" >
<!ENTITY % apply.qname          "%MATHML.pfx;apply" >
<!ENTITY % approx.qname         "%MATHML.pfx;approx" >
<!ENTITY % arccos.qname         "%MATHML.pfx;arccos" >
<!ENTITY % arccosh.qname        "%MATHML.pfx;arccosh" >
<!ENTITY % arccosh.qname        "%MATHML.pfx;arccosh" >
<!ENTITY % arccot.qname         "%MATHML.pfx;arccot" >
<!ENTITY % arccoth.qname        "%MATHML.pfx;arccoth" >
<!ENTITY % arccsc.qname         "%MATHML.pfx;arccsc" >
<!ENTITY % arccsch.qname        "%MATHML.pfx;arccsch" >
<!ENTITY % arcsec.qname         "%MATHML.pfx;arcsec" >
<!ENTITY % arcsech.qname        "%MATHML.pfx;arcsech" >
<!ENTITY % arcsin.qname         "%MATHML.pfx;arcsin" >
<!ENTITY % arcsinh.qname        "%MATHML.pfx;arcsinh" >
<!ENTITY % arctan.qname         "%MATHML.pfx;arctan" >
<!ENTITY % arctanh.qname        "%MATHML.pfx;arctanh" >
<!ENTITY % arg.qname            "%MATHML.pfx;arg" >
<!ENTITY % bvar.qname           "%MATHML.pfx;bvar" >
<!ENTITY % card.qname           "%MATHML.pfx;card" >
<!ENTITY % cartesianproduct.qname "%MATHML.pfx;cartesianproduct" >
<!ENTITY % ceiling.qname         "%MATHML.pfx;ceiling" >
<!ENTITY % ci.qname             "%MATHML.pfx;ci" >
<!ENTITY % cn.qname             "%MATHML.pfx;cn" >
<!ENTITY % codomain.qname       "%MATHML.pfx;codomain" >
<!ENTITY % complexes.qname      "%MATHML.pfx;complexes" >
<!ENTITY % compose.qname        "%MATHML.pfx;compose" >
<!ENTITY % condition.qname      "%MATHML.pfx;condition" >
<!ENTITY % conjugate.qname      "%MATHML.pfx;conjugate" >
<!ENTITY % cos.qname            "%MATHML.pfx;cos" >
<!ENTITY % cosh.qname           "%MATHML.pfx;cosh" >
<!ENTITY % cot.qname            "%MATHML.pfx;cot" >
<!ENTITY % coth.qname           "%MATHML.pfx;coth" >
<!ENTITY % csc.qname            "%MATHML.pfx;csc" >
<!ENTITY % csch.qname           "%MATHML.pfx;csch" >
<!ENTITY % csymbol.qname        "%MATHML.pfx;csymbol" >
<!ENTITY % curl.qname           "%MATHML.pfx;curl" >
<!ENTITY % declare.qname        "%MATHML.pfx;declare" >
<!ENTITY % degree.qname         "%MATHML.pfx;degree" >
<!ENTITY % determinant.qname    "%MATHML.pfx;determinant" >
<!ENTITY % diff.qname           "%MATHML.pfx;diff" >
<!ENTITY % divergence.qname     "%MATHML.pfx;divergence" >
<!ENTITY % divide.qname         "%MATHML.pfx;divide" >
<!ENTITY % domain.qname         "%MATHML.pfx;domain" >
<!ENTITY % domainofapplication.qname "%MATHML.pfx;domainofapplication" >
<!ENTITY % emptyset.qname       "%MATHML.pfx;emptyset" >
<!ENTITY % eq.qname             "%MATHML.pfx;eq" >
<!ENTITY % equivalent.qname     "%MATHML.pfx;equivalent" >
<!ENTITY % eulergamma.qname     "%MATHML.pfx;eulergamma" >
<!ENTITY % exists.qname         "%MATHML.pfx;exists" >
<!ENTITY % exp.qname            "%MATHML.pfx;exp" >
<!ENTITY % exponentiale.qname   "%MATHML.pfx;exponentiale" >
<!ENTITY % factorial.qname      "%MATHML.pfx;factorial" >
<!ENTITY % factorof.qname       "%MATHML.pfx;factorof" >
<!ENTITY % false.qname          "%MATHML.pfx;false" >
<!ENTITY % floor.qname          "%MATHML.pfx;floor" >
<!ENTITY % fn.qname             "%MATHML.pfx;fn" >
<!ENTITY % forall.qname         "%MATHML.pfx;forall" >
<!ENTITY % gcd.qname            "%MATHML.pfx;gcd" >
<!ENTITY % geq.qname            "%MATHML.pfx;geq" >
<!ENTITY % grad.qname           "%MATHML.pfx;grad" >
<!ENTITY % gt.qname             "%MATHML.pfx;gt" >
<!ENTITY % ident.qname          "%MATHML.pfx;ident" >
<!ENTITY % image.qname          "%MATHML.pfx;image" >
<!ENTITY % imaginary.qname      "%MATHML.pfx;imaginary" >
<!ENTITY % imaginaryi.qname     "%MATHML.pfx;imaginaryi" >
<!ENTITY % implies.qname        "%MATHML.pfx;implies" >
<!ENTITY % in.qname             "%MATHML.pfx;in" >
<!ENTITY % infinity.qname       "%MATHML.pfx;infinity" >
<!ENTITY % int.qname            "%MATHML.pfx;int" >
<!ENTITY % integers.qname       "%MATHML.pfx;integers" >
<!ENTITY % intersect.qname      "%MATHML.pfx;intersect" >
<!ENTITY % interval.qname       "%MATHML.pfx;interval" >
<!ENTITY % inverse.qname        "%MATHML.pfx;inverse" >
<!ENTITY % lambda.qname         "%MATHML.pfx;lambda" >
<!ENTITY % laplacian.qname      "%MATHML.pfx;laplacian" >
<!ENTITY % lcm.qname            "%MATHML.pfx;lcm" >
<!ENTITY % leq.qname            "%MATHML.pfx;leq" >
<!ENTITY % limit.qname          "%MATHML.pfx;limit" >
<!ENTITY % list.qname           "%MATHML.pfx;list" >
<!ENTITY % ln.qname             "%MATHML.pfx;ln" >
<!ENTITY % log.qname            "%MATHML.pfx;log" >
<!ENTITY % logbase.qname        "%MATHML.pfx;logbase" >
<!ENTITY % lowlimit.qname       "%MATHML.pfx;lowlimit" >
<!ENTITY % lt.qname             "%MATHML.pfx;lt" >
<!ENTITY % maction.qname        "%MATHML.pfx;maction" >
<!ENTITY % maligngroup.qname    "%MATHML.pfx;maligngroup" >
<!ENTITY % malignmark.qname     "%MATHML.pfx;malignmark" >
<!ENTITY % math.qname           "%MATHML.pfx;math" >
<!ENTITY % matrix.qname         "%MATHML.pfx;matrix" >
<!ENTITY % matrixrow.qname      "%MATHML.pfx;matrixrow" >
<!ENTITY % max.qname            "%MATHML.pfx;max" >
<!ENTITY % mean.qname           "%MATHML.pfx;mean" >
<!ENTITY % median.qname         "%MATHML.pfx;median" >
<!ENTITY % menclose.qname       "%MATHML.pfx;menclose" >
<!ENTITY % merror.qname         "%MATHML.pfx;merror" >
<!ENTITY % mfenced.qname        "%MATHML.pfx;mfenced" >
<!ENTITY % mfrac.qname          "%MATHML.pfx;mfrac" >
<!ENTITY % mglyph.qname         "%MATHML.pfx;mglyph" >
<!ENTITY % mi.qname             "%MATHML.pfx;mi" >
<!ENTITY % min.qname            "%MATHML.pfx;min" >
<!ENTITY % minus.qname          "%MATHML.pfx;minus" >
<!ENTITY % mlabeledtr.qname     "%MATHML.pfx;mlabeledtr" >
<!ENTITY % mmultiscripts.qname  "%MATHML.pfx;mmultiscripts" >
<!ENTITY % mn.qname             "%MATHML.pfx;mn" >
<!ENTITY % mo.qname             "%MATHML.pfx;mo" >
<!ENTITY % mode.qname           "%MATHML.pfx;mode" >
<!ENTITY % moment.qname         "%MATHML.pfx;moment" >
<!ENTITY % momentabout.qname    "%MATHML.pfx;momentabout" >
<!ENTITY % mover.qname          "%MATHML.pfx;mover" >
<!ENTITY % mpadded.qname        "%MATHML.pfx;mpadded" >
<!ENTITY % mphantom.qname       "%MATHML.pfx;mphantom" >
<!ENTITY % mprescripts.qname    "%MATHML.pfx;mprescripts" >
<!ENTITY % mroot.qname          "%MATHML.pfx;mroot" >
<!ENTITY % mrow.qname           "%MATHML.pfx;mrow" >
<!ENTITY % ms.qname             "%MATHML.pfx;ms" >
<!ENTITY % mspace.qname         "%MATHML.pfx;mspace" >
<!ENTITY % msqrt.qname          "%MATHML.pfx;msqrt" >
<!ENTITY % mstyle.qname         "%MATHML.pfx;mstyle" >
<!ENTITY % msub.qname           "%MATHML.pfx;msub" >
<!ENTITY % msubsup.qname        "%MATHML.pfx;msubsup" >
<!ENTITY % msup.qname           "%MATHML.pfx;msup" >
<!ENTITY % mtable.qname         "%MATHML.pfx;mtable" >
<!ENTITY % mtd.qname            "%MATHML.pfx;mtd" >
<!ENTITY % mtext.qname          "%MATHML.pfx;mtext" >
<!ENTITY % mtr.qname            "%MATHML.pfx;mtr" >
<!ENTITY % munder.qname         "%MATHML.pfx;munder" >
<!ENTITY % munderover.qname     "%MATHML.pfx;munderover" >
<!ENTITY % naturalnumbers.qname "%MATHML.pfx;naturalnumbers" >
<!ENTITY % neq.qname            "%MATHML.pfx;neq" >
<!ENTITY % none.qname           "%MATHML.pfx;none" >
<!ENTITY % not.qname            "%MATHML.pfx;not" >
<!ENTITY % notanumber.qname     "%MATHML.pfx;notanumber" >
<!ENTITY % notin.qname          "%MATHML.pfx;notin" >
<!ENTITY % notprsubset.qname    "%MATHML.pfx;notprsubset" >
<!ENTITY % notsubset.qname      "%MATHML.pfx;notsubset" >
<!ENTITY % or.qname             "%MATHML.pfx;or" >
<!ENTITY % otherwise.qname      "%MATHML.pfx;otherwise" >
<!ENTITY % outerproduct.qname   "%MATHML.pfx;outerproduct" >
<!ENTITY % partialdiff.qname    "%MATHML.pfx;partialdiff" >
<!ENTITY % pi.qname             "%MATHML.pfx;pi" >
<!ENTITY % piece.qname          "%MATHML.pfx;piece" >
<!ENTITY % piecewise.qname      "%MATHML.pfx;piecewise" >
<!ENTITY % plus.qname           "%MATHML.pfx;plus" >
<!ENTITY % power.qname          "%MATHML.pfx;power" >
<!ENTITY % primes.qname         "%MATHML.pfx;primes" >
<!ENTITY % product.qname        "%MATHML.pfx;product" >
<!ENTITY % prsubset.qname       "%MATHML.pfx;prsubset" >
<!ENTITY % quotient.qname       "%MATHML.pfx;quotient" >
<!ENTITY % rationals.qname      "%MATHML.pfx;rationals" >
<!ENTITY % real.qname           "%MATHML.pfx;real" >
<!ENTITY % reals.qname          "%MATHML.pfx;reals" >
<!ENTITY % reln.qname           "%MATHML.pfx;reln" >
<!ENTITY % rem.qname            "%MATHML.pfx;rem" >
<!ENTITY % root.qname           "%MATHML.pfx;root" >
<!ENTITY % scalarproduct.qname  "%MATHML.pfx;scalarproduct" >
<!ENTITY % sdev.qname           "%MATHML.pfx;sdev" >
<!ENTITY % sec.qname            "%MATHML.pfx;sec" >
<!ENTITY % sech.qname           "%MATHML.pfx;sech" >
<!ENTITY % selector.qname       "%MATHML.pfx;selector" >
<!ENTITY % semantics.qname      "%MATHML.pfx;semantics" >
<!ENTITY % sep.qname            "%MATHML.pfx;sep" >
<!ENTITY % set.qname            "%MATHML.pfx;set" >
<!ENTITY % setdiff.qname        "%MATHML.pfx;setdiff" >
<!ENTITY % sin.qname            "%MATHML.pfx;sin" >
<!ENTITY % sinh.qname           "%MATHML.pfx;sinh" >
<!ENTITY % subset.qname         "%MATHML.pfx;subset" >
<!ENTITY % sum.qname            "%MATHML.pfx;sum" >
<!ENTITY % tan.qname            "%MATHML.pfx;tan" >
<!ENTITY % tanh.qname           "%MATHML.pfx;tanh" >
<!ENTITY % tendsto.qname        "%MATHML.pfx;tendsto" >
<!ENTITY % times.qname          "%MATHML.pfx;times" >
<!ENTITY % transpose.qname      "%MATHML.pfx;transpose" >
<!ENTITY % true.qname           "%MATHML.pfx;true" >
<!ENTITY % union.qname          "%MATHML.pfx;union" >
<!ENTITY % uplimit.qname        "%MATHML.pfx;uplimit" >
<!ENTITY % variance.qname       "%MATHML.pfx;variance" >
<!ENTITY % vector.qname         "%MATHML.pfx;vector" >
<!ENTITY % vectorproduct.qname  "%MATHML.pfx;vectorproduct" >
<!ENTITY % xor.qname            "%MATHML.pfx;xor" >


<!-- ignores subsequent instantiation of this module when
     used as external subset rather than module fragment.
     NOTE: Do not modify this parameter entity, otherwise
     a recursive parsing situation may result.
-->
<!ENTITY % mathml-qname.module "IGNORE" >

<!-- end of template-qname-1.mod -->


<!-- 5. The parameter entity %XHTML.xmlns.extra.attrib; may be
        redeclared to contain any non-XHTML namespace declaration
        attributes for namespaces embedded in XHTML. The default
        is an empty string.  XLink should be included here if used
        in the DTD.
-->
<!ENTITY % XHTML.xmlns.extra.attrib "" >

<!-- The remainder of Section A is only followed in XHTML, not extensions. -->

<!-- Declare a parameter entity %NS.decl.attrib; containing
     all XML Namespace declarations used in the DTD, plus the
     xmlns declaration for XHTML, its form dependent on whether
     prefixing is active.
-->
<![%XHTML.prefixed;[
<!ENTITY % NS.decl.attrib
     "xmlns:%XHTML.prefix;  %URI.datatype;   #FIXED '%XHTML.xmlns;'
      %XHTML.xmlns.extra.attrib;"
>
]]>
<!ENTITY % NS.decl.attrib
     "%XHTML.xmlns.extra.attrib;"
>

<!-- This is a placeholder for future XLink support.
-->
<!ENTITY % XLINK.xmlns.attrib "" >

<!-- Declare a parameter entity %NS.decl.attrib; containing all
     XML namespace declaration attributes used by XHTML, including
     a default xmlns attribute when prefixing is inactive.
-->
<![%XHTML.prefixed;[
<!ENTITY % XHTML.xmlns.attrib
     "%NS.decl.attrib;
      %XLINK.xmlns.attrib;"
>
]]>
<!ENTITY % XHTML.xmlns.attrib
     "xmlns        %URI.datatype;           #FIXED '%XHTML.xmlns;'
      %XLINK.xmlns.attrib;"
>

<!-- placeholder for qualified name redeclarations -->
<!ENTITY % xhtml-qname.redecl "" >


<!-- Section B: XHTML Qualified Names ::::::::::::::::::::::::::::: -->

<!-- 6. This section declares parameter entities used to provide
        namespace-qualified names for all XHTML element types.
-->

<!-- module:  xhtml-applet-1.mod -->
<!ENTITY % applet.qname  "%XHTML.pfx;applet" >

<!-- module:  xhtml-base-1.mod -->
<!ENTITY % base.qname    "%XHTML.pfx;base" >

<!-- module:  xhtml-bdo-1.mod -->
<!ENTITY % bdo.qname     "%XHTML.pfx;bdo" >

<!-- module:  xhtml-blkphras-1.mod -->
<!ENTITY % address.qname "%XHTML.pfx;address" >
<!ENTITY % blockquote.qname  "%XHTML.pfx;blockquote" >
<!ENTITY % pre.qname     "%XHTML.pfx;pre" >
<!ENTITY % h1.qname      "%XHTML.pfx;h1" >
<!ENTITY % h2.qname      "%XHTML.pfx;h2" >
<!ENTITY % h3.qname      "%XHTML.pfx;h3" >
<!ENTITY % h4.qname      "%XHTML.pfx;h4" >
<!ENTITY % h5.qname      "%XHTML.pfx;h5" >
<!ENTITY % h6.qname      "%XHTML.pfx;h6" >

<!-- module:  xhtml-blkpres-1.mod -->
<!ENTITY % hr.qname      "%XHTML.pfx;hr" >

<!-- module:  xhtml-blkstruct-1.mod -->
<!ENTITY % div.qname     "%XHTML.pfx;div" >
<!ENTITY % p.qname       "%XHTML.pfx;p" >

<!-- module:  xhtml-edit-1.mod -->
<!ENTITY % ins.qname     "%XHTML.pfx;ins" >
<!ENTITY % del.qname     "%XHTML.pfx;del" >

<!-- module:  xhtml-form-1.mod -->
<!ENTITY % form.qname    "%XHTML.pfx;form" >
<!ENTITY % label.qname   "%XHTML.pfx;label" >
<!ENTITY % input.qname   "%XHTML.pfx;input" >
<!ENTITY % select.qname  "%XHTML.pfx;select" >
<!ENTITY % optgroup.qname  "%XHTML.pfx;optgroup" >
<!ENTITY % option.qname  "%XHTML.pfx;option" >
<!ENTITY % textarea.qname  "%XHTML.pfx;textarea" >
<!ENTITY % fieldset.qname  "%XHTML.pfx;fieldset" >
<!ENTITY % legend.qname  "%XHTML.pfx;legend" >
<!ENTITY % button.qname  "%XHTML.pfx;button" >

<!-- module:  xhtml-hypertext-1.mod -->
<!ENTITY % a.qname       "%XHTML.pfx;a" >

<!-- module:  xhtml-image-1.mod -->
<!ENTITY % img.qname     "%XHTML.pfx;img" >

<!-- module:  xhtml-inlphras-1.mod -->
<!ENTITY % abbr.qname    "%XHTML.pfx;abbr" >
<!ENTITY % acronym.qname "%XHTML.pfx;acronym" >
<!ENTITY % cite.qname    "%XHTML.pfx;cite" >
<!ENTITY % code.qname    "%XHTML.pfx;code" >
<!ENTITY % dfn.qname     "%XHTML.pfx;dfn" >
<!ENTITY % em.qname      "%XHTML.pfx;em" >
<!ENTITY % kbd.qname     "%XHTML.pfx;kbd" >
<!ENTITY % q.qname       "%XHTML.pfx;q" >
<!ENTITY % samp.qname    "%XHTML.pfx;samp" >
<!ENTITY % strong.qname  "%XHTML.pfx;strong" >
<!ENTITY % var.qname     "%XHTML.pfx;var" >

<!-- module:  xhtml-inlpres-1.mod -->
<!ENTITY % b.qname       "%XHTML.pfx;b" >
<!ENTITY % big.qname     "%XHTML.pfx;big" >
<!ENTITY % i.qname       "%XHTML.pfx;i" >
<!ENTITY % small.qname   "%XHTML.pfx;small" >
<!ENTITY % sub.qname     "%XHTML.pfx;sub" >
<!ENTITY % sup.qname     "%XHTML.pfx;sup" >
<!ENTITY % tt.qname      "%XHTML.pfx;tt" >

<!-- module:  xhtml-inlstruct-1.mod -->
<!ENTITY % br.qname      "%XHTML.pfx;br" >
<!ENTITY % span.qname    "%XHTML.pfx;span" >

<!-- module:  xhtml-ismap-1.mod (also csismap, ssismap) -->
<!ENTITY % map.qname     "%XHTML.pfx;map" >
<!ENTITY % area.qname    "%XHTML.pfx;area" >

<!-- module:  xhtml-link-1.mod -->
<!ENTITY % link.qname    "%XHTML.pfx;link" >

<!-- module:  xhtml-list-1.mod -->
<!ENTITY % dl.qname      "%XHTML.pfx;dl" >
<!ENTITY % dt.qname      "%XHTML.pfx;dt" >
<!ENTITY % dd.qname      "%XHTML.pfx;dd" >
<!ENTITY % ol.qname      "%XHTML.pfx;ol" >
<!ENTITY % ul.qname      "%XHTML.pfx;ul" >
<!ENTITY % li.qname      "%XHTML.pfx;li" >

<!-- module:  xhtml-meta-1.mod -->
<!ENTITY % meta.qname    "%XHTML.pfx;meta" >

<!-- module:  xhtml-param-1.mod -->
<!ENTITY % param.qname   "%XHTML.pfx;param" >

<!-- module:  xhtml-object-1.mod -->
<!ENTITY % object.qname  "%XHTML.pfx;object" >

<!-- module:  xhtml-script-1.mod -->
<!ENTITY % script.qname  "%XHTML.pfx;script" >
<!ENTITY % noscript.qname  "%XHTML.pfx;noscript" >

<!-- module:  xhtml-struct-1.mod -->
<!ENTITY % html.qname    "%XHTML.pfx;html" >
<!ENTITY % head.qname    "%XHTML.pfx;head" >
<!ENTITY % title.qname   "%XHTML.pfx;title" >
<!ENTITY % body.qname    "%XHTML.pfx;body" >

<!-- module:  xhtml-style-1.mod -->
<!ENTITY % style.qname   "%XHTML.pfx;style" >

<!-- module:  xhtml-table-1.mod -->
<!ENTITY % table.qname   "%XHTML.pfx;table" >
<!ENTITY % caption.qname "%XHTML.pfx;caption" >
<!ENTITY % thead.qname   "%XHTML.pfx;thead" >
<!ENTITY % tfoot.qname   "%XHTML.pfx;tfoot" >
<!ENTITY % tbody.qname   "%XHTML.pfx;tbody" >
<!ENTITY % colgroup.qname  "%XHTML.pfx;colgroup" >
<!ENTITY % col.qname     "%XHTML.pfx;col" >
<!ENTITY % tr.qname      "%XHTML.pfx;tr" >
<!ENTITY % th.qname      "%XHTML.pfx;th" >
<!ENTITY % td.qname      "%XHTML.pfx;td" >

<!-- module:  xhtml-ruby-1.mod -->

<!ENTITY % ruby.qname    "%XHTML.pfx;ruby" >
<!ENTITY % rbc.qname     "%XHTML.pfx;rbc" >
<!ENTITY % rtc.qname     "%XHTML.pfx;rtc" >
<!ENTITY % rb.qname      "%XHTML.pfx;rb" >
<!ENTITY % rt.qname      "%XHTML.pfx;rt" >
<!ENTITY % rp.qname      "%XHTML.pfx;rp" >

<!-- Provisional XHTML 2.0 Qualified Names  ...................... -->

<!-- module:  xhtml-image-2.mod -->
<!ENTITY % alt.qname     "%XHTML.pfx;alt" >

<!-- end of xhtml-qname-1.mod -->
]]>

<!ENTITY % xhtml-events.module "IGNORE" >
<![%xhtml-events.module;[
<!ENTITY % xhtml-events.mod
     PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN"
            "xhtml-events-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Intrinsic Events Module  ....................................... -->
<!-- file: xhtml-events-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-events-1.mod,v 4.1 2001/04/10 09:42:30 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-events-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Intrinsic Event Attributes

     These are the event attributes defined in HTML 4,
     Section 18.2.3 "Intrinsic Events". This module must be
     instantiated prior to the Attributes Module but after
     the Datatype Module in the Modular Framework module.

    "Note: Authors of HTML documents are advised that changes
     are likely to occur in the realm of intrinsic events
     (e.g., how scripts are bound to events). Research in
     this realm is carried on by members of the W3C Document
     Object Model Working Group (see the W3C Web site at
     http://www.w3.org/ for more information)."
-->
<!-- NOTE: Because the ATTLIST declarations in this module occur
     before their respective ELEMENT declarations in other
     modules, there may be a dependency on this module that
     should be considered if any of the parameter entities used
     for element type names (eg., %a.qname;) are redeclared.
-->

<!ENTITY % Events.attrib
     "onclick      %Script.datatype;        #IMPLIED
      ondblclick   %Script.datatype;        #IMPLIED
      onmousedown  %Script.datatype;        #IMPLIED
      onmouseup    %Script.datatype;        #IMPLIED
      onmouseover  %Script.datatype;        #IMPLIED
      onmousemove  %Script.datatype;        #IMPLIED
      onmouseout   %Script.datatype;        #IMPLIED
      onkeypress   %Script.datatype;        #IMPLIED
      onkeydown    %Script.datatype;        #IMPLIED
      onkeyup      %Script.datatype;        #IMPLIED"
>

<!-- additional attributes on anchor element
-->
<!ATTLIST %a.qname;
     onfocus      %Script.datatype;         #IMPLIED
     onblur       %Script.datatype;         #IMPLIED
>

<!-- additional attributes on form element
-->
<!ATTLIST %form.qname;
      onsubmit     %Script.datatype;        #IMPLIED
      onreset      %Script.datatype;        #IMPLIED
>

<!-- additional attributes on label element
-->
<!ATTLIST %label.qname;
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
>

<!-- additional attributes on input element
-->
<!ATTLIST %input.qname;
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
      onselect     %Script.datatype;        #IMPLIED
      onchange     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on select element
-->
<!ATTLIST %select.qname;
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
      onchange     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on textarea element
-->
<!ATTLIST %textarea.qname;
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
      onselect     %Script.datatype;        #IMPLIED
      onchange     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on button element
-->
<!ATTLIST %button.qname;
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
>

<!-- additional attributes on body element
-->
<!ATTLIST %body.qname;
      onload       %Script.datatype;        #IMPLIED
      onunload     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on area element
-->
<!ATTLIST %area.qname;
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
>

<!-- end of xhtml-events-1.mod -->
]]>

<!ENTITY % xhtml-attribs.module "INCLUDE" >
<![%xhtml-attribs.module;[
<!ENTITY % xhtml-attribs.mod
     PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN"
            "xhtml-attribs-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Common Attributes Module  ...................................... -->
<!-- file: xhtml-attribs-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-attribs-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-attribs-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Common Attributes

     This module declares many of the common attributes for the XHTML DTD.
     %NS.decl.attrib; is declared in the XHTML Qname module.
-->

<!ENTITY % id.attrib
     "id           ID                       #IMPLIED"
>

<!ENTITY % class.attrib
     "class        NMTOKENS                 #IMPLIED"
>

<!ENTITY % title.attrib
     "title        %Text.datatype;          #IMPLIED"
>

<!ENTITY % Core.extra.attrib "" >

<!ENTITY % Core.attrib
     "%XHTML.xmlns.attrib;
      %id.attrib;
      %class.attrib;
      %title.attrib;
      %Core.extra.attrib;"
>

<!ENTITY % lang.attrib
     "xml:lang     %LanguageCode.datatype;  #IMPLIED"
>

<![%XHTML.bidi;[
<!ENTITY % dir.attrib
     "dir          ( ltr | rtl )            #IMPLIED"
>

<!ENTITY % I18n.attrib
     "%dir.attrib;
      %lang.attrib;"
>

]]>
<!ENTITY % I18n.attrib
     "%lang.attrib;"
>

<!ENTITY % Common.extra.attrib "" >

<!-- intrinsic event attributes declared previously
-->
<!ENTITY % Events.attrib "" >

<!ENTITY % Common.attrib
     "%Core.attrib;
      %I18n.attrib;
      %Events.attrib;
      %Common.extra.attrib;"
>

<!-- end of xhtml-attribs-1.mod -->
]]>

<!-- placeholder for content model redeclarations -->
<!ENTITY % xhtml-model.redecl "" >


<!ENTITY % xhtml-model.module "INCLUDE" >
<![%xhtml-model.module;[
<!-- instantiate the Document Model module declared in the DTD driver
-->
<!-- ....................................................................... -->
<!-- XHTML 1.1 Document Model Module  ...................................... -->
<!-- file: xhtml11-model-1.mod

     This is XHTML 1.1, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml11-model-1.mod,v 1.13 2001/05/29 16:37:01 ahby Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- XHTML 1.1 Document Model

     This module describes the groupings of elements that make up
     common content models for XHTML elements.

     XHTML has three basic content models:

         %Inline.mix;  character-level elements
         %Block.mix;   block-like elements, eg., paragraphs and lists
         %Flow.mix;    any block or inline elements

     Any parameter entities declared in this module may be used
     to create element content models, but the above three are
     considered 'global' (insofar as that term applies here).

     The reserved word '#PCDATA' (indicating a text string) is now
     included explicitly with each element declaration that is
     declared as mixed content, as XML requires that this token
     occur first in a content model specification.
-->
<!-- Extending the Model

     While in some cases this module may need to be rewritten to
     accommodate changes to the document model, minor extensions
     may be accomplished by redeclaring any of the three *.extra;
     parameter entities to contain extension element types as follows:

         %Misc.extra;    whose parent may be any block or
                         inline element.

         %Inline.extra;  whose parent may be any inline element.

         %Block.extra;   whose parent may be any block element.

     If used, these parameter entities must be an OR-separated
     list beginning with an OR separator ("|"), eg., "| a | b | c"

     All block and inline *.class parameter entities not part
     of the *struct.class classes begin with "| " to allow for
     exclusion from mixes.
-->

<!-- ..............  Optional Elements in head  .................. -->

<!ENTITY % HeadOpts.mix
     "( %script.qname; | %style.qname; | %meta.qname;
      | %link.qname; | %object.qname; )*"
>

<!-- .................  Miscellaneous Elements  .................. -->

<!-- ins and del are used to denote editing changes
-->
<!ENTITY % Edit.class "| %ins.qname; | %del.qname;" >

<!-- script and noscript are used to contain scripts
     and alternative content
-->
<!ENTITY % Script.class "| %script.qname; | %noscript.qname;" >

<!ENTITY % Misc.extra "" >

<!-- These elements are neither block nor inline, and can
     essentially be used anywhere in the document body.
-->
<!ENTITY % Misc.class
     "%Edit.class;
      %Script.class;
      %Misc.extra;"
>

<!-- ....................  Inline Elements  ...................... -->

<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >

<!ENTITY % InlPhras.class
     "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
      | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
      | %abbr.qname; | %acronym.qname; | %q.qname;" >

<!ENTITY % InlPres.class
     "| %tt.qname; | %i.qname; | %b.qname; | %big.qname;
      | %small.qname; | %sub.qname; | %sup.qname;" >

<!ENTITY % I18n.class "| %bdo.qname;" >

<!ENTITY % Anchor.class "| %a.qname;" >

<!ENTITY % InlSpecial.class
     "| %img.qname; | %map.qname;
      | %object.qname;" >

<!ENTITY % InlForm.class
     "| %input.qname; | %select.qname; | %textarea.qname;
      | %label.qname; | %button.qname;" >

<!ENTITY % Inline.extra "" >

<!ENTITY % Ruby.class "| %ruby.qname;" >

<!-- %Inline.class; includes all inline elements,
     used as a component in mixes
-->
<!ENTITY % Inline.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %I18n.class;
      %Anchor.class;
      %InlSpecial.class;
      %InlForm.class;
      %Ruby.class;
      %Inline.extra;"
>

<!-- %InlNoRuby.class; includes all inline elements
     except ruby, used as a component in mixes
-->
<!ENTITY % InlNoRuby.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %I18n.class;
      %Anchor.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!-- %NoRuby.content; includes all inlines except ruby
-->
<!ENTITY % NoRuby.content
     "( #PCDATA
      | %InlNoRuby.class;
      %Misc.class; )*"
>

<!-- %InlNoAnchor.class; includes all non-anchor inlines,
     used as a component in mixes
-->
<!ENTITY % InlNoAnchor.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %I18n.class;
      %InlSpecial.class;
      %InlForm.class;
      %Ruby.class;
      %Inline.extra;"
>

<!-- %InlNoAnchor.mix; includes all non-anchor inlines
-->
<!ENTITY % InlNoAnchor.mix
     "%InlNoAnchor.class;
      %Misc.class;"
>

<!-- %Inline.mix; includes all inline elements, including %Misc.class;
-->
<!ENTITY % Inline.mix
     "%Inline.class;
      %Misc.class;"
>

<!-- .....................  Block Elements  ...................... -->

<!-- In the HTML 4.0 DTD, heading and list elements were included
     in the %block; parameter entity. The %Heading.class; and
     %List.class; parameter entities must now be included explicitly
     on element declarations where desired.
-->

<!ENTITY % Heading.class
     "%h1.qname; | %h2.qname; | %h3.qname;
      | %h4.qname; | %h5.qname; | %h6.qname;" >

<!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" >

<!ENTITY % Table.class "| %table.qname;" >

<!ENTITY % Form.class  "| %form.qname;" >

<!ENTITY % Fieldset.class  "| %fieldset.qname;" >

<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >

<!ENTITY % BlkPhras.class
     "| %pre.qname; | %blockquote.qname; | %address.qname;" >

<!ENTITY % BlkPres.class "| %hr.qname;" >

<!ENTITY % BlkSpecial.class
     "%Table.class;
      %Form.class;
      %Fieldset.class;"
>

<!ENTITY % Block.extra "" >

<!-- %Block.class; includes all block elements,
     used as an component in mixes
-->
<!ENTITY % Block.class
     "%BlkStruct.class;
      %BlkPhras.class;
      %BlkPres.class;
      %BlkSpecial.class;
      %Block.extra;"
>

<!-- %Block.mix; includes all block elements plus %Misc.class;
-->
<!ENTITY % Block.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      %Misc.class;"
>

<!-- ................  All Content Elements  .................. -->

<!-- %Flow.mix; includes all text content, block and inline
-->
<!ENTITY % Flow.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      | %Inline.class;
      %Misc.class;"
>

<!-- end of xhtml11-model-1.mod -->
]]>

<!ENTITY % xhtml-charent.module "INCLUDE" >
<![%xhtml-charent.module;[
<!ENTITY % xhtml-charent.mod
     PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN"
            "xhtml-charent-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Character Entities Module  ......................................... -->
<!-- file: xhtml-charent-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-charent-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-charent-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Character Entities for XHTML

     This module declares the set of character entities for XHTML,
     including the Latin 1, Symbol and Special character collections.
-->

<!ENTITY % xhtml-lat1
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
           "xhtml-lat1.ent" >
<!-- Portions (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.
-->
<!-- Character entity set. Typical invocation:
    <!ENTITY % HTMLlat1 PUBLIC
       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
    %HTMLlat1;
-->

<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
                                  U+00A0 ISOnum -->
<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
                                  U+00A6 ISOnum -->
<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
                                  U+00A8 ISOdia -->
<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
                                  = left pointing guillemet, U+00AB ISOnum -->
<!ENTITY not    "&#172;"> <!-- not sign = discretionary hyphen,
                                  U+00AC ISOnum -->
<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
                                  U+00AD ISOnum -->
<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
                                  U+00AE ISOnum -->
<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
                                  = APL overbar, U+00AF ISOdia -->
<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
                                  U+00B1 ISOnum -->
<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
                                  = squared, U+00B2 ISOnum -->
<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
                                  = cubed, U+00B3 ISOnum -->
<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
                                  U+00B4 ISOdia -->
<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
                                  U+00B6 ISOnum -->
<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
                                  = Greek middle dot, U+00B7 ISOnum -->
<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
                                  U+00B9 ISOnum -->
<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
                                  U+00BA ISOnum -->
<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
                                  = right pointing guillemet, U+00BB ISOnum -->
<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
                                  = fraction one quarter, U+00BC ISOnum -->
<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
                                  = fraction one half, U+00BD ISOnum -->
<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
                                  = fraction three quarters, U+00BE ISOnum -->
<!ENTITY iquest "&#191;"> <!-- inverted question mark
                                  = turned question mark, U+00BF ISOnum -->
<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
                                  = latin capital letter A grave,
                                  U+00C0 ISOlat1 -->
<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
                                  U+00C1 ISOlat1 -->
<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
                                  U+00C2 ISOlat1 -->
<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
                                  U+00C3 ISOlat1 -->
<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
                                  U+00C4 ISOlat1 -->
<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
                                  = latin capital letter A ring,
                                  U+00C5 ISOlat1 -->
<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
                                  = latin capital ligature AE,
                                  U+00C6 ISOlat1 -->
<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
                                  U+00C7 ISOlat1 -->
<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
                                  U+00C8 ISOlat1 -->
<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
                                  U+00C9 ISOlat1 -->
<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
                                  U+00CA ISOlat1 -->
<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
                                  U+00CB ISOlat1 -->
<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
                                  U+00CC ISOlat1 -->
<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
                                  U+00CD ISOlat1 -->
<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
                                  U+00CE ISOlat1 -->
<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
                                  U+00CF ISOlat1 -->
<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
                                  U+00D1 ISOlat1 -->
<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
                                  U+00D2 ISOlat1 -->
<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
                                  U+00D3 ISOlat1 -->
<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
                                  U+00D4 ISOlat1 -->
<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
                                  U+00D5 ISOlat1 -->
<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
                                  U+00D6 ISOlat1 -->
<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
                                  = latin capital letter O slash,
                                  U+00D8 ISOlat1 -->
<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
                                  U+00D9 ISOlat1 -->
<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
                                  U+00DA ISOlat1 -->
<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
                                  U+00DB ISOlat1 -->
<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
                                  U+00DC ISOlat1 -->
<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
                                  U+00DD ISOlat1 -->
<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
                                  U+00DE ISOlat1 -->
<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
                                  U+00DF ISOlat1 -->
<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
                                  = latin small letter a grave,
                                  U+00E0 ISOlat1 -->
<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
                                  U+00E1 ISOlat1 -->
<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
                                  U+00E2 ISOlat1 -->
<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
                                  U+00E3 ISOlat1 -->
<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
                                  U+00E4 ISOlat1 -->
<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
                                  = latin small letter a ring,
                                  U+00E5 ISOlat1 -->
<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
                                  = latin small ligature ae, U+00E6 ISOlat1 -->
<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
                                  U+00E7 ISOlat1 -->
<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
                                  U+00E8 ISOlat1 -->
<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
                                  U+00E9 ISOlat1 -->
<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
                                  U+00EA ISOlat1 -->
<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
                                  U+00EB ISOlat1 -->
<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
                                  U+00EC ISOlat1 -->
<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
                                  U+00ED ISOlat1 -->
<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
                                  U+00EE ISOlat1 -->
<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
                                  U+00EF ISOlat1 -->
<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
                                  U+00F1 ISOlat1 -->
<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
                                  U+00F2 ISOlat1 -->
<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
                                  U+00F3 ISOlat1 -->
<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
                                  U+00F4 ISOlat1 -->
<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
                                  U+00F5 ISOlat1 -->
<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
                                  U+00F6 ISOlat1 -->
<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
                                  = latin small letter o slash,
                                  U+00F8 ISOlat1 -->
<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
                                  U+00F9 ISOlat1 -->
<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
                                  U+00FA ISOlat1 -->
<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
                                  U+00FB ISOlat1 -->
<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
                                  U+00FC ISOlat1 -->
<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
                                  U+00FD ISOlat1 -->
<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn with,
                                  U+00FE ISOlat1 -->
<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
                                  U+00FF ISOlat1 -->


<!ENTITY % xhtml-symbol
    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
           "xhtml-symbol.ent" >
<!-- Mathematical, Greek and Symbolic characters for HTML -->

<!-- Character entity set. Typical invocation:
     <!ENTITY % HTMLsymbol PUBLIC
        "-//W3C//ENTITIES Symbols for XHTML//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
     %HTMLsymbol;
-->

<!-- Portions (C) International Organization for Standardization 1986:
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.
-->

<!-- Relevant ISO entity set is given unless names are newly introduced.
     New names (i.e., not in ISO 8879 list) do not clash with any
     existing ISO 8879 entity names. ISO 10646 character numbers
     are given for each character, in hex. values are decimal
     conversions of the ISO 10646 values and refer to the document
     character set. Names are Unicode names. 
-->

<!-- Latin Extended-B -->
<!ENTITY fnof     "&#402;"> <!-- latin small f with hook = function
                                    = florin, U+0192 ISOtech -->

<!-- Greek -->
<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
                                    U+0393 ISOgrk3 -->
<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
                                    U+0394 ISOgrk3 -->
<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
                                    U+0398 ISOgrk3 -->
<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lambda,
                                    U+039B ISOgrk3 -->
<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
<!-- there is no Sigmaf, and no U+03A2 character either -->
<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
                                    U+03A3 ISOgrk3 -->
<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
                                    U+03A5 ISOgrk3 -->
<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
                                    U+03A6 ISOgrk3 -->
<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
                                    U+03A8 ISOgrk3 -->
<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
                                    U+03A9 ISOgrk3 -->

<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
                                    U+03B1 ISOgrk3 -->
<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
                                    U+03B3 ISOgrk3 -->
<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
                                    U+03B4 ISOgrk3 -->
<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
                                    U+03B5 ISOgrk3 -->
<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
                                    U+03B8 ISOgrk3 -->
<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
                                    U+03BA ISOgrk3 -->
<!ENTITY lambda   "&#955;"> <!-- greek small letter lambda,
                                    U+03BB ISOgrk3 -->
<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
                                    U+03C2 ISOgrk3 -->
<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
                                    U+03C3 ISOgrk3 -->
<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
                                    U+03C5 ISOgrk3 -->
<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
                                    U+03C9 ISOgrk3 -->
<!ENTITY thetasym "&#977;"> <!-- greek small letter theta symbol,
                                    U+03D1 NEW -->
<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
                                    U+03D2 NEW -->
<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->

<!-- General Punctuation -->
<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
                                     U+2022 ISOpub  -->
<!-- bullet is NOT the same as bullet operator, U+2219 -->
<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
                                     U+2026 ISOpub  -->
<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
                                     U+2033 ISOtech -->
<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
                                     U+203E NEW -->
<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->

<!-- Letterlike Symbols -->
<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
                                     = Weierstrass p, U+2118 ISOamso -->
<!ENTITY image    "&#8465;"> <!-- blackletter capital I = imaginary part,
                                     U+2111 ISOamso -->
<!ENTITY real     "&#8476;"> <!-- blackletter capital R = real part symbol,
                                     U+211C ISOamso -->
<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
                                     U+2135 NEW -->
<!-- alef symbol is NOT the same as hebrew letter alef,
     U+05D0 although the same glyph could be used to depict both characters -->

<!-- Arrows -->
<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
                                     = carriage return, U+21B5 NEW -->
<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
    but also does not have any other character for that function. So ? lArr can
    be used for 'is implied by' as ISOtech suggests -->
<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
                                     U+21D2 ISOtech -->
<!-- Unicode does not say this is the 'implies' character but does not have 
     another character with this function so ?
     rArr can be used for 'implies' as ISOtech suggests -->
<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
                                     U+21D4 ISOamsa -->

<!-- Mathematical Operators -->
<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
<!ENTITY empty    "&#8709;"> <!-- empty set = null set = diameter,
                                     U+2205 ISOamso -->
<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
                                     U+2207 ISOtech -->
<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
<!-- should there be a more memorable name than 'ni'? -->
<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
                                     U+220F ISOamsb -->
<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
     the same glyph might be used for both -->
<!ENTITY sum      "&#8721;"> <!-- n-ary sumation, U+2211 ISOamsb -->
<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
     though the same glyph might be used for both -->
<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
                                     U+221A ISOtech -->
<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
                                     U+223C ISOtech -->
<!-- tilde operator is NOT the same character as the tilde, U+007E,
     although the same glyph might be used to represent both  -->
<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
                                     U+2248 ISOamsr -->
<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
                                     U+2265 ISOtech -->
<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol 
     font encoding and is not included. Should it be, for symmetry?
     It is in ISOamsn  --> 
<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
                                     U+2287 ISOtech -->
<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
                                     U+2295 ISOamsb -->
<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
                                     U+2297 ISOamsb -->
<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
                                     U+22A5 ISOtech -->
<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
<!-- dot operator is NOT the same character as U+00B7 middle dot -->

<!-- Miscellaneous Technical -->
<!ENTITY lceil    "&#8968;"> <!-- left ceiling = apl upstile,
                                     U+2308 ISOamsc  -->
<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
<!ENTITY lfloor   "&#8970;"> <!-- left floor = apl downstile,
                                     U+230A ISOamsc  -->
<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
                                     U+2329 ISOtech -->
<!-- lang is NOT the same character as U+003C 'less than' 
     or U+2039 'single left-pointing angle quotation mark' -->
<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
                                     U+232A ISOtech -->
<!-- rang is NOT the same character as U+003E 'greater than' 
     or U+203A 'single right-pointing angle quotation mark' -->

<!-- Geometric Shapes -->
<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->

<!-- Miscellaneous Symbols -->
<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
<!-- black here seems to mean filled as opposed to hollow -->
<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
                                     U+2663 ISOpub -->
<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
                                     U+2665 ISOpub -->
<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->


<!ENTITY % xhtml-special
    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
           "xhtml-special.ent" >
<!-- Special characters for HTML -->

<!-- Character entity set. Typical invocation:
     <!ENTITY % HTMLspecial PUBLIC
        "-//W3C//ENTITIES Special for XHTML//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
     %HTMLspecial;
-->

<!-- Portions (C) International Organization for Standardization 1986:
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.
-->

<!-- Relevant ISO entity set is given unless names are newly introduced.
     New names (i.e., not in ISO 8879 list) do not clash with any
     existing ISO 8879 entity names. ISO 10646 character numbers
     are given for each character, in hex. values are decimal
     conversions of the ISO 10646 values and refer to the document
     character set. Names are Unicode names. 
-->

<!-- C0 Controls and Basic Latin -->
<!ENTITY quot    "&#34;"> <!--  quotation mark = APL quote,
                                    U+0022 ISOnum -->
<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
<!ENTITY apos	 "&#39;"> <!--  apostrophe mark, U+0027 ISOnum -->

<!-- Latin Extended-A -->
<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
                                    U+0152 ISOlat2 -->
<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
<!-- ligature is a misnomer, this is a separate character in some languages -->
<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
                                    U+0160 ISOlat2 -->
<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
                                    U+0161 ISOlat2 -->
<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
                                    U+0178 ISOlat2 -->

<!-- Spacing Modifier Letters -->
<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
                                    U+02C6 ISOpub -->
<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->

<!-- General Punctuation -->
<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
                                    U+200C NEW RFC 2070 -->
<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
                                    U+2018 ISOnum -->
<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
                                    U+2019 ISOnum -->
<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
                                    U+201C ISOnum -->
<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
                                    U+201D ISOnum -->
<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
                                    U+2039 ISO proposed -->
<!-- lsaquo is proposed but not yet ISO standardized -->
<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
                                    U+203A ISO proposed -->
<!-- rsaquo is proposed but not yet ISO standardized -->
<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->


<!-- end of xhtml-charent-1.mod -->
]]>

<!-- end of xhtml-framework-1.mod -->
]]>

<!-- Post-Framework Redeclaration placeholder  ................... -->
<!-- this serves as a location to insert markup declarations
     into the DTD following the framework declarations.
-->
<!ENTITY % xhtml-postfw-redecl.module "IGNORE" >
<![%xhtml-postfw-redecl.module;[
%xhtml-postfw-redecl.mod;
<!-- end of xhtml-postfw-redecl.module -->]]>

<!-- Text Module (Required)  ..................................... -->
<!ENTITY % xhtml-text.module "INCLUDE" >
<![%xhtml-text.module;[
<!ENTITY % xhtml-text.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-text-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Text Module  ................................................... -->
<!-- file: xhtml-text-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-text-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-text-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Textual Content

     The Text module includes declarations for all core
     text container elements and their attributes.
-->

<!ENTITY % xhtml-inlstruct.module "INCLUDE" >
<![%xhtml-inlstruct.module;[
<!ENTITY % xhtml-inlstruct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN"
            "xhtml-inlstruct-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Inline Structural Module  ...................................... -->
<!-- file: xhtml-inlstruct-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-inlstruct-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstruct-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Inline Structural

        br, span

     This module declares the elements and their attributes
     used to support inline-level structural markup.
-->

<!-- br: forced line break ............................. -->

<!ENTITY % br.element  "INCLUDE" >
<![%br.element;[

<!ENTITY % br.content  "EMPTY" >
<!ENTITY % br.qname  "br" >
<!ELEMENT %br.qname;  %br.content; >

<!-- end of br.element -->]]>

<!ENTITY % br.attlist  "INCLUDE" >
<![%br.attlist;[
<!ATTLIST %br.qname;
      %Core.attrib;
>
<!-- end of br.attlist -->]]>

<!-- span: generic inline container .................... -->

<!ENTITY % span.element  "INCLUDE" >
<![%span.element;[
<!ENTITY % span.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % span.qname  "span" >
<!ELEMENT %span.qname;  %span.content; >
<!-- end of span.element -->]]>

<!ENTITY % span.attlist  "INCLUDE" >
<![%span.attlist;[
<!ATTLIST %span.qname;
      %Common.attrib;
>
<!-- end of span.attlist -->]]>

<!-- end of xhtml-inlstruct-1.mod -->
]]>

<!ENTITY % xhtml-inlphras.module "INCLUDE" >
<![%xhtml-inlphras.module;[
<!ENTITY % xhtml-inlphras.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN"
            "xhtml-inlphras-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Inline Phrasal Module  ......................................... -->
<!-- file: xhtml-inlphras-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-inlphras-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlphras-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Inline Phrasal

        abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var

     This module declares the elements and their attributes used to
     support inline-level phrasal markup.
-->

<!ENTITY % abbr.element  "INCLUDE" >
<![%abbr.element;[
<!ENTITY % abbr.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % abbr.qname  "abbr" >
<!ELEMENT %abbr.qname;  %abbr.content; >
<!-- end of abbr.element -->]]>

<!ENTITY % abbr.attlist  "INCLUDE" >
<![%abbr.attlist;[
<!ATTLIST %abbr.qname;
      %Common.attrib;
>
<!-- end of abbr.attlist -->]]>

<!ENTITY % acronym.element  "INCLUDE" >
<![%acronym.element;[
<!ENTITY % acronym.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % acronym.qname  "acronym" >
<!ELEMENT %acronym.qname;  %acronym.content; >
<!-- end of acronym.element -->]]>

<!ENTITY % acronym.attlist  "INCLUDE" >
<![%acronym.attlist;[
<!ATTLIST %acronym.qname;
      %Common.attrib;
>
<!-- end of acronym.attlist -->]]>

<!ENTITY % cite.element  "INCLUDE" >
<![%cite.element;[
<!ENTITY % cite.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % cite.qname  "cite" >
<!ELEMENT %cite.qname;  %cite.content; >
<!-- end of cite.element -->]]>

<!ENTITY % cite.attlist  "INCLUDE" >
<![%cite.attlist;[
<!ATTLIST %cite.qname;
      %Common.attrib;
>
<!-- end of cite.attlist -->]]>

<!ENTITY % code.element  "INCLUDE" >
<![%code.element;[
<!ENTITY % code.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % code.qname  "code" >
<!ELEMENT %code.qname;  %code.content; >
<!-- end of code.element -->]]>

<!ENTITY % code.attlist  "INCLUDE" >
<![%code.attlist;[
<!ATTLIST %code.qname;
      %Common.attrib;
>
<!-- end of code.attlist -->]]>

<!ENTITY % dfn.element  "INCLUDE" >
<![%dfn.element;[
<!ENTITY % dfn.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % dfn.qname  "dfn" >
<!ELEMENT %dfn.qname;  %dfn.content; >
<!-- end of dfn.element -->]]>

<!ENTITY % dfn.attlist  "INCLUDE" >
<![%dfn.attlist;[
<!ATTLIST %dfn.qname;
      %Common.attrib;
>
<!-- end of dfn.attlist -->]]>

<!ENTITY % em.element  "INCLUDE" >
<![%em.element;[
<!ENTITY % em.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % em.qname  "em" >
<!ELEMENT %em.qname;  %em.content; >
<!-- end of em.element -->]]>

<!ENTITY % em.attlist  "INCLUDE" >
<![%em.attlist;[
<!ATTLIST %em.qname;
      %Common.attrib;
>
<!-- end of em.attlist -->]]>

<!ENTITY % kbd.element  "INCLUDE" >
<![%kbd.element;[
<!ENTITY % kbd.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % kbd.qname  "kbd" >
<!ELEMENT %kbd.qname;  %kbd.content; >
<!-- end of kbd.element -->]]>

<!ENTITY % kbd.attlist  "INCLUDE" >
<![%kbd.attlist;[
<!ATTLIST %kbd.qname;
      %Common.attrib;
>
<!-- end of kbd.attlist -->]]>

<!ENTITY % q.element  "INCLUDE" >
<![%q.element;[
<!ENTITY % q.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % q.qname  "q" >
<!ELEMENT %q.qname;  %q.content; >
<!-- end of q.element -->]]>

<!ENTITY % q.attlist  "INCLUDE" >
<![%q.attlist;[
<!ATTLIST %q.qname;
      %Common.attrib;
      cite         %URI.datatype;           #IMPLIED
>
<!-- end of q.attlist -->]]>

<!ENTITY % samp.element  "INCLUDE" >
<![%samp.element;[
<!ENTITY % samp.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % samp.qname  "samp" >
<!ELEMENT %samp.qname;  %samp.content; >
<!-- end of samp.element -->]]>

<!ENTITY % samp.attlist  "INCLUDE" >
<![%samp.attlist;[
<!ATTLIST %samp.qname;
      %Common.attrib;
>
<!-- end of samp.attlist -->]]>

<!ENTITY % strong.element  "INCLUDE" >
<![%strong.element;[
<!ENTITY % strong.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % strong.qname  "strong" >
<!ELEMENT %strong.qname;  %strong.content; >
<!-- end of strong.element -->]]>

<!ENTITY % strong.attlist  "INCLUDE" >
<![%strong.attlist;[
<!ATTLIST %strong.qname;
      %Common.attrib;
>
<!-- end of strong.attlist -->]]>

<!ENTITY % var.element  "INCLUDE" >
<![%var.element;[
<!ENTITY % var.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % var.qname  "var" >
<!ELEMENT %var.qname;  %var.content; >
<!-- end of var.element -->]]>

<!ENTITY % var.attlist  "INCLUDE" >
<![%var.attlist;[
<!ATTLIST %var.qname;
      %Common.attrib;
>
<!-- end of var.attlist -->]]>

<!-- end of xhtml-inlphras-1.mod -->
]]>

<!ENTITY % xhtml-blkstruct.module "INCLUDE" >
<![%xhtml-blkstruct.module;[
<!ENTITY % xhtml-blkstruct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN"
            "xhtml-blkstruct-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Block Structural Module  ....................................... -->
<!-- file: xhtml-blkstruct-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-blkstruct-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkstruct-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Block Structural

        div, p

     This module declares the elements and their attributes used to
     support block-level structural markup.
-->

<!ENTITY % div.element  "INCLUDE" >
<![%div.element;[
<!ENTITY % div.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ENTITY % div.qname  "div" >
<!ELEMENT %div.qname;  %div.content; >
<!-- end of div.element -->]]>

<!ENTITY % div.attlist  "INCLUDE" >
<![%div.attlist;[
<!ATTLIST %div.qname;
      %Common.attrib;
>
<!-- end of div.attlist -->]]>

<!ENTITY % p.element  "INCLUDE" >
<![%p.element;[
<!ENTITY % p.content
     "( #PCDATA | %Inline.mix; )*" >
<!ENTITY % p.qname  "p" >
<!ELEMENT %p.qname;  %p.content; >
<!-- end of p.element -->]]>

<!ENTITY % p.attlist  "INCLUDE" >
<![%p.attlist;[
<!ATTLIST %p.qname;
      %Common.attrib;
>
<!-- end of p.attlist -->]]>

<!-- end of xhtml-blkstruct-1.mod -->
]]>

<!ENTITY % xhtml-blkphras.module "INCLUDE" >
<![%xhtml-blkphras.module;[
<!ENTITY % xhtml-blkphras.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN"
            "xhtml-blkphras-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Block Phrasal Module  .......................................... -->
<!-- file: xhtml-blkphras-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-blkphras-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkphras-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Block Phrasal

        address, blockquote, pre, h1, h2, h3, h4, h5, h6

     This module declares the elements and their attributes used to
     support block-level phrasal markup.
-->

<!ENTITY % address.element  "INCLUDE" >
<![%address.element;[
<!ENTITY % address.content
     "( #PCDATA | %Inline.mix; )*" >
<!ENTITY % address.qname  "address" >
<!ELEMENT %address.qname;  %address.content; >
<!-- end of address.element -->]]>

<!ENTITY % address.attlist  "INCLUDE" >
<![%address.attlist;[
<!ATTLIST %address.qname;
      %Common.attrib;
>
<!-- end of address.attlist -->]]>

<!ENTITY % blockquote.element  "INCLUDE" >
<![%blockquote.element;[
<!ENTITY % blockquote.content
     "( %Block.mix; )+"
>
<!ENTITY % blockquote.qname  "blockquote" >
<!ELEMENT %blockquote.qname;  %blockquote.content; >
<!-- end of blockquote.element -->]]>

<!ENTITY % blockquote.attlist  "INCLUDE" >
<![%blockquote.attlist;[
<!ATTLIST %blockquote.qname;
      %Common.attrib;
      cite         %URI.datatype;           #IMPLIED
>
<!-- end of blockquote.attlist -->]]>

<!ENTITY % pre.element  "INCLUDE" >
<![%pre.element;[
<!ENTITY % pre.content
     "( #PCDATA
      | %InlStruct.class;
      %InlPhras.class;
      | %tt.qname; | %i.qname; | %b.qname;
      %I18n.class;
      %Anchor.class;
      | %script.qname; | %map.qname;
      %Inline.extra; )*"
>
<!ENTITY % pre.qname  "pre" >
<!ELEMENT %pre.qname;  %pre.content; >
<!-- end of pre.element -->]]>

<!ENTITY % pre.attlist  "INCLUDE" >
<![%pre.attlist;[
<!ATTLIST %pre.qname;
      %Common.attrib;
      xml:space    ( preserve )             #FIXED 'preserve'
>
<!-- end of pre.attlist -->]]>

<!-- ...................  Heading Elements  ................... -->

<!ENTITY % Heading.content  "( #PCDATA | %Inline.mix; )*" >

<!ENTITY % h1.element  "INCLUDE" >
<![%h1.element;[
<!ENTITY % h1.qname  "h1" >
<!ELEMENT %h1.qname;  %Heading.content; >
<!-- end of h1.element -->]]>

<!ENTITY % h1.attlist  "INCLUDE" >
<![%h1.attlist;[
<!ATTLIST %h1.qname;
      %Common.attrib;
>
<!-- end of h1.attlist -->]]>

<!ENTITY % h2.element  "INCLUDE" >
<![%h2.element;[
<!ENTITY % h2.qname  "h2" >
<!ELEMENT %h2.qname;  %Heading.content; >
<!-- end of h2.element -->]]>

<!ENTITY % h2.attlist  "INCLUDE" >
<![%h2.attlist;[
<!ATTLIST %h2.qname;
      %Common.attrib;
>
<!-- end of h2.attlist -->]]>

<!ENTITY % h3.element  "INCLUDE" >
<![%h3.element;[
<!ENTITY % h3.qname  "h3" >
<!ELEMENT %h3.qname;  %Heading.content; >
<!-- end of h3.element -->]]>

<!ENTITY % h3.attlist  "INCLUDE" >
<![%h3.attlist;[
<!ATTLIST %h3.qname;
      %Common.attrib;
>
<!-- end of h3.attlist -->]]>

<!ENTITY % h4.element  "INCLUDE" >
<![%h4.element;[
<!ENTITY % h4.qname  "h4" >
<!ELEMENT %h4.qname;  %Heading.content; >
<!-- end of h4.element -->]]>

<!ENTITY % h4.attlist  "INCLUDE" >
<![%h4.attlist;[
<!ATTLIST %h4.qname;
      %Common.attrib;
>
<!-- end of h4.attlist -->]]>

<!ENTITY % h5.element  "INCLUDE" >
<![%h5.element;[
<!ENTITY % h5.qname  "h5" >
<!ELEMENT %h5.qname;  %Heading.content; >
<!-- end of h5.element -->]]>

<!ENTITY % h5.attlist  "INCLUDE" >
<![%h5.attlist;[
<!ATTLIST %h5.qname;
      %Common.attrib;
>
<!-- end of h5.attlist -->]]>

<!ENTITY % h6.element  "INCLUDE" >
<![%h6.element;[
<!ENTITY % h6.qname  "h6" >
<!ELEMENT %h6.qname;  %Heading.content; >
<!-- end of h6.element -->]]>

<!ENTITY % h6.attlist  "INCLUDE" >
<![%h6.attlist;[
<!ATTLIST %h6.qname;
      %Common.attrib;
>
<!-- end of h6.attlist -->]]>

<!-- end of xhtml-blkphras-1.mod -->
]]>

<!-- end of xhtml-text-1.mod -->
]]>

<!-- Hypertext Module (required) ................................. -->
<!ENTITY % xhtml-hypertext.module "INCLUDE" >
<![%xhtml-hypertext.module;[
<!ENTITY % xhtml-hypertext.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Hypertext Module  .............................................. -->
<!-- file: xhtml-hypertext-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-hypertext-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Hypertext

        a

     This module declares the anchor ('a') element type, which
     defines the source of a hypertext link. The destination
     (or link 'target') is identified via its 'id' attribute
     rather than the 'name' attribute as was used in HTML.
-->

<!-- ............  Anchor Element  ............ -->

<!ENTITY % a.element  "INCLUDE" >
<![%a.element;[
<!ENTITY % a.content
     "( #PCDATA | %InlNoAnchor.mix; )*"
>
<!ENTITY % a.qname  "a" >
<!ELEMENT %a.qname;  %a.content; >
<!-- end of a.element -->]]>

<!ENTITY % a.attlist  "INCLUDE" >
<![%a.attlist;[
<!ATTLIST %a.qname;
      %Common.attrib;
      href         %URI.datatype;           #IMPLIED
      charset      %Charset.datatype;       #IMPLIED
      type         %ContentType.datatype;   #IMPLIED
      hreflang     %LanguageCode.datatype;  #IMPLIED
      rel          %LinkTypes.datatype;     #IMPLIED
      rev          %LinkTypes.datatype;     #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
>
<!-- end of a.attlist -->]]>

<!-- end of xhtml-hypertext-1.mod -->
]]>

<!-- Lists Module (required)  .................................... -->
<!ENTITY % xhtml-list.module "INCLUDE" >
<![%xhtml-list.module;[
<!ENTITY % xhtml-list.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Lists Module  .................................................. -->
<!-- file: xhtml-list-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-list-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Lists

        dl, dt, dd, ol, ul, li

     This module declares the list-oriented element types
     and their attributes.
-->

<!ENTITY % dl.qname  "dl" >
<!ENTITY % dt.qname  "dt" >
<!ENTITY % dd.qname  "dd" >
<!ENTITY % ol.qname  "ol" >
<!ENTITY % ul.qname  "ul" >
<!ENTITY % li.qname  "li" >

<!-- dl: Definition List ............................... -->

<!ENTITY % dl.element  "INCLUDE" >
<![%dl.element;[
<!ENTITY % dl.content  "( %dt.qname; | %dd.qname; )+" >
<!ELEMENT %dl.qname;  %dl.content; >
<!-- end of dl.element -->]]>

<!ENTITY % dl.attlist  "INCLUDE" >
<![%dl.attlist;[
<!ATTLIST %dl.qname;
      %Common.attrib;
>
<!-- end of dl.attlist -->]]>

<!-- dt: Definition Term ............................... -->

<!ENTITY % dt.element  "INCLUDE" >
<![%dt.element;[
<!ENTITY % dt.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT %dt.qname;  %dt.content; >
<!-- end of dt.element -->]]>

<!ENTITY % dt.attlist  "INCLUDE" >
<![%dt.attlist;[
<!ATTLIST %dt.qname;
      %Common.attrib;
>
<!-- end of dt.attlist -->]]>

<!-- dd: Definition Description ........................ -->

<!ENTITY % dd.element  "INCLUDE" >
<![%dd.element;[
<!ENTITY % dd.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT %dd.qname;  %dd.content; >
<!-- end of dd.element -->]]>

<!ENTITY % dd.attlist  "INCLUDE" >
<![%dd.attlist;[
<!ATTLIST %dd.qname;
      %Common.attrib;
>
<!-- end of dd.attlist -->]]>

<!-- ol: Ordered List (numbered styles) ................ -->

<!ENTITY % ol.element  "INCLUDE" >
<![%ol.element;[
<!ENTITY % ol.content  "( %li.qname; )+" >
<!ELEMENT %ol.qname;  %ol.content; >
<!-- end of ol.element -->]]>

<!ENTITY % ol.attlist  "INCLUDE" >
<![%ol.attlist;[
<!ATTLIST %ol.qname;
      %Common.attrib;
>
<!-- end of ol.attlist -->]]>

<!-- ul: Unordered List (bullet styles) ................ -->

<!ENTITY % ul.element  "INCLUDE" >
<![%ul.element;[
<!ENTITY % ul.content  "( %li.qname; )+" >
<!ELEMENT %ul.qname;  %ul.content; >
<!-- end of ul.element -->]]>

<!ENTITY % ul.attlist  "INCLUDE" >
<![%ul.attlist;[
<!ATTLIST %ul.qname;
      %Common.attrib;
>
<!-- end of ul.attlist -->]]>

<!-- li: List Item ..................................... -->

<!ENTITY % li.element  "INCLUDE" >
<![%li.element;[
<!ENTITY % li.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT %li.qname;  %li.content; >
<!-- end of li.element -->]]>

<!ENTITY % li.attlist  "INCLUDE" >
<![%li.attlist;[
<!ATTLIST %li.qname;
      %Common.attrib;
>
<!-- end of li.attlist -->]]>

<!-- end of xhtml-list-1.mod -->
]]>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Edit Module  ................................................ -->
<!ENTITY % xhtml-edit.module "INCLUDE" >
<![%xhtml-edit.module;[
<!ENTITY % xhtml-edit.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Editing Elements 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Editing Elements Module  ....................................... -->
<!-- file: xhtml-edit-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-edit-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Editing Markup 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Editing Elements

        ins, del

     This module declares element types and attributes used to indicate
     inserted and deleted content while editing a document.
-->

<!-- ins: Inserted Text  ............................... -->

<!ENTITY % ins.element  "INCLUDE" >
<![%ins.element;[
<!ENTITY % ins.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ENTITY % ins.qname  "ins" >
<!ELEMENT %ins.qname;  %ins.content; >
<!-- end of ins.element -->]]>

<!ENTITY % ins.attlist  "INCLUDE" >
<![%ins.attlist;[
<!ATTLIST %ins.qname;
      %Common.attrib;
      cite         %URI.datatype;           #IMPLIED
      datetime     %Datetime.datatype;      #IMPLIED
>
<!-- end of ins.attlist -->]]>

<!-- del: Deleted Text  ................................ -->

<!ENTITY % del.element  "INCLUDE" >
<![%del.element;[
<!ENTITY % del.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ENTITY % del.qname  "del" >
<!ELEMENT %del.qname;  %del.content; >
<!-- end of del.element -->]]>

<!ENTITY % del.attlist  "INCLUDE" >
<![%del.attlist;[
<!ATTLIST %del.qname;
      %Common.attrib;
      cite         %URI.datatype;           #IMPLIED
      datetime     %Datetime.datatype;      #IMPLIED
>
<!-- end of del.attlist -->]]>

<!-- end of xhtml-edit-1.mod -->
]]>

<!-- BIDI Override Module  ....................................... -->
<!ENTITY % xhtml-bdo.module "%XHTML.bidi;" >
<![%xhtml-bdo.module;[
<!ENTITY % xhtml-bdo.mod
     PUBLIC "-//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML BDO Element Module ............................................. -->
<!-- file: xhtml-bdo-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-bdo-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML BDO Element 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Bidirectional Override (bdo) Element

     This modules declares the element 'bdo', used to override the
     Unicode bidirectional algorithm for selected fragments of text.

     DEPENDENCIES:
     Relies on the conditional section keyword %XHTML.bidi; declared
     as "INCLUDE". Bidirectional text support includes both the bdo
     element and the 'dir' attribute.
-->

<!ENTITY % bdo.element  "INCLUDE" >
<![%bdo.element;[
<!ENTITY % bdo.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % bdo.qname  "bdo" >
<!ELEMENT %bdo.qname;  %bdo.content; >
<!-- end of bdo.element -->]]>

<!ENTITY % bdo.attlist  "INCLUDE" >
<![%bdo.attlist;[
<!ATTLIST %bdo.qname;
      %Core.attrib;
      xml:lang     %LanguageCode.datatype;  #IMPLIED
      dir          ( ltr | rtl )            #REQUIRED
>
]]>

<!-- end of xhtml-bdo-1.mod -->
]]>

<!-- Ruby Module  ................................................ -->
<!ENTITY % Ruby.common.attlists "INCLUDE" >
<!ENTITY % Ruby.common.attrib "%Common.attrib;" >
<!ENTITY % xhtml-ruby.module "INCLUDE" >
<![%xhtml-ruby.module;[
<!ENTITY % xhtml-ruby.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN"
            "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Ruby Module .................................................... -->
<!-- file: xhtml-ruby-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1999-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-ruby-1.mod,v 4.0 2001/04/03 23:14:33 altheim Exp $

     This module is based on the W3C Ruby Annotation Specification:

        http://www.w3.org/TR/ruby

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN"
       SYSTEM "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod"

     ...................................................................... -->

<!-- Ruby Elements

        ruby, rbc, rtc, rb, rt, rp

     This module declares the elements and their attributes used to
     support ruby annotation markup.
-->

<!-- declare qualified element type names:
-->
<!ENTITY % ruby.qname  "ruby" >
<!ENTITY % rbc.qname  "rbc" >
<!ENTITY % rtc.qname  "rtc" >
<!ENTITY % rb.qname  "rb" >
<!ENTITY % rt.qname  "rt" >
<!ENTITY % rp.qname  "rp" >

<!-- rp fallback is included by default.
-->
<!ENTITY % Ruby.fallback "INCLUDE" >
<!ENTITY % Ruby.fallback.mandatory "IGNORE" >

<!-- Complex ruby is included by default; it may be 
     overridden by other modules to ignore it.
-->
<!ENTITY % Ruby.complex "INCLUDE" >

<!-- Fragments for the content model of the ruby element -->
<![%Ruby.fallback;[
<![%Ruby.fallback.mandatory;[
<!ENTITY % Ruby.content.simple 
     "( %rb.qname;, %rp.qname;, %rt.qname;, %rp.qname; )"
>
]]>
<!ENTITY % Ruby.content.simple 
     "( %rb.qname;, ( %rt.qname; | ( %rp.qname;, %rt.qname;, %rp.qname; ) ) )"
>
]]>
<!ENTITY % Ruby.content.simple "( %rb.qname;, %rt.qname; )" >

<![%Ruby.complex;[
<!ENTITY % Ruby.content.complex 
     "| ( %rbc.qname;, %rtc.qname;, %rtc.qname;? )"
>
]]>
<!ENTITY % Ruby.content.complex "" >

<!-- Content models of the rb and the rt elements are intended to
     allow other inline-level elements of its parent markup language,
     but it should not include ruby descendent elements. The following
     parameter entity %NoRuby.content; can be used to redefine
     those content models with minimum effort.  It's defined as
     '( #PCDATA )' by default.
-->
<!ENTITY % NoRuby.content "( #PCDATA )" >

<!-- one or more digits (NUMBER) -->
<!ENTITY % Number.datatype "CDATA" >

<!-- ruby element ...................................... -->

<!ENTITY % ruby.element  "INCLUDE" >
<![%ruby.element;[
<!ENTITY % ruby.content
     "( %Ruby.content.simple; %Ruby.content.complex; )"
>
<!ELEMENT %ruby.qname;  %ruby.content; >
<!-- end of ruby.element -->]]>

<![%Ruby.complex;[
<!-- rbc (ruby base component) element ................. -->

<!ENTITY % rbc.element  "INCLUDE" >
<![%rbc.element;[
<!ENTITY % rbc.content
     "(%rb.qname;)+"
>
<!ELEMENT %rbc.qname;  %rbc.content; >
<!-- end of rbc.element -->]]>

<!-- rtc (ruby text component) element ................. -->

<!ENTITY % rtc.element  "INCLUDE" >
<![%rtc.element;[
<!ENTITY % rtc.content
     "(%rt.qname;)+"
>
<!ELEMENT %rtc.qname;  %rtc.content; >
<!-- end of rtc.element -->]]>
]]>

<!-- rb (ruby base) element ............................ -->

<!ENTITY % rb.element  "INCLUDE" >
<![%rb.element;[
<!-- %rb.content; uses %NoRuby.content; as its content model,
     which is '( #PCDATA )' by default. It may be overridden
     by other modules to allow other inline-level elements
     of its parent markup language, but it should not include
     ruby descendent elements.
-->
<!ENTITY % rb.content "%NoRuby.content;" >
<!ELEMENT %rb.qname;  %rb.content; >
<!-- end of rb.element -->]]>

<!-- rt (ruby text) element ............................ -->

<!ENTITY % rt.element  "INCLUDE" >
<![%rt.element;[
<!-- %rt.content; uses %NoRuby.content; as its content model,
     which is '( #PCDATA )' by default. It may be overridden
     by other modules to allow other inline-level elements
     of its parent markup language, but it should not include
     ruby descendent elements.
-->
<!ENTITY % rt.content "%NoRuby.content;" >

<!ELEMENT %rt.qname;  %rt.content; >
<!-- end of rt.element -->]]>

<!-- rbspan attribute is used for complex ruby only ...... -->
<![%Ruby.complex;[
<!ENTITY % rt.attlist  "INCLUDE" >
<![%rt.attlist;[
<!ATTLIST %rt.qname;
      rbspan         %Number.datatype;      "1"
>
<!-- end of rt.attlist -->]]>
]]>

<!-- rp (ruby parenthesis) element ..................... -->

<![%Ruby.fallback;[
<!ENTITY % rp.element  "INCLUDE" >
<![%rp.element;[
<!ENTITY % rp.content
     "( #PCDATA )"
>
<!ELEMENT %rp.qname;  %rp.content; >
<!-- end of rp.element -->]]>
]]>

<!-- Ruby Common Attributes

     The following optional ATTLIST declarations provide an easy way
     to define common attributes for ruby elements.  These declarations
     are ignored by default.

     Ruby elements are intended to have common attributes of its
     parent markup language.  For example, if a markup language defines
     common attributes as a parameter entity %attrs;, you may add
     those attributes by just declaring the following parameter entities

         <!ENTITY % Ruby.common.attlists  "INCLUDE" >
         <!ENTITY % Ruby.common.attrib  "%attrs;" >

     before including the Ruby module.
-->

<!ENTITY % Ruby.common.attlists  "IGNORE" >
<![%Ruby.common.attlists;[
<!ENTITY % Ruby.common.attrib  "" >

<!-- common attributes for ruby ........................ -->

<!ENTITY % Ruby.common.attlist  "INCLUDE" >
<![%Ruby.common.attlist;[
<!ATTLIST %ruby.qname;
      %Ruby.common.attrib;
>
<!-- end of Ruby.common.attlist -->]]>

<![%Ruby.complex;[
<!-- common attributes for rbc ......................... -->

<!ENTITY % Rbc.common.attlist  "INCLUDE" >
<![%Rbc.common.attlist;[
<!ATTLIST %rbc.qname;
      %Ruby.common.attrib;
>
<!-- end of Rbc.common.attlist -->]]>

<!-- common attributes for rtc ......................... -->

<!ENTITY % Rtc.common.attlist  "INCLUDE" >
<![%Rtc.common.attlist;[
<!ATTLIST %rtc.qname;
      %Ruby.common.attrib;
>
<!-- end of Rtc.common.attlist -->]]>
]]>

<!-- common attributes for rb .......................... -->

<!ENTITY % Rb.common.attlist  "INCLUDE" >
<![%Rb.common.attlist;[
<!ATTLIST %rb.qname;
      %Ruby.common.attrib;
>
<!-- end of Rb.common.attlist -->]]>

<!-- common attributes for rt .......................... -->

<!ENTITY % Rt.common.attlist  "INCLUDE" >
<![%Rt.common.attlist;[
<!ATTLIST %rt.qname;
      %Ruby.common.attrib;
>
<!-- end of Rt.common.attlist -->]]>

<![%Ruby.fallback;[
<!-- common attributes for rp .......................... -->

<!ENTITY % Rp.common.attlist  "INCLUDE" >
<![%Rp.common.attlist;[
<!ATTLIST %rp.qname;
      %Ruby.common.attrib;
>
<!-- end of Rp.common.attlist -->]]>
]]>
]]>

<!-- end of xhtml-ruby-1.mod -->
]]>

<!-- Presentation Module  ........................................ -->
<!ENTITY % xhtml-pres.module "INCLUDE" >
<![%xhtml-pres.module;[
<!ENTITY % xhtml-pres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Presentation Module ............................................ -->
<!-- file: xhtml-pres-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-pres-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Presentational Elements

     This module defines elements and their attributes for
     simple presentation-related markup.
-->

<!ENTITY % xhtml-inlpres.module "INCLUDE" >
<![%xhtml-inlpres.module;[
<!ENTITY % xhtml-inlpres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN"
            "xhtml-inlpres-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Inline Presentation Module  .................................... -->
<!-- file: xhtml-inlpres-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-inlpres-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlpres-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Inline Presentational Elements

        b, big, i, small, sub, sup, tt

     This module declares the elements and their attributes used to
     support inline-level presentational markup.
-->

<!ENTITY % b.element  "INCLUDE" >
<![%b.element;[
<!ENTITY % b.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % b.qname  "b" >
<!ELEMENT %b.qname;  %b.content; >
<!-- end of b.element -->]]>

<!ENTITY % b.attlist  "INCLUDE" >
<![%b.attlist;[
<!ATTLIST %b.qname;
      %Common.attrib;
>
<!-- end of b.attlist -->]]>

<!ENTITY % big.element  "INCLUDE" >
<![%big.element;[
<!ENTITY % big.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % big.qname  "big" >
<!ELEMENT %big.qname;  %big.content; >
<!-- end of big.element -->]]>

<!ENTITY % big.attlist  "INCLUDE" >
<![%big.attlist;[
<!ATTLIST %big.qname;
      %Common.attrib;
>
<!-- end of big.attlist -->]]>

<!ENTITY % i.element  "INCLUDE" >
<![%i.element;[
<!ENTITY % i.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % i.qname  "i" >
<!ELEMENT %i.qname;  %i.content; >
<!-- end of i.element -->]]>

<!ENTITY % i.attlist  "INCLUDE" >
<![%i.attlist;[
<!ATTLIST %i.qname;
      %Common.attrib;
>
<!-- end of i.attlist -->]]>

<!ENTITY % small.element  "INCLUDE" >
<![%small.element;[
<!ENTITY % small.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % small.qname  "small" >
<!ELEMENT %small.qname;  %small.content; >
<!-- end of small.element -->]]>

<!ENTITY % small.attlist  "INCLUDE" >
<![%small.attlist;[
<!ATTLIST %small.qname;
      %Common.attrib;
>
<!-- end of small.attlist -->]]>

<!ENTITY % sub.element  "INCLUDE" >
<![%sub.element;[
<!ENTITY % sub.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % sub.qname  "sub" >
<!ELEMENT %sub.qname;  %sub.content; >
<!-- end of sub.element -->]]>

<!ENTITY % sub.attlist  "INCLUDE" >
<![%sub.attlist;[
<!ATTLIST %sub.qname;
      %Common.attrib;
>
<!-- end of sub.attlist -->]]>

<!ENTITY % sup.element  "INCLUDE" >
<![%sup.element;[
<!ENTITY % sup.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % sup.qname  "sup" >
<!ELEMENT %sup.qname;  %sup.content; >
<!-- end of sup.element -->]]>

<!ENTITY % sup.attlist  "INCLUDE" >
<![%sup.attlist;[
<!ATTLIST %sup.qname;
      %Common.attrib;
>
<!-- end of sup.attlist -->]]>

<!ENTITY % tt.element  "INCLUDE" >
<![%tt.element;[
<!ENTITY % tt.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ENTITY % tt.qname  "tt" >
<!ELEMENT %tt.qname;  %tt.content; >
<!-- end of tt.element -->]]>

<!ENTITY % tt.attlist  "INCLUDE" >
<![%tt.attlist;[
<!ATTLIST %tt.qname;
      %Common.attrib;
>
<!-- end of tt.attlist -->]]>

<!-- end of xhtml-inlpres-1.mod -->
]]>

<!ENTITY % xhtml-blkpres.module "INCLUDE" >
<![%xhtml-blkpres.module;[
<!ENTITY % xhtml-blkpres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN"
            "xhtml-blkpres-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Block Presentation Module  ..................................... -->
<!-- file: xhtml-blkpres-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-blkpres-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkpres-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Block Presentational Elements

        hr

     This module declares the elements and their attributes used to
     support block-level presentational markup.
-->

<!ENTITY % hr.element  "INCLUDE" >
<![%hr.element;[
<!ENTITY % hr.content  "EMPTY" >
<!ENTITY % hr.qname  "hr" >
<!ELEMENT %hr.qname;  %hr.content; >
<!-- end of hr.element -->]]>

<!ENTITY % hr.attlist  "INCLUDE" >
<![%hr.attlist;[
<!ATTLIST %hr.qname;
      %Common.attrib;
>
<!-- end of hr.attlist -->]]>

<!-- end of xhtml-blkpres-1.mod -->
]]>

<!-- end of xhtml-pres-1.mod -->
]]>

<!-- Link Element Module  ........................................ -->
<!ENTITY % xhtml-link.module "INCLUDE" >
<![%xhtml-link.module;[
<!ENTITY % xhtml-link.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Link Element Module  ........................................... -->
<!-- file: xhtml-link-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-link-1.mod,v 4.1 2001/04/05 06:57:40 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Link element

        link

     This module declares the link element type and its attributes,
     which could (in principle) be used to define document-level links
     to external resources such as:

     a) for document specific toolbars/menus, 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 style sheets 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")
-->

<!-- link: Media-Independent Link ...................... -->

<!ENTITY % link.element  "INCLUDE" >
<![%link.element;[
<!ENTITY % link.content  "EMPTY" >
<!ENTITY % link.qname  "link" >
<!ELEMENT %link.qname;  %link.content; >
<!-- end of link.element -->]]>

<!ENTITY % link.attlist  "INCLUDE" >
<![%link.attlist;[
<!ATTLIST %link.qname;
      %Common.attrib;
      charset      %Charset.datatype;       #IMPLIED
      href         %URI.datatype;           #IMPLIED
      hreflang     %LanguageCode.datatype;  #IMPLIED
      type         %ContentType.datatype;   #IMPLIED
      rel          %LinkTypes.datatype;     #IMPLIED
      rev          %LinkTypes.datatype;     #IMPLIED
      media        %MediaDesc.datatype;     #IMPLIED
>
<!-- end of link.attlist -->]]>

<!-- end of xhtml-link-1.mod -->
]]>

<!-- Document Metainformation Module  ............................ -->
<!ENTITY % xhtml-meta.module "INCLUDE" >
<![%xhtml-meta.module;[
<!ENTITY % xhtml-meta.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Document Metainformation Module  ............................... -->
<!-- file: xhtml-meta-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-meta-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Meta Information

        meta

     This module declares the meta element type and its attributes,
     used to provide declarative document metainformation.
-->

<!-- meta: Generic Metainformation ..................... -->

<!ENTITY % meta.element  "INCLUDE" >
<![%meta.element;[
<!ENTITY % meta.content  "EMPTY" >
<!ENTITY % meta.qname  "meta" >
<!ELEMENT %meta.qname;  %meta.content; >
<!-- end of meta.element -->]]>

<!ENTITY % meta.attlist  "INCLUDE" >
<![%meta.attlist;[
<!ATTLIST %meta.qname;
      %XHTML.xmlns.attrib;
      %I18n.attrib;
      http-equiv   NMTOKEN                  #IMPLIED
      name         NMTOKEN                  #IMPLIED
      content      CDATA                    #REQUIRED
      scheme       CDATA                    #IMPLIED
>
<!-- end of meta.attlist -->]]>

<!-- end of xhtml-meta-1.mod -->
]]>

<!-- Base Element Module  ........................................ -->
<!ENTITY % xhtml-base.module "INCLUDE" >
<![%xhtml-base.module;[
<!ENTITY % xhtml-base.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Base Element Module  ........................................... -->
<!-- file: xhtml-base-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-base-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Base element

        base

     This module declares the base element type and its attributes,
     used to define a base URI against which relative URIs in the
     document will be resolved.

     Note that this module also redeclares the content model for
     the head element to include the base element.
-->

<!-- base: Document Base URI ........................... -->

<!ENTITY % base.element  "INCLUDE" >
<![%base.element;[
<!ENTITY % base.content  "EMPTY" >
<!ENTITY % base.qname  "base" >
<!ELEMENT %base.qname;  %base.content; >
<!-- end of base.element -->]]>

<!ENTITY % base.attlist  "INCLUDE" >
<![%base.attlist;[
<!ATTLIST %base.qname;
      %XHTML.xmlns.attrib;
      href         %URI.datatype;           #REQUIRED
>
<!-- end of base.attlist -->]]>

<!ENTITY % head.content
    "( %HeadOpts.mix;,
     ( ( %title.qname;, %HeadOpts.mix;, ( %base.qname;, %HeadOpts.mix; )? )
     | ( %base.qname;, %HeadOpts.mix;, ( %title.qname;, %HeadOpts.mix; ))))"
>

<!-- end of xhtml-base-1.mod -->
]]>

<!-- Scripting Module  ........................................... -->
<!ENTITY % xhtml-script.module "INCLUDE" >
<![%xhtml-script.module;[
<!ENTITY % xhtml-script.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Document Scripting Module  ..................................... -->
<!-- file: xhtml-script-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-script-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Scripting

        script, noscript

     This module declares element types and attributes used to provide
     support for executable scripts as well as an alternate content
     container where scripts are not supported.
-->

<!-- script: Scripting Statement ....................... -->

<!ENTITY % script.element  "INCLUDE" >
<![%script.element;[
<!ENTITY % script.content  "( #PCDATA )" >
<!ENTITY % script.qname  "script" >
<!ELEMENT %script.qname;  %script.content; >
<!-- end of script.element -->]]>

<!ENTITY % script.attlist  "INCLUDE" >
<![%script.attlist;[
<!ATTLIST %script.qname;
      %XHTML.xmlns.attrib;
      charset      %Charset.datatype;       #IMPLIED
      type         %ContentType.datatype;   #REQUIRED
      src          %URI.datatype;           #IMPLIED
      defer        ( defer )                #IMPLIED
      xml:space    ( preserve )             #FIXED 'preserve'
>
<!-- end of script.attlist -->]]>

<!-- noscript: No-Script Alternate Content ............. -->

<!ENTITY % noscript.element  "INCLUDE" >
<![%noscript.element;[
<!ENTITY % noscript.content
     "( %Block.mix; )+"
>
<!ENTITY % noscript.qname  "noscript" >
<!ELEMENT %noscript.qname;  %noscript.content; >
<!-- end of noscript.element -->]]>

<!ENTITY % noscript.attlist  "INCLUDE" >
<![%noscript.attlist;[
<!ATTLIST %noscript.qname;
      %Common.attrib;
>
<!-- end of noscript.attlist -->]]>

<!-- end of xhtml-script-1.mod -->
]]>

<!-- Style Sheets Module  ......................................... -->
<!ENTITY % xhtml-style.module "INCLUDE" >
<![%xhtml-style.module;[
<!ENTITY % xhtml-style.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Document Style Sheet Module  ................................... -->
<!-- file: xhtml-style-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-style-1.mod,v 4.1 2001/04/05 06:57:40 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//DTD XHTML Style Sheets 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Style Sheets

        style

     This module declares the style element type and its attributes,
     used to embed style sheet information in the document head element.
-->

<!-- style: Style Sheet Information .................... -->

<!ENTITY % style.element  "INCLUDE" >
<![%style.element;[
<!ENTITY % style.content  "( #PCDATA )" >
<!ENTITY % style.qname  "style" >
<!ELEMENT %style.qname;  %style.content; >
<!-- end of style.element -->]]>

<!ENTITY % style.attlist  "INCLUDE" >
<![%style.attlist;[
<!ATTLIST %style.qname;
      %XHTML.xmlns.attrib;
      %title.attrib;
      %I18n.attrib;
      type         %ContentType.datatype;   #REQUIRED
      media        %MediaDesc.datatype;     #IMPLIED
      xml:space    ( preserve )             #FIXED 'preserve'
>
<!-- end of style.attlist -->]]>

<!-- end of xhtml-style-1.mod -->
]]>

<!-- Image Module  ............................................... -->
<!ENTITY % xhtml-image.module "INCLUDE" >
<![%xhtml-image.module;[
<!ENTITY % xhtml-image.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-image-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Images Module  ................................................. -->
<!-- file: xhtml-image-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Rovision: $Id: xhtml-image-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-image-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Images

        img

     This module provides markup to support basic image embedding.
-->

<!-- To avoid problems with text-only UAs as well as to make
     image content understandable and navigable to users of
     non-visual UAs, you need to provide a description with
     the 'alt' attribute, and avoid server-side image maps.
-->

<!ENTITY % img.element  "INCLUDE" >
<![%img.element;[
<!ENTITY % img.content  "EMPTY" >
<!ENTITY % img.qname  "img" >
<!ELEMENT %img.qname;  %img.content; >
<!-- end of img.element -->]]>

<!ENTITY % img.attlist  "INCLUDE" >
<![%img.attlist;[
<!ATTLIST %img.qname;
      %Common.attrib;
      src          %URI.datatype;           #REQUIRED
      alt          %Text.datatype;          #REQUIRED
      longdesc     %URI.datatype;           #IMPLIED
      height       %Length.datatype;        #IMPLIED
      width        %Length.datatype;        #IMPLIED
>
<!-- end of img.attlist -->]]>

<!-- end of xhtml-image-1.mod -->
]]>

<!-- Client-side Image Map Module  ............................... -->
<!ENTITY % xhtml-csismap.module "INCLUDE" >
<![%xhtml-csismap.module;[
<!ENTITY % xhtml-csismap.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-csismap-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Client-side Image Map Module  .................................. -->
<!-- file: xhtml-csismap-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-csismap-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-csismap-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Client-side Image Maps

        area, map

     This module declares elements and attributes to support client-side
     image maps. This requires that the Image Module (or a module
     declaring the img element type) be included in the DTD.

     These can be placed in the same document or grouped in a
     separate document, although the latter isn't widely supported
-->

<!ENTITY % area.element  "INCLUDE" >
<![%area.element;[
<!ENTITY % area.content  "EMPTY" >
<!ENTITY % area.qname  "area" >
<!ELEMENT %area.qname;  %area.content; >
<!-- end of area.element -->]]>

<!ENTITY % Shape.datatype "( rect | circle | poly | default )">
<!ENTITY % Coords.datatype "CDATA" >

<!ENTITY % area.attlist  "INCLUDE" >
<![%area.attlist;[
<!ATTLIST %area.qname;
      %Common.attrib;
      href         %URI.datatype;           #IMPLIED
      shape        %Shape.datatype;         'rect'
      coords       %Coords.datatype;        #IMPLIED
      nohref       ( nohref )               #IMPLIED
      alt          %Text.datatype;          #REQUIRED
      tabindex     %Number.datatype;        #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of area.attlist -->]]>

<!-- modify anchor attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST %a.qname;
      shape        %Shape.datatype;         'rect'
      coords       %Coords.datatype;        #IMPLIED
>

<!-- modify img attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST %img.qname;
      usemap       IDREF                    #IMPLIED
>

<!-- modify form input attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST %input.qname;
      usemap       IDREF                    #IMPLIED
>

<!-- modify object attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST %object.qname;
      usemap       IDREF                    #IMPLIED
>

<!-- 'usemap' points to the 'id' attribute of a <map> element,
     which must be in the same document; support for external
     document maps was not widely supported in HTML and is
     eliminated in XHTML.

     It is considered an error for the element pointed to by
     a usemap IDREF to occur in anything but a <map> element.
-->

<!ENTITY % map.element  "INCLUDE" >
<![%map.element;[
<!ENTITY % map.content
     "(( %Block.mix; ) | %area.qname; )+"
>
<!ENTITY % map.qname  "map" >
<!ELEMENT %map.qname;  %map.content; >
<!-- end of map.element -->]]>

<!ENTITY % map.attlist  "INCLUDE" >
<![%map.attlist;[
<!ATTLIST %map.qname;
      %XHTML.xmlns.attrib;
      id           ID                       #REQUIRED
      %class.attrib;
      %title.attrib;
      %Core.extra.attrib;
      %I18n.attrib;
      %Events.attrib;
>
<!-- end of map.attlist -->]]>

<!-- end of xhtml-csismap-1.mod -->
]]>

<!-- Server-side Image Map Module  ............................... -->
<!ENTITY % xhtml-ssismap.module "INCLUDE" >
<![%xhtml-ssismap.module;[
<!ENTITY % xhtml-ssismap.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-ssismap-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Server-side Image Map Module  .................................. -->
<!-- file: xhtml-ssismap-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-ssismap-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-ssismap-1.mod"

     Revisions:
#2000-10-22: added declaration for 'ismap' on <input>
     ....................................................................... -->

<!-- Server-side Image Maps

     This adds the 'ismap' attribute to the img and input elements
     to support server-side processing of a user selection.
-->

<!ATTLIST %img.qname;
      ismap        ( ismap )                #IMPLIED
>

<!ATTLIST %input.qname;
      ismap        ( ismap )                #IMPLIED
>

<!-- end of xhtml-ssismap-1.mod -->
]]>

<!-- Param Element Module  ....................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-param-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Param Element Module  ..................................... -->
<!-- file: xhtml-param-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-param-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-param-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Parameters for Java Applets and Embedded Objects

        param

     This module provides declarations for the param element,
     used to provide named property values for the applet
     and object elements.
-->

<!-- param: Named Property Value ....................... -->

<!ENTITY % param.element  "INCLUDE" >
<![%param.element;[
<!ENTITY % param.content  "EMPTY" >
<!ENTITY % param.qname  "param" >
<!ELEMENT %param.qname;  %param.content; >
<!-- end of param.element -->]]>

<!ENTITY % param.attlist  "INCLUDE" >
<![%param.attlist;[
<!ATTLIST %param.qname;
      %XHTML.xmlns.attrib;
      %id.attrib;
      name         CDATA                    #REQUIRED
      value        CDATA                    #IMPLIED
      valuetype    ( data | ref | object )  'data'
      type         %ContentType.datatype;   #IMPLIED
>
<!-- end of param.attlist -->]]>

<!-- end of xhtml-param-1.mod -->
]]>

<!-- Embedded Object Module  ..................................... -->
<!ENTITY % xhtml-object.module "INCLUDE" >
<![%xhtml-object.module;[
<!ENTITY % xhtml-object.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-object-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Embedded Object Module  ........................................ -->
<!-- file: xhtml-object-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-object-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-object-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Embedded Objects

        object

     This module declares the object element type and its attributes, used
     to embed external objects as part of XHTML pages. In the document,
     place param elements prior to other content within the object element.

     Note that use of this module requires instantiation of the Param
     Element Module.
-->

<!-- object: Generic Embedded Object ................... -->

<!ENTITY % object.element  "INCLUDE" >
<![%object.element;[
<!ENTITY % object.content
     "( #PCDATA | %Flow.mix; | %param.qname; )*"
>
<!ENTITY % object.qname  "object" >
<!ELEMENT %object.qname;  %object.content; >
<!-- end of object.element -->]]>

<!ENTITY % object.attlist  "INCLUDE" >
<![%object.attlist;[
<!ATTLIST %object.qname;
      %Common.attrib;
      declare      ( declare )              #IMPLIED
      classid      %URI.datatype;           #IMPLIED
      codebase     %URI.datatype;           #IMPLIED
      data         %URI.datatype;           #IMPLIED
      type         %ContentType.datatype;   #IMPLIED
      codetype     %ContentType.datatype;   #IMPLIED
      archive      %URIs.datatype;          #IMPLIED
      standby      %Text.datatype;          #IMPLIED
      height       %Length.datatype;        #IMPLIED
      width        %Length.datatype;        #IMPLIED
      name         CDATA                    #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
>
<!-- end of object.attlist -->]]>

<!-- end of xhtml-object-1.mod -->
]]>

<!-- Tables Module ............................................... -->
<!ENTITY % xhtml-table.module "INCLUDE" >
<![%xhtml-table.module;[
<!ENTITY % xhtml-table.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Table Module  .................................................. -->
<!-- file: xhtml-table-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-table-1.mod,v 4.1 2001/04/10 09:42:30 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Tables

        table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td

     This module declares element types and attributes used to provide
     table markup similar to HTML 4, including features that enable
     better accessibility for non-visual user agents.
-->

<!-- declare qualified element type names:
-->
<!ENTITY % table.qname  "table" >
<!ENTITY % caption.qname  "caption" >
<!ENTITY % thead.qname  "thead" >
<!ENTITY % tfoot.qname  "tfoot" >
<!ENTITY % tbody.qname  "tbody" >
<!ENTITY % colgroup.qname  "colgroup" >
<!ENTITY % col.qname  "col" >
<!ENTITY % tr.qname  "tr" >
<!ENTITY % th.qname  "th" >
<!ENTITY % td.qname  "td" >

<!-- 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 % frame.attrib
     "frame        ( void
                   | above
                   | below
                   | hsides
                   | lhs
                   | rhs
                   | vsides
                   | box
                   | border )               #IMPLIED"
>

<!-- 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 % rules.attrib
     "rules        ( none
                   | groups
                   | rows
                   | cols
                   | all )                  #IMPLIED"
>

<!-- horizontal alignment attributes for cell contents
-->
<!ENTITY % CellHAlign.attrib
     "align        ( left
                   | center
                   | right
                   | justify
                   | char )                 #IMPLIED
      char         %Character.datatype;     #IMPLIED
      charoff      %Length.datatype;        #IMPLIED"
>

<!-- vertical alignment attribute for cell contents
-->
<!ENTITY % CellVAlign.attrib
     "valign       ( top
                   | middle
                   | bottom
                   | baseline )             #IMPLIED"
>

<!-- scope is simpler than axes attribute for common tables
-->
<!ENTITY % scope.attrib
     "scope        ( row
                   | col
                   | rowgroup
                   | colgroup )             #IMPLIED"
>

<!-- table: Table Element .............................. -->

<!ENTITY % table.element  "INCLUDE" >
<![%table.element;[
<!ENTITY % table.content
     "( %caption.qname;?, ( %col.qname;* | %colgroup.qname;* ),
      (( %thead.qname;?, %tfoot.qname;?, %tbody.qname;+ ) | ( %tr.qname;+ )))"
>
<!ELEMENT %table.qname;  %table.content; >
<!-- end of table.element -->]]>

<!ENTITY % table.attlist  "INCLUDE" >
<![%table.attlist;[
<!ATTLIST %table.qname;
      %Common.attrib;
      summary      %Text.datatype;          #IMPLIED
      width        %Length.datatype;        #IMPLIED
      border       %Pixels.datatype;        #IMPLIED
      %frame.attrib;
      %rules.attrib;
      cellspacing  %Length.datatype;        #IMPLIED
      cellpadding  %Length.datatype;        #IMPLIED
>
<!-- end of table.attlist -->]]>

<!-- caption: Table Caption ............................ -->

<!ENTITY % caption.element  "INCLUDE" >
<![%caption.element;[
<!ENTITY % caption.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT %caption.qname;  %caption.content; >
<!-- end of caption.element -->]]>

<!ENTITY % caption.attlist  "INCLUDE" >
<![%caption.attlist;[
<!ATTLIST %caption.qname;
      %Common.attrib;
>
<!-- end of caption.attlist -->]]>

<!-- thead: Table Header ............................... -->

<!-- Use thead to duplicate headers when breaking table
     across page boundaries, or for static headers when
     tbody sections are rendered in scrolling panel.
-->

<!ENTITY % thead.element  "INCLUDE" >
<![%thead.element;[
<!ENTITY % thead.content  "( %tr.qname; )+" >
<!ELEMENT %thead.qname;  %thead.content; >
<!-- end of thead.element -->]]>

<!ENTITY % thead.attlist  "INCLUDE" >
<![%thead.attlist;[
<!ATTLIST %thead.qname;
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of thead.attlist -->]]>

<!-- tfoot: Table Footer ............................... -->

<!-- Use tfoot to duplicate footers when breaking table
     across page boundaries, or for static footers when
     tbody sections are rendered in scrolling panel.
-->

<!ENTITY % tfoot.element  "INCLUDE" >
<![%tfoot.element;[
<!ENTITY % tfoot.content  "( %tr.qname; )+" >
<!ELEMENT %tfoot.qname;  %tfoot.content; >
<!-- end of tfoot.element -->]]>

<!ENTITY % tfoot.attlist  "INCLUDE" >
<![%tfoot.attlist;[
<!ATTLIST %tfoot.qname;
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of tfoot.attlist -->]]>

<!-- tbody: Table Body ................................. -->

<!-- Use multiple tbody sections when rules are needed
     between groups of table rows.
-->

<!ENTITY % tbody.element  "INCLUDE" >
<![%tbody.element;[
<!ENTITY % tbody.content  "( %tr.qname; )+" >
<!ELEMENT %tbody.qname;  %tbody.content; >
<!-- end of tbody.element -->]]>

<!ENTITY % tbody.attlist  "INCLUDE" >
<![%tbody.attlist;[
<!ATTLIST %tbody.qname;
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of tbody.attlist -->]]>

<!-- colgroup: Table Column Group ...................... -->

<!-- colgroup groups a set of col elements. It allows you
     to group several semantically-related columns together.
-->

<!ENTITY % colgroup.element  "INCLUDE" >
<![%colgroup.element;[
<!ENTITY % colgroup.content  "( %col.qname; )*" >
<!ELEMENT %colgroup.qname;  %colgroup.content; >
<!-- end of colgroup.element -->]]>

<!ENTITY % colgroup.attlist  "INCLUDE" >
<![%colgroup.attlist;[
<!ATTLIST %colgroup.qname;
      %Common.attrib;
      span         %Number.datatype;        '1'
      width        %MultiLength.datatype;   #IMPLIED
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of colgroup.attlist -->]]>

<!-- col: Table Column ................................. -->

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

<!ENTITY % col.element  "INCLUDE" >
<![%col.element;[
<!ENTITY % col.content  "EMPTY" >
<!ELEMENT %col.qname;  %col.content; >
<!-- end of col.element -->]]>

<!ENTITY % col.attlist  "INCLUDE" >
<![%col.attlist;[
<!ATTLIST %col.qname;
      %Common.attrib;
      span         %Number.datatype;        '1'
      width        %MultiLength.datatype;   #IMPLIED
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of col.attlist -->]]>

<!-- tr: Table Row ..................................... -->

<!ENTITY % tr.element  "INCLUDE" >
<![%tr.element;[
<!ENTITY % tr.content  "( %th.qname; | %td.qname; )+" >
<!ELEMENT %tr.qname;  %tr.content; >
<!-- end of tr.element -->]]>

<!ENTITY % tr.attlist  "INCLUDE" >
<![%tr.attlist;[
<!ATTLIST %tr.qname;
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of tr.attlist -->]]>

<!-- th: Table Header Cell ............................. -->

<!-- th is for header cells, td for data,
     but for cells acting as both use td
-->

<!ENTITY % th.element  "INCLUDE" >
<![%th.element;[
<!ENTITY % th.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT %th.qname;  %th.content; >
<!-- end of th.element -->]]>

<!ENTITY % th.attlist  "INCLUDE" >
<![%th.attlist;[
<!ATTLIST %th.qname;
      %Common.attrib;
      abbr         %Text.datatype;          #IMPLIED
      axis         CDATA                    #IMPLIED
      headers      IDREFS                   #IMPLIED
      %scope.attrib;
      rowspan      %Number.datatype;        '1'
      colspan      %Number.datatype;        '1'
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of th.attlist -->]]>

<!-- td: Table Data Cell ............................... -->

<!ENTITY % td.element  "INCLUDE" >
<![%td.element;[
<!ENTITY % td.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT %td.qname;  %td.content; >
<!-- end of td.element -->]]>

<!ENTITY % td.attlist  "INCLUDE" >
<![%td.attlist;[
<!ATTLIST %td.qname;
      %Common.attrib;
      abbr         %Text.datatype;          #IMPLIED
      axis         CDATA                    #IMPLIED
      headers      IDREFS                   #IMPLIED
      %scope.attrib;
      rowspan      %Number.datatype;        '1'
      colspan      %Number.datatype;        '1'
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of td.attlist -->]]>

<!-- end of xhtml-table-1.mod -->
]]>

<!-- Forms Module  ............................................... -->
<!ENTITY % xhtml-form.module "INCLUDE" >
<![%xhtml-form.module;[
<!ENTITY % xhtml-form.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Forms Module  .................................................. -->
<!-- file: xhtml-form-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-form-1.mod,v 4.1 2001/04/10 09:42:30 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Forms

        form, label, input, select, optgroup, option,
        textarea, fieldset, legend, button

     This module declares markup to provide support for online
     forms, based on the features found in HTML 4 forms.
-->

<!-- declare qualified element type names:
-->
<!ENTITY % form.qname  "form" >
<!ENTITY % label.qname  "label" >
<!ENTITY % input.qname  "input" >
<!ENTITY % select.qname  "select" >
<!ENTITY % optgroup.qname  "optgroup" >
<!ENTITY % option.qname  "option" >
<!ENTITY % textarea.qname  "textarea" >
<!ENTITY % fieldset.qname  "fieldset" >
<!ENTITY % legend.qname  "legend" >
<!ENTITY % button.qname  "button" >

<!-- %BlkNoForm.mix; includes all non-form block elements,
     plus %Misc.class;
-->
<!ENTITY % BlkNoForm.mix
     "%Heading.class;
      | %List.class;
      | %BlkStruct.class;
      %BlkPhras.class;
      %BlkPres.class;
      %Table.class;
      %Block.extra;
      %Misc.class;"
>

<!-- form: Form Element ................................ -->

<!ENTITY % form.element  "INCLUDE" >
<![%form.element;[
<!ENTITY % form.content
     "( %BlkNoForm.mix;
      | %fieldset.qname; )+"
>
<!ELEMENT %form.qname;  %form.content; >
<!-- end of form.element -->]]>

<!ENTITY % form.attlist  "INCLUDE" >
<![%form.attlist;[
<!ATTLIST %form.qname;
      %Common.attrib;
      action       %URI.datatype;           #REQUIRED
      method       ( get | post )           'get'
      enctype      %ContentType.datatype;   'application/x-www-form-urlencoded'
      accept-charset %Charsets.datatype;    #IMPLIED
      accept       %ContentTypes.datatype;  #IMPLIED
>
<!-- end of form.attlist -->]]>

<!-- label: Form Field Label Text ...................... -->

<!-- Each label must not contain more than ONE field
-->

<!ENTITY % label.element  "INCLUDE" >
<![%label.element;[
<!ENTITY % label.content
     "( #PCDATA
      | %input.qname; | %select.qname; | %textarea.qname; | %button.qname;
      | %InlStruct.class;
      %InlPhras.class;
      %I18n.class;
      %InlPres.class;
      %Anchor.class;
      %InlSpecial.class;
      %Inline.extra;
      %Misc.class; )*"
>
<!ELEMENT %label.qname;  %label.content; >
<!-- end of label.element -->]]>

<!ENTITY % label.attlist  "INCLUDE" >
<![%label.attlist;[
<!ATTLIST %label.qname;
      %Common.attrib;
      for          IDREF                    #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of label.attlist -->]]>

<!-- input: Form Control ............................... -->

<!ENTITY % input.element  "INCLUDE" >
<![%input.element;[
<!ENTITY % input.content  "EMPTY" >
<!ELEMENT %input.qname;  %input.content; >
<!-- end of input.element -->]]>

<!ENTITY % input.attlist  "INCLUDE" >
<![%input.attlist;[
<!ENTITY % InputType.class
     "( text | password | checkbox | radio | submit
      | reset | file | hidden | image | button )"
>
<!-- attribute 'name' required for all but submit & reset
-->
<!ATTLIST %input.qname;
      %Common.attrib;
      type         %InputType.class;        'text'
      name         CDATA                    #IMPLIED
      value        CDATA                    #IMPLIED
      checked      ( checked )              #IMPLIED
      disabled     ( disabled )             #IMPLIED
      readonly     ( readonly )             #IMPLIED
      size         %Number.datatype;        #IMPLIED
      maxlength    %Number.datatype;        #IMPLIED
      src          %URI.datatype;           #IMPLIED
      alt          %Text.datatype;          #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
      accept       %ContentTypes.datatype;  #IMPLIED
>
<!-- end of input.attlist -->]]>

<!-- select: Option Selector ........................... -->

<!ENTITY % select.element  "INCLUDE" >
<![%select.element;[
<!ENTITY % select.content
     "( %optgroup.qname; | %option.qname; )+"
>
<!ELEMENT %select.qname;  %select.content; >
<!-- end of select.element -->]]>

<!ENTITY % select.attlist  "INCLUDE" >
<![%select.attlist;[
<!ATTLIST %select.qname;
      %Common.attrib;
      name         CDATA                    #IMPLIED
      size         %Number.datatype;        #IMPLIED
      multiple     ( multiple )             #IMPLIED
      disabled     ( disabled )             #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
>
<!-- end of select.attlist -->]]>

<!-- optgroup: Option Group ............................ -->

<!ENTITY % optgroup.element  "INCLUDE" >
<![%optgroup.element;[
<!ENTITY % optgroup.content  "( %option.qname; )+" >
<!ELEMENT %optgroup.qname;  %optgroup.content; >
<!-- end of optgroup.element -->]]>

<!ENTITY % optgroup.attlist  "INCLUDE" >
<![%optgroup.attlist;[
<!ATTLIST %optgroup.qname;
      %Common.attrib;
      disabled     ( disabled )             #IMPLIED
      label        %Text.datatype;          #REQUIRED
>
<!-- end of optgroup.attlist -->]]>

<!-- option: Selectable Choice ......................... -->

<!ENTITY % option.element  "INCLUDE" >
<![%option.element;[
<!ENTITY % option.content  "( #PCDATA )" >
<!ELEMENT %option.qname;  %option.content; >
<!-- end of option.element -->]]>

<!ENTITY % option.attlist  "INCLUDE" >
<![%option.attlist;[
<!ATTLIST %option.qname;
      %Common.attrib;
      selected     ( selected )             #IMPLIED
      disabled     ( disabled )             #IMPLIED
      label        %Text.datatype;          #IMPLIED
      value        CDATA                    #IMPLIED
>
<!-- end of option.attlist -->]]>

<!-- textarea: Multi-Line Text Field ................... -->

<!ENTITY % textarea.element  "INCLUDE" >
<![%textarea.element;[
<!ENTITY % textarea.content  "( #PCDATA )" >
<!ELEMENT %textarea.qname;  %textarea.content; >
<!-- end of textarea.element -->]]>

<!ENTITY % textarea.attlist  "INCLUDE" >
<![%textarea.attlist;[
<!ATTLIST %textarea.qname;
      %Common.attrib;
      name         CDATA                    #IMPLIED
      rows         %Number.datatype;        #REQUIRED
      cols         %Number.datatype;        #REQUIRED
      disabled     ( disabled )             #IMPLIED
      readonly     ( readonly )             #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of textarea.attlist -->]]>

<!-- fieldset: Form Control Group ...................... -->

<!-- #PCDATA is to solve the mixed content problem,
     per specification only whitespace is allowed
-->

<!ENTITY % fieldset.element  "INCLUDE" >
<![%fieldset.element;[
<!ENTITY % fieldset.content
     "( #PCDATA | %legend.qname; | %Flow.mix; )*"
>
<!ELEMENT %fieldset.qname;  %fieldset.content; >
<!-- end of fieldset.element -->]]>

<!ENTITY % fieldset.attlist  "INCLUDE" >
<![%fieldset.attlist;[
<!ATTLIST %fieldset.qname;
      %Common.attrib;
>
<!-- end of fieldset.attlist -->]]>

<!-- legend: Fieldset Legend ........................... -->

<!ENTITY % legend.element  "INCLUDE" >
<![%legend.element;[
<!ENTITY % legend.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT %legend.qname;  %legend.content; >
<!-- end of legend.element -->]]>

<!ENTITY % legend.attlist  "INCLUDE" >
<![%legend.attlist;[
<!ATTLIST %legend.qname;
      %Common.attrib;
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of legend.attlist -->]]>

<!-- button: Push Button ............................... -->

<!ENTITY % button.element  "INCLUDE" >
<![%button.element;[
<!ENTITY % button.content
     "( #PCDATA
      | %BlkNoForm.mix;
      | %InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %I18n.class;
      %InlSpecial.class;
      %Inline.extra; )*"
>
<!ELEMENT %button.qname;  %button.content; >
<!-- end of button.element -->]]>

<!ENTITY % button.attlist  "INCLUDE" >
<![%button.attlist;[
<!ATTLIST %button.qname;
      %Common.attrib;
      name         CDATA                    #IMPLIED
      value        CDATA                    #IMPLIED
      type         ( button | submit | reset ) 'submit'
      disabled     ( disabled )             #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of button.attlist -->]]>

<!-- end of xhtml-form-1.mod -->
]]>

<!-- Legacy Markup ............................................... -->
<!ENTITY % xhtml-legacy.module "IGNORE" >
<![%xhtml-legacy.module;[
<!ENTITY % xhtml-legacy.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-legacy-1.mod" >
%xhtml-legacy.mod;]]>

<!-- Document Structure Module (required)  ....................... -->
<!ENTITY % xhtml-struct.module "INCLUDE" >
<![%xhtml-struct.module;[
<!ENTITY % xhtml-struct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
            "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod" >
<!-- ...................................................................... -->
<!-- XHTML Structure Module  .............................................. -->
<!-- file: xhtml-struct-1.mod

     This is XHTML, a reformulation of HTML as a modular XML application.
     Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: $Id: xhtml-struct-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
       SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Document Structure

        title, head, body, html

     The Structure Module defines the major structural elements and
     their attributes.

     Note that the content model of the head element type is redeclared
     when the Base Module is included in the DTD.

     The parameter entity containing the XML namespace URI value used
     for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module.
-->

<!-- title: Document Title ............................. -->

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

<!ENTITY % title.element  "INCLUDE" >
<![%title.element;[
<!ENTITY % title.content  "( #PCDATA )" >
<!ENTITY % title.qname  "title" >
<!ELEMENT %title.qname;  %title.content; >
<!-- end of title.element -->]]>

<!ENTITY % title.attlist  "INCLUDE" >
<![%title.attlist;[
<!ATTLIST %title.qname;
      %XHTML.xmlns.attrib;
      %I18n.attrib;
>
<!-- end of title.attlist -->]]>

<!-- head: Document Head ............................... -->

<!ENTITY % head.element  "INCLUDE" >
<![%head.element;[
<!ENTITY % head.content
    "( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )"
>
<!ENTITY % head.qname  "head" >
<!ELEMENT %head.qname;  %head.content; >
<!-- end of head.element -->]]>

<!ENTITY % head.attlist  "INCLUDE" >
<![%head.attlist;[
<!-- reserved for future use with document profiles
-->
<!ENTITY % profile.attrib
     "profile      %URI.datatype;           '%XHTML.profile;'"
>

<!ATTLIST %head.qname;
      %XHTML.xmlns.attrib;
      %I18n.attrib;
      %profile.attrib;
>
<!-- end of head.attlist -->]]>

<!-- body: Document Body ............................... -->

<!ENTITY % body.element  "INCLUDE" >
<![%body.element;[
<!ENTITY % body.content
     "( %Block.mix; )+"
>
<!ENTITY % body.qname  "body" >
<!ELEMENT %body.qname;  %body.content; >
<!-- end of body.element -->]]>

<!ENTITY % body.attlist  "INCLUDE" >
<![%body.attlist;[
<!ATTLIST %body.qname;
      %Common.attrib;
>
<!-- end of body.attlist -->]]>

<!-- html: XHTML Document Element ...................... -->

<!ENTITY % html.element  "INCLUDE" >
<![%html.element;[
<!ENTITY % html.content  "( %head.qname;, %body.qname; )" >
<!ENTITY % html.qname  "html" >
<!ELEMENT %html.qname;  %html.content; >
<!-- end of html.element -->]]>

<!ENTITY % html.attlist  "INCLUDE" >
<![%html.attlist;[
<!-- version attribute value defined in driver
-->
<!ENTITY % XHTML.version.attrib
     "version      %FPI.datatype;           #FIXED '%XHTML.version;'"
>

<!-- see the Qualified Names module for information
     on how to extend XHTML using XML namespaces
-->
<!ATTLIST %html.qname;
      %XHTML.xmlns.attrib;
      %XHTML.version.attrib;
      %I18n.attrib;
>
<!-- end of html.attlist -->]]>

<!-- end of xhtml-struct-1.mod -->
]]>

<!-- end of XHTML 1.1 DTD  ................................................. -->
<!-- ....................................................................... -->

]]>

<!-- instantiate MathML 2.0 DTD  ................................. -->
<![%MATHML.module;[
<!ENTITY % MATHML.dtd.decl
    'PUBLIC "-//W3C//DTD MathML 2.0//EN"
            "%MATHML.dtd.sysid;"'
>
<!ENTITY % MATHML.dtd %MATHML.dtd.decl; >
<!-- MathML 2.0 DTD  ....................................................... -->
<!-- file: mathml2.dtd
-->

<!-- MathML 2.0 DTD

     This is the Mathematical Markup Language (MathML) 2.0, an XML
     application for describing mathematical notation and capturing
     both its structure and content.

     Copyright 1998-2002 World Wide Web Consortium
        (Massachusetts Institute of Technology, Institut National de
         Recherche en Informatique et en Automatique, Keio University).
         All Rights Reserved.

     Permission to use, copy, modify and distribute the MathML 2.0 DTD and
     its accompanying documentation for any purpose and without fee is
     hereby granted in perpetuity, provided that the above copyright notice
     and this paragraph appear in all copies.  The copyright holders make
     no representation about the suitability of the DTD for any purpose.

     It is provided "as is" without expressed or implied warranty.

        Revision:   $Id: mathml2.dtd,v 1.6 2002/07/05 22:42:53 davidc Exp $

     This entity may be identified by the PUBLIC and SYSTEM identifiers:

       PUBLIC "-//W3C//DTD MathML 2.0//EN"
       SYSTEM "mathml2.dtd"

     Revisions: editor and revision history at EOF
-->


<!-- MathML Qualified Names module ............................... -->
<!ENTITY % mathml-qname.module "INCLUDE" >
<![%mathml-qname.module;[
<!ENTITY % mathml-qname.mod
     PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
            "mathml2-qname-1.mod" >
%mathml-qname.mod;]]>

<!-- if %NS.prefixed; is INCLUDE, include all NS attributes, 
     otherwise just those associated with MathML
-->
<![%NS.prefixed;[
<!ENTITY % MATHML.NamespaceDecl.attrib 
     "%NamespaceDecl.attrib;"
>
]]>
<!ENTITY % MATHML.NamespaceDecl.attrib 
     "%MATHML.xmlns.attrib;"
>

<!ENTITY % XLINK.prefix         "xlink" >

<!-- Attributes shared by all elements  .......................... -->

<!ENTITY % MATHML.Common.attrib
     "%MATHML.NamespaceDecl.attrib;
      %XLINK.prefix;:href   CDATA           #IMPLIED
      %XLINK.prefix;:type   CDATA           #IMPLIED
      class        CDATA                    #IMPLIED
      style        CDATA                    #IMPLIED
      id           ID                       #IMPLIED
      xref         IDREF                    #IMPLIED
      other        CDATA                    #IMPLIED"
>

<!-- Presentation element set  ................................... -->

<!-- Attribute definitions -->

<!ENTITY % att-fontsize
     "fontsize     CDATA                    #IMPLIED" >
<!ENTITY % att-fontweight
     "fontweight   ( normal | bold )        #IMPLIED" >
<!ENTITY % att-fontstyle
     "fontstyle    ( normal | italic )      #IMPLIED" >
<!ENTITY % att-fontfamily
     "fontfamily   CDATA                    #IMPLIED" >
<!ENTITY % att-color
     "color        CDATA                    #IMPLIED" >

<!-- MathML2 typographically-distinguished symbol attributes -->

<!ENTITY % att-mathvariant
     "mathvariant     CDATA                    #IMPLIED" >
<!ENTITY % att-mathsize
     "mathsize     CDATA                    #IMPLIED" >
<!ENTITY % att-mathcolor
     "mathcolor     CDATA                    #IMPLIED" >
<!ENTITY % att-mathbackground
     "mathbackground     CDATA                    #IMPLIED" >

<!ENTITY % att-fontinfo
     "%att-fontsize;
      %att-fontweight;
      %att-fontstyle;
      %att-fontfamily;
      %att-color;
      %att-mathvariant;
      %att-mathsize;
      %att-mathcolor;
      %att-mathbackground;"
>

<!ENTITY % att-form
     "form         ( prefix | infix | postfix )  #IMPLIED" >
<!ENTITY % att-fence
     "fence        ( true | false )         #IMPLIED" >
<!ENTITY % att-separator
     "separator    ( true | false )         #IMPLIED" >
<!ENTITY % att-lspace
     "lspace       CDATA                    #IMPLIED" >
<!ENTITY % att-rspace
     "rspace       CDATA                    #IMPLIED" >
<!ENTITY % att-stretchy
     "stretchy     ( true | false )         #IMPLIED" >
<!ENTITY % att-symmetric
     "symmetric    ( true | false )         #IMPLIED" >
<!ENTITY % att-maxsize
     "maxsize      CDATA                    #IMPLIED" >
<!ENTITY % att-minsize
     "minsize      CDATA                    #IMPLIED" >
<!ENTITY % att-largeop
     "largeop      ( true | false)          #IMPLIED" >
<!ENTITY % att-movablelimits
     "movablelimits ( true | false )        #IMPLIED" >
<!ENTITY % att-accent
     "accent       ( true | false )         #IMPLIED" >

<!ENTITY % att-opinfo
     "%att-form;
      %att-fence;
      %att-separator;
      %att-lspace;
      %att-rspace;
      %att-stretchy;
      %att-symmetric;
      %att-maxsize;
      %att-minsize;
      %att-largeop;
      %att-movablelimits;
      %att-accent;"
>
<!ENTITY % att-width
     "width        CDATA                    #IMPLIED" >
<!ENTITY % att-height
     "height       CDATA                    #IMPLIED" >
<!ENTITY % att-depth
     "depth        CDATA                    #IMPLIED" >
<!ENTITY % att-linebreak
     "linebreak    CDATA                    #IMPLIED" >
<!ENTITY % att-sizeinfo
     "%att-width;
      %att-height;
      %att-depth;"
>
<!ENTITY % att-lquote               
     "lquote       CDATA                    #IMPLIED" >
<!ENTITY % att-rquote               
     "rquote       CDATA                    #IMPLIED" >
<!ENTITY % att-linethickness        
     "linethickness CDATA                   #IMPLIED" >
<!ENTITY % att-scriptlevel          
     "scriptlevel  CDATA                    #IMPLIED" >
<!ENTITY % att-displaystyle         
     "displaystyle ( true | false )         #IMPLIED" >
<!ENTITY % att-scriptsizemultiplier 
     "scriptsizemultiplier CDATA            #IMPLIED" >
<!ENTITY % att-scriptminsize        
     "scriptminsize CDATA                   #IMPLIED" >
<!ENTITY % att-background           
     "background   CDATA                    #IMPLIED" >
<!ENTITY % att-veryverythinmathspace           
     "veryverythinmathspace   CDATA         #IMPLIED" >
<!ENTITY % att-verythinmathspace           
     "verythinmathspace   CDATA             #IMPLIED" >
<!ENTITY % att-thinmathspace           
     "thinmathspace   CDATA                 #IMPLIED" >
<!ENTITY % att-mediummathspace           
     "mediummathspace   CDATA               #IMPLIED" >
<!ENTITY % att-thickmathspace           
     "thickmathspace   CDATA                #IMPLIED" >
<!ENTITY % att-verythickmathspace           
     "verythickmathspace   CDATA            #IMPLIED" >
<!ENTITY % att-veryverythickmathspace           
     "veryverythickmathspace   CDATA        #IMPLIED" >
<!ENTITY % att-open                 
     "open         CDATA                    #IMPLIED" >
<!ENTITY % att-close                
     "close        CDATA                    #IMPLIED" >
<!ENTITY % att-separators          
     "separators   CDATA                    #IMPLIED" >
<!ENTITY % att-subscriptshift       
     "subscriptshift CDATA                  #IMPLIED" >
<!ENTITY % att-superscriptshift     
     "superscriptshift CDATA                #IMPLIED" >
<!ENTITY % att-accentunder          
     "accentunder  ( true | false )         #IMPLIED" >
<!ENTITY % att-align       
     "align        CDATA                    #IMPLIED" >
<!ENTITY % att-numalign       
     "numalign        CDATA                    #IMPLIED" >
<!ENTITY % att-denomalign       
     "denomalign        CDATA                    #IMPLIED" >
<!ENTITY % att-rowalign      
     "rowalign     CDATA                    #IMPLIED" >
<!ENTITY % att-columnalign     
     "columnalign  CDATA                    #IMPLIED" >
<!ENTITY % att-columnwidth   
     "columnwidth  CDATA                    #IMPLIED" >
<!ENTITY % att-groupalign      
     "groupalign   CDATA                    #IMPLIED" >
<!ENTITY % att-alignmentscope 
     "alignmentscope CDATA                  #IMPLIED" >
<!ENTITY % att-rowspacing           
     "rowspacing   CDATA                    #IMPLIED" >
<!ENTITY % att-columnspacing      
     "columnspacing CDATA                   #IMPLIED" >
<!ENTITY % att-rowlines            
     "rowlines     CDATA                    #IMPLIED" >
<!ENTITY % att-columnlines        
     "columnlines  CDATA                    #IMPLIED" >
<!ENTITY % att-frame            
     "frame       ( none | solid | dashed ) #IMPLIED" >
<!ENTITY % att-side           
     "side       ( left | right | leftoverlap | rightoverlap ) #IMPLIED" >
<!ENTITY % att-framespacing         
     "framespacing CDATA                    #IMPLIED" >
<!ENTITY % att-equalrows        
     "equalrows    CDATA                    #IMPLIED" >
<!ENTITY % att-equalcolumns         
     "equalcolumns CDATA                    #IMPLIED" >

<!ENTITY % att-tableinfo            
     "%att-align;
      %att-rowalign;
      %att-columnalign;
      %att-columnwidth;
      %att-groupalign;
      %att-alignmentscope;
      %att-side;
      %att-rowspacing;
      %att-columnspacing;
      %att-rowlines;
      %att-columnlines;
      %att-width;
      %att-frame;
      %att-framespacing;
      %att-equalrows;
      %att-equalcolumns;
      %att-displaystyle;" 
>

<!ENTITY % att-rowspan              
     "rowspan      CDATA                    #IMPLIED" >
<!ENTITY % att-columnspan           
     "columnspan   CDATA                    #IMPLIED" >
<!ENTITY % att-edge        
     "edge         ( left | right )         #IMPLIED" >
<!ENTITY % att-actiontype          
     "actiontype   CDATA                    #IMPLIED" >
<!ENTITY % att-selection       
     "selection    CDATA                    #IMPLIED" >

<!ENTITY % att-name                 
     "name         CDATA                    #IMPLIED" >
<!ENTITY % att-alt              
     "alt          CDATA                    #IMPLIED" >
<!ENTITY % att-index           
     "index        CDATA                    #IMPLIED" >

<!ENTITY % att-bevelled       
     "bevelled      CDATA                    #IMPLIED" >

<!-- Presentation schemata with content -->

<!ENTITY % ptoken                   
     "%mi.qname; | %mn.qname; | %mo.qname;
      | %mtext.qname; | %ms.qname;" >

<!ATTLIST %mi.qname;
      %MATHML.Common.attrib;
      %att-fontinfo;
>

<!ATTLIST %mn.qname;      
      %MATHML.Common.attrib; 
      %att-fontinfo;
>

<!ATTLIST %mo.qname;     
      %MATHML.Common.attrib; 
      %att-fontinfo;
      %att-opinfo;
>

<!ATTLIST %mtext.qname;  
      %MATHML.Common.attrib;
      %att-fontinfo;
>

<!ATTLIST %ms.qname;     
      %MATHML.Common.attrib;
      %att-fontinfo;
      %att-lquote;
      %att-rquote;
>

<!-- Empty presentation schemata -->

<!ENTITY % petoken                  
     "%mspace.qname;" >
<!ELEMENT %mspace.qname;  EMPTY >

<!ATTLIST %mspace.qname; 
      %att-sizeinfo;
      %att-linebreak;
      %MATHML.Common.attrib;
>

<!-- Presentation: general layout schemata -->

<!ENTITY % pgenschema               
     "%mrow.qname; | %mfrac.qname; | %msqrt.qname; | %mroot.qname; 
      | %menclose.qname; | %mstyle.qname; | %merror.qname; 
      | %mpadded.qname; | %mphantom.qname; | %mfenced.qname;" >

<!ATTLIST %mrow.qname;        
      %MATHML.Common.attrib;
>

<!ATTLIST %mfrac.qname;     
      %MATHML.Common.attrib;
      %att-bevelled;
      %att-numalign;
      %att-denomalign;
      %att-linethickness;
>

<!ATTLIST %msqrt.qname;     
      %MATHML.Common.attrib;
>

<!ATTLIST %menclose.qname;  
      %MATHML.Common.attrib;
      notation CDATA 'longdiv' >

<!ATTLIST %mroot.qname;    
      %MATHML.Common.attrib;
>

<!ATTLIST %mstyle.qname;  
      %MATHML.Common.attrib;
      %att-fontinfo;
      %att-opinfo;
      %att-lquote;
      %att-rquote;
      %att-linethickness;
      %att-scriptlevel;
      %att-scriptsizemultiplier;
      %att-scriptminsize;
      %att-background;
      %att-veryverythinmathspace;
      %att-verythinmathspace;
      %att-thinmathspace;
      %att-mediummathspace;
      %att-thickmathspace;
      %att-verythickmathspace;
      %att-veryverythickmathspace;
      %att-open;
      %att-close;
      %att-separators;
      %att-subscriptshift;
      %att-superscriptshift;
      %att-accentunder;
      %att-tableinfo;
      %att-rowspan;
      %att-columnspan;
      %att-edge;
      %att-actiontype;
      %att-selection;
>

<!ATTLIST %merror.qname;   
      %MATHML.Common.attrib;
>

<!ATTLIST %mpadded.qname;     
      %MATHML.Common.attrib;
      %att-sizeinfo;
      %att-lspace;
>

<!ATTLIST %mphantom.qname;      
      %MATHML.Common.attrib;
>

<!ATTLIST %mfenced.qname;     
      %MATHML.Common.attrib;
      %att-open;
      %att-close;
      %att-separators;
>

<!-- Presentation layout schemata: scripts and limits -->

<!ENTITY % pscrschema               
     "%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname; 
      | %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >

<!ATTLIST %msub.qname;      
      %MATHML.Common.attrib;
      %att-subscriptshift;
>

<!ATTLIST %msup.qname;         
      %MATHML.Common.attrib;
      %att-superscriptshift;
>

<!ATTLIST %msubsup.qname;    
      %MATHML.Common.attrib;
      %att-subscriptshift;
      %att-superscriptshift;
>

<!ATTLIST %munder.qname;   
      %MATHML.Common.attrib;
      %att-accentunder;
>

<!ATTLIST %mover.qname;   
      %MATHML.Common.attrib;
      %att-accent;
>

<!ATTLIST %munderover.qname;   
      %MATHML.Common.attrib;
      %att-accent;
      %att-accentunder;
>

<!ATTLIST %mmultiscripts.qname;   
      %MATHML.Common.attrib;
      %att-subscriptshift;
      %att-superscriptshift;
>

<!-- Presentation layout schemata: empty elements for scripts -->

<!ENTITY % pscreschema              
     "%mprescripts.qname; | %none.qname;" >

<!ELEMENT %mprescripts.qname;  EMPTY >
<!ATTLIST %mprescripts.qname;   
      %MATHML.xmlns.attrib; >

<!ELEMENT %none.qname;  EMPTY >
<!ATTLIST %none.qname;    
      %MATHML.xmlns.attrib; >

<!-- Presentation layout schemata: tables -->

<!ENTITY % ptabschema               
     "%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >

<!ATTLIST %mtable.qname;
      %MATHML.Common.attrib;
      %att-tableinfo;
>

<!ATTLIST %mtr.qname;    
      %MATHML.Common.attrib;
      %att-rowalign;
      %att-columnalign;
      %att-groupalign;
>

<!ATTLIST %mlabeledtr.qname;  
      %MATHML.Common.attrib;
      %att-rowalign;
      %att-columnalign;
      %att-groupalign;
>

<!ATTLIST %mtd.qname;   
      %MATHML.Common.attrib;
      %att-rowalign;
      %att-columnalign;
      %att-groupalign;
      %att-rowspan;
      %att-columnspan;
>

<!ENTITY % plschema                 
     "%pgenschema; | %pscrschema; | %ptabschema;" >

<!-- Empty presentation layout schemata -->

<!ENTITY % peschema                 
     "%maligngroup.qname; | %malignmark.qname;" >

<!ELEMENT %malignmark.qname;  EMPTY >

<!ATTLIST %malignmark.qname;  
      %att-edge; >

<!ELEMENT %maligngroup.qname;  EMPTY >
<!ATTLIST %maligngroup.qname;  
      %MATHML.Common.attrib;
      %att-groupalign;
>


<!ELEMENT %mglyph.qname;  EMPTY >
<!ATTLIST %mglyph.qname;    
      %att-alt;
      %att-fontfamily;
      %att-index; >

<!-- Presentation action schemata -->

<!ENTITY % pactions                 
     "%maction.qname;" >
<!ATTLIST %maction.qname;    
      %MATHML.Common.attrib;
      %att-actiontype;
      %att-selection;
>

<!-- The following entity for substitution into
     content constructs excludes elements that
     are not valid as expressions.
-->

<!ENTITY % PresInCont               
     "%ptoken; | %petoken; |
      %plschema; | %peschema; | %pactions;" >

<!-- Presentation entity: all presentation constructs -->

<!ENTITY % Presentation             
     "%ptoken; | %petoken; | %pscreschema; |
      %plschema; | %peschema; | %pactions;">

<!-- Content element set  ........................................ -->

<!-- Attribute definitions -->

<!ENTITY % att-base                 
     "base         CDATA                    '10'" >
<!ENTITY % att-closure              
     "closure      CDATA                    'closed'" >
<!ENTITY % att-definition           
     "definitionURL CDATA                   ''" >
<!ENTITY % att-encoding             
     "encoding     CDATA                    ''" >
<!ENTITY % att-nargs             
     "nargs        CDATA                    '1'" >
<!ENTITY % att-occurrence           
     "occurrence   CDATA                    'function-model'" >
<!ENTITY % att-order   
     "order        CDATA                    'numeric'" >
<!ENTITY % att-scope                
     "scope        CDATA                    'local'" >
<!ENTITY % att-type                 
     "type         CDATA                    #IMPLIED" >

<!-- Content elements: leaf nodes -->

<!ENTITY % ctoken               
     "%csymbol.qname; | %ci.qname; | %cn.qname;" >

<!ATTLIST %ci.qname;     
      %MATHML.Common.attrib;
      %att-type;
      %att-definition;
      %att-encoding;
>

<!ATTLIST %csymbol.qname;   
      %MATHML.Common.attrib;
      %att-encoding;
      %att-type;
      %att-definition;
>

<!ATTLIST %cn.qname;    
      %MATHML.Common.attrib;
      %att-type;
      %att-base;
      %att-definition;
      %att-encoding;
>

<!-- Content elements: specials -->

<!ENTITY % cspecial                 
     "%apply.qname; | %reln.qname; |
      %lambda.qname;" >

<!ATTLIST %apply.qname;   
      %MATHML.Common.attrib;
>

<!ATTLIST %reln.qname;   
      %MATHML.Common.attrib;
>

<!ATTLIST %lambda.qname;      
      %MATHML.Common.attrib;
>

<!-- Content elements: others -->

<!ENTITY % cother                   
     "%condition.qname; | %declare.qname; | %sep.qname;" >

<!ATTLIST %condition.qname;     
      %MATHML.Common.attrib;
>

<!ATTLIST %declare.qname;    
      %MATHML.Common.attrib;
      %att-type;
      %att-scope;
      %att-nargs;
      %att-occurrence;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %sep.qname;  EMPTY >
<!ATTLIST %sep.qname;         
      %MATHML.xmlns.attrib; >

<!-- Content elements: semantic mapping -->

<!ENTITY % csemantics               
     "%semantics.qname; | %annotation.qname; |
      %annotation-xml.qname;" >

<!ATTLIST %semantics.qname;  
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ATTLIST %annotation.qname;  
      %MATHML.Common.attrib;
      %att-encoding;
>

<!ATTLIST %annotation-xml.qname; 
      %MATHML.Common.attrib;
      %att-encoding;
>

<!-- Content elements: constructors -->

<!ENTITY % cconstructor             
     "%interval.qname; | %list.qname; | %matrix.qname; 
      | %matrixrow.qname; | %set.qname; | %vector.qname;
      | %piecewise.qname; " >

<!ATTLIST %interval.qname;   
      %MATHML.Common.attrib;
      %att-closure;
>

<!ATTLIST %set.qname;        
      %MATHML.Common.attrib;
      %att-type;
>

<!ATTLIST %list.qname;          
      %MATHML.Common.attrib;
      %att-order;
>

<!ATTLIST %vector.qname;    
      %MATHML.Common.attrib;
>

<!ATTLIST %matrix.qname;    
      %MATHML.Common.attrib;
>

<!ATTLIST %matrixrow.qname;     
      %MATHML.Common.attrib;
>

<!ATTLIST %piecewise.qname;   
      %MATHML.Common.attrib;
>

<!ATTLIST %piece.qname;   
      %MATHML.Common.attrib;
>

<!ATTLIST %otherwise.qname;   
      %MATHML.Common.attrib;
>


<!-- Content elements: symbols -->

<!ENTITY % c0ary              
    "%integers.qname; |
     %reals.qname; |
     %rationals.qname; |
     %naturalnumbers.qname; |
     %complexes.qname; |
     %primes.qname; |
     %exponentiale.qname; |
     %imaginaryi.qname; |
     %notanumber.qname; |
     %true.qname; |
     %false.qname; |
     %emptyset.qname; |
     %pi.qname; |
     %eulergamma.qname; |
     %infinity.qname;" >

<!ELEMENT %integers.qname;  EMPTY >
<!ATTLIST %integers.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %reals.qname;  EMPTY >
<!ATTLIST %reals.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %rationals.qname;  EMPTY >
<!ATTLIST %rationals.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %naturalnumbers.qname;  EMPTY >
<!ATTLIST %naturalnumbers.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %complexes.qname;  EMPTY >
<!ATTLIST %complexes.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %primes.qname;  EMPTY >
<!ATTLIST %primes.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %exponentiale.qname;  EMPTY >
<!ATTLIST %exponentiale.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %imaginaryi.qname;  EMPTY >
<!ATTLIST %imaginaryi.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %notanumber.qname;  EMPTY >
<!ATTLIST %notanumber.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %true.qname;  EMPTY >
<!ATTLIST %true.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %false.qname;  EMPTY >
<!ATTLIST %false.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %emptyset.qname;  EMPTY >
<!ATTLIST %emptyset.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %pi.qname;  EMPTY >
<!ATTLIST %pi.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %eulergamma.qname;  EMPTY >
<!ATTLIST %eulergamma.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %infinity.qname;  EMPTY >
<!ATTLIST %infinity.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!-- Content elements: operators -->

<!ENTITY % cfuncop1ary              
     "%inverse.qname; | %ident.qname;|
      %domain.qname; |  %codomain.qname; | 
      %image.qname;  " >

<!ELEMENT %inverse.qname;  EMPTY >
<!ATTLIST %inverse.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %domain.qname;  EMPTY >
<!ATTLIST %domain.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %codomain.qname;  EMPTY >
<!ATTLIST %codomain.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %image.qname;  EMPTY >
<!ATTLIST %image.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>



<!ENTITY % cfuncopnary              
     "%fn.qname; | %compose.qname;" >

<!ATTLIST %fn.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %ident.qname;  EMPTY >
<!ATTLIST %ident.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %compose.qname;  EMPTY >
<!ATTLIST %compose.qname;  
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % carithop1ary             
     "%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
      %arg.qname; | %real.qname; | %imaginary.qname; |
      %floor.qname; | %ceiling.qname;" >

<!ELEMENT %exp.qname;  EMPTY >
<!ATTLIST %exp.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %abs.qname;  EMPTY >
<!ATTLIST %abs.qname;        
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arg.qname;  EMPTY >
<!ATTLIST %arg.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %real.qname;  EMPTY >
<!ATTLIST %real.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %imaginary.qname;  EMPTY >
<!ATTLIST %imaginary.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %conjugate.qname;  EMPTY >
<!ATTLIST %conjugate.qname;  
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %factorial.qname;  EMPTY >
<!ATTLIST %factorial.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>


<!ELEMENT %floor.qname;  EMPTY >
<!ATTLIST %floor.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %ceiling.qname;  EMPTY >
<!ATTLIST %ceiling.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>
<!ENTITY % carithop1or2ary          
     "%minus.qname;" >

<!ELEMENT %minus.qname;  EMPTY >
<!ATTLIST %minus.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % carithop2ary             
     "%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >

<!ELEMENT %quotient.qname;  EMPTY >
<!ATTLIST %quotient.qname;       
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %divide.qname;  EMPTY >
<!ATTLIST %divide.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %power.qname;  EMPTY >
<!ATTLIST %power.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %rem.qname;  EMPTY >
<!ATTLIST %rem.qname;       
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % carithopnary             
     "%plus.qname; | %times.qname; | %max.qname; 
      | %min.qname; | %gcd.qname; | %lcm.qname;" >

<!ELEMENT %plus.qname;  EMPTY >
<!ATTLIST %plus.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %max.qname;  EMPTY >
<!ATTLIST %max.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %min.qname;  EMPTY >
<!ATTLIST %min.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %times.qname;  EMPTY >
<!ATTLIST %times.qname;      
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %gcd.qname;  EMPTY >
<!ATTLIST %gcd.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %lcm.qname;  EMPTY >
<!ATTLIST %lcm.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % carithoproot             
     "%root.qname;" >

<!ELEMENT %root.qname;  EMPTY >
<!ATTLIST %root.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clogicopquant            
     "%exists.qname; | %forall.qname;" >

<!ELEMENT %exists.qname;  EMPTY >
<!ATTLIST %exists.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %forall.qname;  EMPTY >
<!ATTLIST %forall.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clogicopnary             
     "%and.qname; | %or.qname; | %xor.qname;" >

<!ELEMENT %and.qname;  EMPTY >
<!ATTLIST %and.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %or.qname;  EMPTY >
<!ATTLIST %or.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %xor.qname;  EMPTY >
<!ATTLIST %xor.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clogicop1ary             
     "%not.qname;" >

<!ELEMENT %not.qname;  EMPTY >
<!ATTLIST %not.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clogicop2ary             
     "%implies.qname;" >

<!ELEMENT %implies.qname;  EMPTY >
<!ATTLIST %implies.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % ccalcop                  
     "%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
      %divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >

<!ELEMENT %divergence.qname;  EMPTY >
<!ATTLIST %divergence.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %grad.qname;  EMPTY >
<!ATTLIST %grad.qname;  
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %curl.qname;  EMPTY >
<!ATTLIST %curl.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %laplacian.qname;  EMPTY >
<!ATTLIST %laplacian.qname;     
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %log.qname;  EMPTY >
<!ATTLIST %log.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %int.qname;  EMPTY >
<!ATTLIST %int.qname;    
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %diff.qname;  EMPTY >
<!ATTLIST %diff.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %partialdiff.qname;  EMPTY >
<!ATTLIST %partialdiff.qname;  
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % ccalcop1ary              
     "%ln.qname;" >

<!ELEMENT %ln.qname;  EMPTY >
<!ATTLIST %ln.qname;   
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % csetop1ary               
     "%card.qname;" >

<!ELEMENT %card.qname;  EMPTY >
<!ATTLIST %card.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % csetop2ary               
     "%setdiff.qname;" >

<!ELEMENT %setdiff.qname;  EMPTY >
<!ATTLIST %setdiff.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % csetopnary               
     "%union.qname; | %intersect.qname; | %cartesianproduct.qname; " >

<!ELEMENT %union.qname;  EMPTY >
<!ATTLIST %union.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %intersect.qname;  EMPTY >
<!ATTLIST %intersect.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %cartesianproduct.qname;  EMPTY >
<!ATTLIST %cartesianproduct.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % cseqop                   
     "%sum.qname; | %product.qname; | %limit.qname;" >

<!ELEMENT %sum.qname;  EMPTY >
<!ATTLIST %sum.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %product.qname;  EMPTY >
<!ATTLIST %product.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %limit.qname;  EMPTY >
<!ATTLIST %limit.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % ctrigop                  
     "%sin.qname; | %cos.qname; | %tan.qname; 
      | %sec.qname; | %csc.qname; | %cot.qname; 
      | %sinh.qname; | %cosh.qname; | %tanh.qname; 
      | %sech.qname; | %csch.qname; | %coth.qname; 
      | %arcsin.qname; | %arccos.qname; | %arctan.qname;
      | %arccosh.qname; | %arccot.qname; | %arccoth.qname;
      | %arccsc.qname; | %arccsch.qname; | %arcsec.qname;
      | %arcsech.qname; | %arcsinh.qname; | %arctanh.qname;
      " >

<!ELEMENT %sin.qname;  EMPTY >
<!ATTLIST %sin.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %cos.qname;  EMPTY >
<!ATTLIST %cos.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %tan.qname;  EMPTY >
<!ATTLIST %tan.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %sec.qname;  EMPTY >
<!ATTLIST %sec.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %csc.qname;  EMPTY >
<!ATTLIST %csc.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %cot.qname;  EMPTY >
<!ATTLIST %cot.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %sinh.qname;  EMPTY >
<!ATTLIST %sinh.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %cosh.qname;  EMPTY >
<!ATTLIST %cosh.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %tanh.qname;  EMPTY >
<!ATTLIST %tanh.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %sech.qname;  EMPTY >
<!ATTLIST %sech.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %csch.qname;  EMPTY >
<!ATTLIST %csch.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %coth.qname;  EMPTY >
<!ATTLIST %coth.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arcsin.qname;  EMPTY >
<!ATTLIST %arcsin.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arccos.qname;  EMPTY >
<!ATTLIST %arccos.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arctan.qname;  EMPTY >
<!ATTLIST %arctan.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arccosh.qname;  EMPTY >
<!ATTLIST %arccosh.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>


<!ELEMENT %arccot.qname;  EMPTY >
<!ATTLIST %arccot.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arccoth.qname;  EMPTY >
<!ATTLIST %arccoth.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>


<!ELEMENT %arccsc.qname;  EMPTY >
<!ATTLIST %arccsc.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arccsch.qname;  EMPTY >
<!ATTLIST %arccsch.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arcsec.qname;  EMPTY >
<!ATTLIST %arcsec.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arcsech.qname;  EMPTY >
<!ATTLIST %arcsech.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arcsinh.qname;  EMPTY >
<!ATTLIST %arcsinh.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %arctanh.qname;  EMPTY >
<!ATTLIST %arctanh.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>



<!ENTITY % cstatopnary              
     "%mean.qname; | %sdev.qname; |
      %variance.qname; | %median.qname; |
      %mode.qname;" >

<!ELEMENT %mean.qname;  EMPTY >
<!ATTLIST %mean.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %sdev.qname;  EMPTY >
<!ATTLIST %sdev.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %variance.qname;  EMPTY >
<!ATTLIST %variance.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %median.qname;  EMPTY >
<!ATTLIST %median.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %mode.qname;  EMPTY >
<!ATTLIST %mode.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % cstatopmoment            
     "%moment.qname;" >

<!ELEMENT %moment.qname;  EMPTY >
<!ATTLIST %moment.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clalgop1ary              
     "%determinant.qname; |
      %transpose.qname;" >

<!ELEMENT %determinant.qname;  EMPTY >
<!ATTLIST %determinant.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %transpose.qname;  EMPTY >
<!ATTLIST %transpose.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clalgop2ary              
     "%vectorproduct.qname; 
      | %scalarproduct.qname; 
      | %outerproduct.qname;" >

<!ELEMENT %vectorproduct.qname;  EMPTY >
<!ATTLIST %vectorproduct.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %scalarproduct.qname;  EMPTY >
<!ATTLIST %scalarproduct.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %outerproduct.qname;  EMPTY >
<!ATTLIST %outerproduct.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % clalgopnary              
     "%selector.qname;" >

<!ELEMENT %selector.qname;  EMPTY >
<!ATTLIST %selector.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!-- Content elements: relations -->

<!ENTITY % cgenrel2ary             
     "%neq.qname; | %factorof.qname;" >

<!ELEMENT %neq.qname;  EMPTY >
<!ATTLIST %neq.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %factorof.qname;  EMPTY >
<!ATTLIST %factorof.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % cgenrelnary              
     "%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname; 
      | %gt.qname;| %equivalent.qname; | %approx.qname;" >

<!ELEMENT %eq.qname;  EMPTY >
<!ATTLIST %eq.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %equivalent.qname;  EMPTY >
<!ATTLIST %equivalent.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %approx.qname;  EMPTY >
<!ATTLIST %approx.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %gt.qname;  EMPTY >
<!ATTLIST %gt.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %lt.qname;  EMPTY >
<!ATTLIST %lt.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %geq.qname;  EMPTY >
<!ATTLIST %geq.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %leq.qname;  EMPTY >
<!ATTLIST %leq.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % csetrel2ary              
     "%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >

<!ELEMENT %in.qname;  EMPTY >
<!ATTLIST %in.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %notin.qname;  EMPTY >
<!ATTLIST %notin.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %notsubset.qname;  EMPTY >
<!ATTLIST %notsubset.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %notprsubset.qname;  EMPTY >
<!ATTLIST %notprsubset.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % csetrelnary       
     "%subset.qname; | %prsubset.qname;" >

<!ELEMENT %subset.qname;  EMPTY >
<!ATTLIST %subset.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ELEMENT %prsubset.qname;  EMPTY >
<!ATTLIST %prsubset.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
>

<!ENTITY % cseqrel2ary              
     "%tendsto.qname;" >

<!ELEMENT %tendsto.qname;  EMPTY >
<!ATTLIST %tendsto.qname;
      %MATHML.Common.attrib;
      %att-definition;
      %att-encoding;
      %att-type;
>

<!-- Content elements: quantifiers -->

<!ENTITY % cquantifier            
     "%lowlimit.qname; | %uplimit.qname; | %bvar.qname; 
      | %degree.qname; | %logbase.qname;
      | %momentabout.qname; | %domainofapplication.qname; " >

<!ATTLIST %lowlimit.qname;
      %MATHML.Common.attrib;
>

<!ATTLIST %uplimit.qname;
      %MATHML.Common.attrib;
>

<!ATTLIST %bvar.qname;
      %MATHML.Common.attrib;
>

<!ATTLIST %degree.qname;
      %MATHML.Common.attrib;
>

<!ATTLIST %logbase.qname;
      %MATHML.Common.attrib;
>

<!ATTLIST %momentabout.qname;
      %MATHML.Common.attrib;
>

<!ATTLIST %domainofapplication.qname;
      %MATHML.Common.attrib;
>

<!-- Operator groups -->

<!ENTITY % cop1ary                  
     "%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
      %ccalcop1ary; | %ctrigop; | %clalgop1ary; |
      %csetop1ary;" >

<!ENTITY % cop2ary                  
     "%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >

<!ENTITY % copnary                  
     "%cfuncopnary; | %carithopnary; | %clogicopnary; |
      %csetopnary; | %cstatopnary; | %clalgopnary;" >

<!ENTITY % copmisc                  
     "%carithoproot; | %carithop1or2ary; | %ccalcop; |
      %cseqop; | %cstatopmoment; | %clogicopquant;" >

<!-- Relation groups -->

<!ENTITY % crel2ary                 
     "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >

<!ENTITY % crelnary                 
     "%cgenrelnary; | %csetrelnary;" >

<!-- Content constructs: all -->

<!ENTITY % Content                  
     "%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
      | %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary; 
      | %copnary; |%copmisc; | %crel2ary; | %crelnary;" >

<!-- Content constructs for substitution in presentation structures -->

<!ENTITY % ContInPres               
     "%ci.qname; |%csymbol.qname;| %cn.qname; | %c0ary; |
      %apply.qname; | %fn.qname; |
      %lambda.qname; | %reln.qname; |
      %cconstructor; |
      %semantics.qname; |%declare.qname;" >

<!-- ............................................................. -->
<!-- Recursive definition for content of expressions. Include
     presentation constructs at lowest level so presentation
     layout schemata hold presentation or content elements.
     Include content constructs at lowest level so content
     elements hold PCDATA or presentation elements at leaf
     level (for permitted substitutable elements in context)
-->

<!ENTITY % ContentExpression        
     "(%Content; | %PresInCont;)*" >
<!ENTITY % PresExpression      
     "(%Presentation; | %ContInPres;)*" >
<!ENTITY % MathExpression           
     "(%PresInCont; | %ContInPres;)*" >

<!-- PCDATA or MathML character elements -->
<!ENTITY % MathMLCharacters         
     "#PCDATA | %mglyph.qname; " >

<!-- Content elements: tokens                       -->
<!-- (may contain embedded presentation constructs) -->

<!ELEMENT %ci.qname;                 (%MathMLCharacters; | %PresInCont;)* >
<!ELEMENT %csymbol.qname;            (%MathMLCharacters; | %PresInCont;)* >
<!ELEMENT %cn.qname;                 (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >

<!-- Content elements: special -->

<!ELEMENT %apply.qname;              (%ContentExpression;) >
<!ELEMENT %reln.qname;               (%ContentExpression;) >
<!ELEMENT %lambda.qname;             (%ContentExpression;) >

<!-- Content elements: other -->

<!ELEMENT %condition.qname;          (%ContentExpression;) >
<!ELEMENT %declare.qname;            (%ContentExpression;) >

<!-- Content elements: semantics -->

<!ELEMENT %semantics.qname;          (%ContentExpression;) >
<!ENTITY % Annotation.content  "( #PCDATA )" >
<!ELEMENT %annotation.qname;         %Annotation.content; >

<!ENTITY % Annotation-xml.content "ANY" >
<!ELEMENT %annotation-xml.qname;     %Annotation-xml.content; >

<!-- Content elements: constructors -->

<!ELEMENT %interval.qname;           (%ContentExpression;) >
<!ELEMENT %set.qname;                (%ContentExpression;) >
<!ELEMENT %list.qname;               (%ContentExpression;) >
<!ELEMENT %vector.qname;             (%ContentExpression;) >
<!ELEMENT %matrix.qname;             (%ContentExpression;) >
<!ELEMENT %matrixrow.qname;          (%ContentExpression;) >

<!ELEMENT %piecewise.qname;          ((%piece.qname;)*, (%otherwise.qname;)? ) >
<!ELEMENT %piece.qname;              (%ContentExpression;) >
<!ELEMENT %otherwise.qname;          (%ContentExpression;) >

<!-- Content elements: operator (user-defined) -->

<!ELEMENT %fn.qname;                 (%ContentExpression;) >

<!-- Content elements: quantifiers -->

<!ELEMENT %lowlimit.qname;           (%ContentExpression;) >
<!ELEMENT %uplimit.qname;            (%ContentExpression;) >
<!ELEMENT %bvar.qname;               (%ContentExpression;) >
<!ELEMENT %degree.qname;             (%ContentExpression;) >
<!ELEMENT %logbase.qname;            (%ContentExpression;) >
<!ELEMENT %momentabout.qname;        (%ContentExpression;) >
<!ELEMENT %domainofapplication.qname; (%ContentExpression;) >

<!-- ............................................................. -->
<!-- Presentation layout schemata contain tokens,
     layout and content schemata.
-->

<!ELEMENT %mstyle.qname;             (%PresExpression;) >
<!ELEMENT %merror.qname;             (%PresExpression;) >
<!ELEMENT %mphantom.qname;           (%PresExpression;) >
<!ELEMENT %mrow.qname;               (%PresExpression;) >
<!ELEMENT %mfrac.qname;              (%PresExpression;) >
<!ELEMENT %msqrt.qname;              (%PresExpression;) >
<!ELEMENT %menclose.qname;           (%PresExpression;) >
<!ELEMENT %mroot.qname;              (%PresExpression;) >
<!ELEMENT %msub.qname;               (%PresExpression;) >
<!ELEMENT %msup.qname;               (%PresExpression;) >
<!ELEMENT %msubsup.qname;            (%PresExpression;) >
<!ELEMENT %mmultiscripts.qname;      (%PresExpression;) >
<!ELEMENT %munder.qname;             (%PresExpression;) >
<!ELEMENT %mover.qname;              (%PresExpression;) >
<!ELEMENT %munderover.qname;         (%PresExpression;) >
<!ELEMENT %mtable.qname;             (%PresExpression;) >
<!ELEMENT %mtr.qname;                (%PresExpression;) >
<!ELEMENT %mlabeledtr.qname;         (%PresExpression;) >
<!ELEMENT %mtd.qname;                (%PresExpression;) >
<!ELEMENT %maction.qname;            (%PresExpression;) >
<!ELEMENT %mfenced.qname;            (%PresExpression;) >
<!ELEMENT %mpadded.qname;            (%PresExpression;) >

<!-- Presentation elements contain PCDATA or malignmark constructs. -->

<!ELEMENT %mi.qname;                 (%MathMLCharacters; |
      %malignmark.qname;)* >
<!ELEMENT %mn.qname;                 (%MathMLCharacters; |
      %malignmark.qname;)* >
<!ELEMENT %mo.qname;                 (%MathMLCharacters; |
      %malignmark.qname;)* >
<!ELEMENT %mtext.qname;              (%MathMLCharacters; |
      %malignmark.qname;)* >
<!ELEMENT %ms.qname;                 (%MathMLCharacters; |
      %malignmark.qname;)* >

<!-- Browser interface definition  ............................... -->

<!-- Attributes for top-level element "math" -->

<!ENTITY % att-macros               
     "macros       CDATA                    #IMPLIED" >
<!ENTITY % att-mode                 
     "mode         CDATA                    #IMPLIED" >
<!ENTITY % att-display                
     "display      CDATA                    #IMPLIED" >

<!ENTITY % att-topinfo          
     "%MATHML.Common.attrib;
      %att-macros;
      %att-mode;
      %att-display;" >

<!-- Attributes for browser interface element -->

<!ENTITY % att-baseline             
     "baseline     CDATA                    #IMPLIED" >
<!ENTITY % att-overflow            
     "overflow  ( scroll | elide | truncate | scale ) 'scroll'" >
<!ENTITY % att-altimg               
     "altimg       CDATA                    #IMPLIED" >
<!ENTITY % att-alttext           
     "alttext      CDATA                    #IMPLIED" >

<!ENTITY % att-browif           
     "%att-type;
      %att-name;
      %att-height;
      %att-width;
      %att-baseline;
      %att-overflow;
      %att-altimg;
      %att-alttext;" >

<!-- ............................................................. -->
<!-- The top-level element "math" contains MathML encoded
     mathematics. The "math" element has the browser info
     attributes iff it is also the browser interface element.
-->

<!ELEMENT %math.qname;               (%MathExpression;) >

<!ATTLIST %math.qname;
      %att-topinfo;
      %att-browif; >

<!-- MathML Character Entities .............................................. -->
<!ENTITY % mathml-charent.module "INCLUDE" >
<![%mathml-charent.module;[
<!-- Entity sets from ISO Technical Report 9573-13 ..... -->

<!ENTITY % ent-isoamsa
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
             "iso9573-13/isoamsa.ent" >

<!--
     File isoamsa.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY angzarr          "&#x0237C;" ><!--angle with down zig-zag arrow -->
<!ENTITY cirmid           "&#x02AEF;" ><!--circle, mid below -->
<!ENTITY cudarrl          "&#x02938;" ><!--left, curved, down arrow -->
<!ENTITY cudarrr          "&#x02935;" ><!--right, curved, down arrow -->
<!ENTITY cularr           "&#x021B6;" ><!--/curvearrowleft A: left curved arrow -->
<!ENTITY cularrp          "&#x0293D;" ><!--curved left arrow with plus -->
<!ENTITY curarr           "&#x021B7;" ><!--/curvearrowright A: rt curved arrow -->
<!ENTITY curarrm          "&#x0293C;" ><!--curved right arrow with minus -->
<!ENTITY Darr             "&#x021A1;" ><!--down two-headed arrow -->
<!ENTITY dArr             "&#x021D3;" ><!--/Downarrow A: down dbl arrow -->
<!ENTITY ddarr            "&#x021CA;" ><!--/downdownarrows A: two down arrows -->
<!ENTITY DDotrahd         "&#x02911;" ><!--right arrow with dotted stem -->
<!ENTITY dfisht           "&#x0297F;" ><!--down fish tail -->
<!ENTITY dHar             "&#x02965;" ><!--down harpoon-left, down harpoon-right -->
<!ENTITY dharl            "&#x021C3;" ><!--/downharpoonleft A: dn harpoon-left -->
<!ENTITY dharr            "&#x021C2;" ><!--/downharpoonright A: down harpoon-rt -->
<!ENTITY duarr            "&#x021F5;" ><!--down arrow, up arrow -->
<!ENTITY duhar            "&#x0296F;" ><!--down harp, up harp -->
<!ENTITY dzigrarr         "&#x027FF;" ><!--right long zig-zag arrow -->
<!ENTITY erarr            "&#x02971;" ><!--equal, right arrow below -->
<!ENTITY hArr             "&#x021D4;" ><!--/Leftrightarrow A: l&r dbl arrow -->
<!ENTITY harr             "&#x02194;" ><!--/leftrightarrow A: l&r arrow -->
<!ENTITY harrcir          "&#x02948;" ><!--left and right arrow with a circle -->
<!ENTITY harrw            "&#x021AD;" ><!--/leftrightsquigarrow A: l&r arr-wavy -->
<!ENTITY hoarr            "&#x021FF;" ><!--horizontal open arrow -->
<!ENTITY imof             "&#x022B7;" ><!--image of -->
<!ENTITY lAarr            "&#x021DA;" ><!--/Lleftarrow A: left triple arrow -->
<!ENTITY Larr             "&#x0219E;" ><!--/twoheadleftarrow A: -->
<!ENTITY larrbfs          "&#x0291F;" ><!--left arrow-bar, filled square -->
<!ENTITY larrfs           "&#x0291D;" ><!--left arrow, filled square -->
<!ENTITY larrhk           "&#x021A9;" ><!--/hookleftarrow A: left arrow-hooked -->
<!ENTITY larrlp           "&#x021AB;" ><!--/looparrowleft A: left arrow-looped -->
<!ENTITY larrpl           "&#x02939;" ><!--left arrow, plus -->
<!ENTITY larrsim          "&#x02973;" ><!--left arrow, similar -->
<!ENTITY larrtl           "&#x021A2;" ><!--/leftarrowtail A: left arrow-tailed -->
<!ENTITY lAtail           "&#x0291B;" ><!--left double arrow-tail -->
<!ENTITY latail           "&#x02919;" ><!--left arrow-tail -->
<!ENTITY lBarr            "&#x0290E;" ><!--left doubly broken arrow -->
<!ENTITY lbarr            "&#x0290C;" ><!--left broken arrow -->
<!ENTITY ldca             "&#x02936;" ><!--left down curved arrow -->
<!ENTITY ldrdhar          "&#x02967;" ><!--left harpoon-down over right harpoon-down -->
<!ENTITY ldrushar         "&#x0294B;" ><!--left-down-right-up harpoon -->
<!ENTITY ldsh             "&#x021B2;" ><!--left down angled arrow -->
<!ENTITY lfisht           "&#x0297C;" ><!--left fish tail -->
<!ENTITY lHar             "&#x02962;" ><!--left harpoon-up over left harpoon-down -->
<!ENTITY lhard            "&#x021BD;" ><!--/leftharpoondown A: l harpoon-down -->
<!ENTITY lharu            "&#x021BC;" ><!--/leftharpoonup A: left harpoon-up -->
<!ENTITY lharul           "&#x0296A;" ><!--left harpoon-up over long dash -->
<!ENTITY llarr            "&#x021C7;" ><!--/leftleftarrows A: two left arrows -->
<!ENTITY llhard           "&#x0296B;" ><!--left harpoon-down below long dash -->
<!ENTITY loarr            "&#x021FD;" ><!--left open arrow -->
<!ENTITY lrarr            "&#x021C6;" ><!--/leftrightarrows A: l arr over r arr -->
<!ENTITY lrhar            "&#x021CB;" ><!--/leftrightharpoons A: l harp over r -->
<!ENTITY lrhard           "&#x0296D;" ><!--right harpoon-down below long dash -->
<!ENTITY lsh              "&#x021B0;" ><!--/Lsh A: -->
<!ENTITY lurdshar         "&#x0294A;" ><!--left-up-right-down harpoon -->
<!ENTITY luruhar          "&#x02966;" ><!--left harpoon-up over right harpoon-up -->
<!ENTITY Map              "&#x02905;" ><!--twoheaded mapsto -->
<!ENTITY map              "&#x021A6;" ><!--/mapsto A: -->
<!ENTITY midcir           "&#x02AF0;" ><!--mid, circle below  -->
<!ENTITY mumap            "&#x022B8;" ><!--/multimap A: -->
<!ENTITY nearhk           "&#x02924;" ><!--NE arrow-hooked -->
<!ENTITY neArr            "&#x021D7;" ><!--NE pointing dbl arrow -->
<!ENTITY nearr            "&#x02197;" ><!--/nearrow A: NE pointing arrow -->
<!ENTITY nesear           "&#x02928;" ><!--/toea A: NE & SE arrows -->
<!ENTITY nhArr            "&#x021CE;" ><!--/nLeftrightarrow A: not l&r dbl arr -->
<!ENTITY nharr            "&#x021AE;" ><!--/nleftrightarrow A: not l&r arrow -->
<!ENTITY nlArr            "&#x021CD;" ><!--/nLeftarrow A: not implied by -->
<!ENTITY nlarr            "&#x0219A;" ><!--/nleftarrow A: not left arrow -->
<!ENTITY nrArr            "&#x021CF;" ><!--/nRightarrow A: not implies -->
<!ENTITY nrarr            "&#x0219B;" ><!--/nrightarrow A: not right arrow -->
<!ENTITY nrarrc           "&#x02933;&#x00338;" ><!--not right arrow-curved -->
<!ENTITY nrarrw           "&#x0219D;&#x00338;" ><!--not right arrow-wavy -->
<!ENTITY nvHarr           "&#x021CE;" ><!--not, vert, left and right double arrow  -->
<!ENTITY nvlArr           "&#x021CD;" ><!--not, vert, left double arrow -->
<!ENTITY nvrArr           "&#x021CF;" ><!--not, vert, right double arrow -->
<!ENTITY nwarhk           "&#x02923;" ><!--NW arrow-hooked -->
<!ENTITY nwArr            "&#x021D6;" ><!--NW pointing dbl arrow -->
<!ENTITY nwarr            "&#x02196;" ><!--/nwarrow A: NW pointing arrow -->
<!ENTITY nwnear           "&#x02927;" ><!--NW & NE arrows -->
<!ENTITY olarr            "&#x021BA;" ><!--/circlearrowleft A: l arr in circle -->
<!ENTITY orarr            "&#x021BB;" ><!--/circlearrowright A: r arr in circle -->
<!ENTITY origof           "&#x022B6;" ><!--original of -->
<!ENTITY rAarr            "&#x021DB;" ><!--/Rrightarrow A: right triple arrow -->
<!ENTITY Rarr             "&#x021A0;" ><!--/twoheadrightarrow A: -->
<!ENTITY rarrap           "&#x02975;" ><!--approximate, right arrow above -->
<!ENTITY rarrbfs          "&#x02920;" ><!--right arrow-bar, filled square -->
<!ENTITY rarrc            "&#x02933;" ><!--right arrow-curved -->
<!ENTITY rarrfs           "&#x0291E;" ><!--right arrow, filled square -->
<!ENTITY rarrhk           "&#x021AA;" ><!--/hookrightarrow A: rt arrow-hooked -->
<!ENTITY rarrlp           "&#x021AC;" ><!--/looparrowright A: rt arrow-looped -->
<!ENTITY rarrpl           "&#x02945;" ><!--right arrow, plus -->
<!ENTITY rarrsim          "&#x02974;" ><!--right arrow, similar -->
<!ENTITY Rarrtl           "&#x02916;" ><!--right two-headed arrow with tail -->
<!ENTITY rarrtl           "&#x021A3;" ><!--/rightarrowtail A: rt arrow-tailed -->
<!ENTITY rarrw            "&#x0219D;" ><!--/rightsquigarrow A: rt arrow-wavy -->
<!ENTITY rAtail           "&#x0291C;" ><!--right double arrow-tail -->
<!ENTITY ratail           "&#x021A3;" ><!--right arrow-tail -->
<!ENTITY RBarr            "&#x02910;" ><!--/drbkarow A: twoheaded right broken arrow -->
<!ENTITY rBarr            "&#x0290F;" ><!--/dbkarow A: right doubly broken arrow -->
<!ENTITY rbarr            "&#x0290D;" ><!--/bkarow A: right broken arrow -->
<!ENTITY rdca             "&#x02937;" ><!--right down curved arrow -->
<!ENTITY rdldhar          "&#x02969;" ><!--right harpoon-down over left harpoon-down -->
<!ENTITY rdsh             "&#x021B3;" ><!--right down angled arrow -->
<!ENTITY rfisht           "&#x0297D;" ><!--right fish tail -->
<!ENTITY rHar             "&#x02964;" ><!--right harpoon-up over right harpoon-down -->
<!ENTITY rhard            "&#x021C1;" ><!--/rightharpoondown A: rt harpoon-down -->
<!ENTITY rharu            "&#x021C0;" ><!--/rightharpoonup A: rt harpoon-up -->
<!ENTITY rharul           "&#x0296C;" ><!--right harpoon-up over long dash -->
<!ENTITY rlarr            "&#x021C4;" ><!--/rightleftarrows A: r arr over l arr -->
<!ENTITY rlhar            "&#x021CC;" ><!--/rightleftharpoons A: r harp over l -->
<!ENTITY roarr            "&#x021FE;" ><!--right open arrow -->
<!ENTITY rrarr            "&#x021C9;" ><!--/rightrightarrows A: two rt arrows -->
<!ENTITY rsh              "&#x021B1;" ><!--/Rsh A: -->
<!ENTITY ruluhar          "&#x02968;" ><!--right harpoon-up over left harpoon-up -->
<!ENTITY searhk           "&#x02925;" ><!--/hksearow A: SE arrow-hooken -->
<!ENTITY seArr            "&#x021D8;" ><!--SE pointing dbl arrow -->
<!ENTITY searr            "&#x02198;" ><!--/searrow A: SE pointing arrow -->
<!ENTITY seswar           "&#x02929;" ><!--/tosa A: SE & SW arrows -->
<!ENTITY simrarr          "&#x02972;" ><!--similar, right arrow below -->
<!ENTITY slarr            "&#x02190;" ><!--short left arrow -->
<!ENTITY srarr            "&#x02192;" ><!--short right arrow -->
<!ENTITY swarhk           "&#x02926;" ><!--/hkswarow A: SW arrow-hooked -->
<!ENTITY swArr            "&#x021D9;" ><!--SW pointing dbl arrow -->
<!ENTITY swarr            "&#x02199;" ><!--/swarrow A: SW pointing arrow -->
<!ENTITY swnwar           "&#x0292A;" ><!--SW & NW arrows -->
<!ENTITY Uarr             "&#x0219F;" ><!--up two-headed arrow -->
<!ENTITY uArr             "&#x021D1;" ><!--/Uparrow A: up dbl arrow -->
<!ENTITY Uarrocir         "&#x02949;" ><!--up two-headed arrow above circle -->
<!ENTITY udarr            "&#x021C5;" ><!--up arrow, down arrow -->
<!ENTITY udhar            "&#x0296E;" ><!--up harp, down harp -->
<!ENTITY ufisht           "&#x0297E;" ><!--up fish tail -->
<!ENTITY uHar             "&#x02963;" ><!--up harpoon-left, up harpoon-right -->
<!ENTITY uharl            "&#x021BF;" ><!--/upharpoonleft A: up harpoon-left -->
<!ENTITY uharr            "&#x021BE;" ><!--/upharpoonright /restriction A: up harp-r -->
<!ENTITY uuarr            "&#x021C8;" ><!--/upuparrows A: two up arrows -->
<!ENTITY vArr             "&#x021D5;" ><!--/Updownarrow A: up&down dbl arrow -->
<!ENTITY varr             "&#x02195;" ><!--/updownarrow A: up&down arrow -->
<!ENTITY xhArr            "&#x027FA;" ><!--/Longleftrightarrow A: long l&r dbl arr -->
<!ENTITY xharr            "&#x027F7;" ><!--/longleftrightarrow A: long l&r arr -->
<!ENTITY xlArr            "&#x027F8;" ><!--/Longleftarrow A: long l dbl arrow -->
<!ENTITY xlarr            "&#x027F5;" ><!--/longleftarrow A: long left arrow -->
<!ENTITY xmap             "&#x027FC;" ><!--/longmapsto A: -->
<!ENTITY xrArr            "&#x027F9;" ><!--/Longrightarrow A: long rt dbl arr -->
<!ENTITY xrarr            "&#x027F6;" ><!--/longrightarrow A: long right arrow -->
<!ENTITY zigrarr          "&#x021DD;" ><!--right zig-zag arrow -->


<!ENTITY % ent-isoamsb
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
             "iso9573-13/isoamsb.ent" >

<!--
     File isoamsb.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     References to the VARIANT SELECTOR 1 character (&#x0FE00;)
     should match the uses listed in Unicode Technical Report 25.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY ac               "&#x0290F;" ><!--most positive -->
<!ENTITY acE              "&#x029DB;" ><!--most positive, two lines below -->
<!ENTITY amalg            "&#x02A3F;" ><!--/amalg B: amalgamation or coproduct -->
<!ENTITY barvee           "&#x022BD;" ><!--bar, vee -->
<!ENTITY Barwed           "&#x02306;" ><!--/doublebarwedge B: log and, dbl bar above -->
<!ENTITY barwed           "&#x022BC;" ><!--/barwedge B: logical and, bar above -->
<!ENTITY bsolb            "&#x029C5;" ><!--reverse solidus in square -->
<!ENTITY Cap              "&#x022D2;" ><!--/Cap /doublecap B: dbl intersection -->
<!ENTITY capand           "&#x02A44;" ><!--intersection, and -->
<!ENTITY capbrcup         "&#x02A49;" ><!--intersection, bar, union -->
<!ENTITY capcap           "&#x02A4B;" ><!--intersection, intersection, joined -->
<!ENTITY capcup           "&#x02A47;" ><!--intersection above union -->
<!ENTITY capdot           "&#x02A40;" ><!--intersection, with dot -->
<!ENTITY caps             "&#x02229;&#x0FE00;" ><!--intersection, serifs -->
<!ENTITY ccaps            "&#x02A4D;" ><!--closed intersection, serifs -->
<!ENTITY ccups            "&#x02A4C;" ><!--closed union, serifs -->
<!ENTITY ccupssm          "&#x02A50;" ><!--closed union, serifs, smash product -->
<!ENTITY coprod           "&#x02210;" ><!--/coprod L: coproduct operator -->
<!ENTITY Cup              "&#x022D3;" ><!--/Cup /doublecup B: dbl union -->
<!ENTITY cupbrcap         "&#x02A48;" ><!--union, bar, intersection -->
<!ENTITY cupcap           "&#x02A46;" ><!--union above intersection -->
<!ENTITY cupcup           "&#x02A4A;" ><!--union, union, joined -->
<!ENTITY cupdot           "&#x0228D;" ><!--union, with dot -->
<!ENTITY cupor            "&#x02A45;" ><!--union, or -->
<!ENTITY cups             "&#x0222A;&#x0FE00;" ><!--union, serifs -->
<!ENTITY cuvee            "&#x022CE;" ><!--/curlyvee B: curly logical or -->
<!ENTITY cuwed            "&#x022CF;" ><!--/curlywedge B: curly logical and -->
<!ENTITY Dagger           "&#x02021;" ><!--/ddagger B: double dagger relation -->
<!ENTITY dagger           "&#x02020;" ><!--/dagger B: dagger relation -->
<!ENTITY diam             "&#x022C4;" ><!--/diamond B: open diamond -->
<!ENTITY divonx           "&#x022C7;" ><!--/divideontimes B: division on times -->
<!ENTITY eplus            "&#x02A71;" ><!--equal, plus -->
<!ENTITY hercon           "&#x022B9;" ><!--hermitian conjugate matrix -->
<!ENTITY intcal           "&#x022BA;" ><!--/intercal B: intercal -->
<!ENTITY iprod            "&#x02A3C;" ><!--/intprod -->
<!ENTITY loplus           "&#x02A2D;" ><!--plus sign in left half circle -->
<!ENTITY lotimes          "&#x02A34;" ><!--multiply sign in left half circle  -->
<!ENTITY lthree           "&#x022CB;" ><!--/leftthreetimes B: -->
<!ENTITY ltimes           "&#x022C9;" ><!--/ltimes B: times sign, left closed -->
<!ENTITY midast           "&#x0002A;" ><!--/ast B: asterisk -->
<!ENTITY minusb           "&#x0229F;" ><!--/boxminus B: minus sign in box -->
<!ENTITY minusd           "&#x02238;" ><!--/dotminus B: minus sign, dot above -->
<!ENTITY minusdu          "&#x02A2A;" ><!--minus sign, dot below -->
<!ENTITY ncap             "&#x02A43;" ><!--bar, intersection -->
<!ENTITY ncup             "&#x02A42;" ><!--bar, union -->
<!ENTITY oast             "&#x0229B;" ><!--/circledast B: asterisk in circle -->
<!ENTITY ocir             "&#x0229A;" ><!--/circledcirc B: small circle in circle -->
<!ENTITY odash            "&#x0229D;" ><!--/circleddash B: hyphen in circle -->
<!ENTITY odiv             "&#x02A38;" ><!--divide in circle -->
<!ENTITY odot             "&#x02299;" ><!--/odot B: middle dot in circle -->
<!ENTITY odsold           "&#x029BC;" ><!--dot, solidus, dot in circle -->
<!ENTITY ofcir            "&#x029BF;" ><!--filled circle in circle -->
<!ENTITY ogt              "&#x029C1;" ><!--greater-than in circle -->
<!ENTITY ohbar            "&#x029B5;" ><!--circle with horizontal bar -->
<!ENTITY olcir            "&#x029BE;" ><!--large circle in circle -->
<!ENTITY olt              "&#x029C0;" ><!--less-than in circle -->
<!ENTITY omid             "&#x029B6;" ><!--vertical bar in circle -->
<!ENTITY ominus           "&#x02296;" ><!--/ominus B: minus sign in circle -->
<!ENTITY opar             "&#x029B7;" ><!--parallel in circle -->
<!ENTITY operp            "&#x029B9;" ><!--perpendicular in circle -->
<!ENTITY oplus            "&#x02295;" ><!--/oplus B: plus sign in circle -->
<!ENTITY osol             "&#x02298;" ><!--/oslash B: solidus in circle -->
<!ENTITY Otimes           "&#x02A37;" ><!--multiply sign in double circle -->
<!ENTITY otimes           "&#x02297;" ><!--/otimes B: multiply sign in circle -->
<!ENTITY otimesas         "&#x02A36;" ><!--multiply sign in circle, circumflex accent -->
<!ENTITY ovbar            "&#x0233D;" ><!--circle with vertical bar -->
<!ENTITY plusacir         "&#x02A23;" ><!--plus, circumflex accent above -->
<!ENTITY plusb            "&#x0229E;" ><!--/boxplus B: plus sign in box -->
<!ENTITY pluscir          "&#x02A22;" ><!--plus, small circle above -->
<!ENTITY plusdo           "&#x02214;" ><!--/dotplus B: plus sign, dot above -->
<!ENTITY plusdu           "&#x02A25;" ><!--plus sign, dot below -->
<!ENTITY pluse            "&#x02A72;" ><!--plus, equals -->
<!ENTITY plussim          "&#x02A26;" ><!--plus, similar below -->
<!ENTITY plustwo          "&#x02A27;" ><!--plus, two; Nim-addition -->
<!ENTITY prod             "&#x0220F;" ><!--/prod L: product operator -->
<!ENTITY race             "&#x029DA;" ><!--reverse most positive, line below -->
<!ENTITY roplus           "&#x02A2E;" ><!--plus sign in right half circle -->
<!ENTITY rotimes          "&#x02A35;" ><!--multiply sign in right half circle -->
<!ENTITY rthree           "&#x022CC;" ><!--/rightthreetimes B: -->
<!ENTITY rtimes           "&#x022CA;" ><!--/rtimes B: times sign, right closed -->
<!ENTITY sdot             "&#x022C5;" ><!--/cdot B: small middle dot -->
<!ENTITY sdotb            "&#x022A1;" ><!--/dotsquare /boxdot B: small dot in box -->
<!ENTITY setmn            "&#x02216;" ><!--/setminus B: reverse solidus -->
<!ENTITY simplus          "&#x02A24;" ><!--plus, similar above -->
<!ENTITY smashp           "&#x02A33;" ><!--smash product -->
<!ENTITY solb             "&#x029C4;" ><!--solidus in square -->
<!ENTITY sqcap            "&#x02293;" ><!--/sqcap B: square intersection -->
<!ENTITY sqcaps           "&#x02293;&#x0FE00;" ><!--square intersection, serifs -->
<!ENTITY sqcup            "&#x02294;" ><!--/sqcup B: square union -->
<!ENTITY sqcups           "&#x02294;&#x0FE00;" ><!--square union, serifs -->
<!ENTITY ssetmn           "&#x02216;" ><!--/smallsetminus B: sm reverse solidus -->
<!ENTITY sstarf           "&#x022C6;" ><!--/star B: small star, filled -->
<!ENTITY subdot           "&#x02ABD;" ><!--subset, with dot -->
<!ENTITY sum              "&#x02211;" ><!--/sum L: summation operator -->
<!ENTITY supdot           "&#x02ABE;" ><!--superset, with dot -->
<!ENTITY timesb           "&#x022A0;" ><!--/boxtimes B: multiply sign in box -->
<!ENTITY timesbar         "&#x02A31;" ><!--multiply sign, bar below -->
<!ENTITY timesd           "&#x02A30;" ><!--times, dot -->
<!ENTITY tridot           "&#x025EC;" ><!--dot in triangle -->
<!ENTITY triminus         "&#x02A3A;" ><!--minus in triangle -->
<!ENTITY triplus          "&#x02A39;" ><!--plus in triangle -->
<!ENTITY trisb            "&#x029CD;" ><!--triangle, serifs at bottom -->
<!ENTITY tritime          "&#x02A3B;" ><!--multiply in triangle -->
<!ENTITY uplus            "&#x0228E;" ><!--/uplus B: plus sign in union -->
<!ENTITY veebar           "&#x022BB;" ><!--/veebar B: logical or, bar below -->
<!ENTITY wedbar           "&#x02A5F;" ><!--wedge, bar below -->
<!ENTITY wreath           "&#x02240;" ><!--/wr B: wreath product -->
<!ENTITY xcap             "&#x022C2;" ><!--/bigcap L: intersection operator -->
<!ENTITY xcirc            "&#x025EF;" ><!--/bigcirc B: large circle -->
<!ENTITY xcup             "&#x022C3;" ><!--/bigcup L: union operator -->
<!ENTITY xdtri            "&#x025BD;" ><!--/bigtriangledown B: big dn tri, open -->
<!ENTITY xodot            "&#x02299;" ><!--/bigodot L: circle dot operator -->
<!ENTITY xoplus           "&#x02295;" ><!--/bigoplus L: circle plus operator -->
<!ENTITY xotime           "&#x02297;" ><!--/bigotimes L: circle times operator -->
<!ENTITY xsqcup           "&#x02294;" ><!--/bigsqcup L: square union operator -->
<!ENTITY xuplus           "&#x0228E;" ><!--/biguplus L: -->
<!ENTITY xutri            "&#x025B3;" ><!--/bigtriangleup B: big up tri, open -->
<!ENTITY xvee             "&#x022C1;" ><!--/bigvee L: logical and operator -->
<!ENTITY xwedge           "&#x022C0;" ><!--/bigwedge L: logical or operator -->


<!ENTITY % ent-isoamsc
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
             "iso9573-13/isoamsc.ent" >

<!--
     File isoamsc.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY dlcorn           "&#x0231E;" ><!--/llcorner O: lower left corner -->
<!ENTITY drcorn           "&#x0231F;" ><!--/lrcorner C: lower right corner -->
<!ENTITY gtlPar           "&#x02995;" ><!--dbl left parenthesis, greater -->
<!ENTITY langd            "&#x02991;" ><!--left angle, dot -->
<!ENTITY lbrke            "&#x0298B;" ><!--left bracket, equal -->
<!ENTITY lbrksld          "&#x0298F;" ><!--left bracket, solidus bottom corner -->
<!ENTITY lbrkslu          "&#x0298D;" ><!--left bracket, solidus top corner -->
<!ENTITY lceil            "&#x02308;" ><!--/lceil O: left ceiling -->
<!ENTITY lfloor           "&#x0230A;" ><!--/lfloor O: left floor -->
<!ENTITY lmoust           "&#x023B0;" ><!--/lmoustache -->
<!ENTITY lparlt           "&#x02993;" ><!--O: left parenthesis, lt -->
<!ENTITY ltrPar           "&#x02996;" ><!--dbl right parenthesis, less -->
<!ENTITY rangd            "&#x02992;" ><!--right angle, dot -->
<!ENTITY rbrke            "&#x0298C;" ><!--right bracket, equal -->
<!ENTITY rbrksld          "&#x0298E;" ><!--right bracket, solidus bottom corner -->
<!ENTITY rbrkslu          "&#x02990;" ><!--right bracket, solidus top corner -->
<!ENTITY rceil            "&#x02309;" ><!--/rceil C: right ceiling -->
<!ENTITY rfloor           "&#x0230B;" ><!--/rfloor C: right floor -->
<!ENTITY rmoust           "&#x023B1;" ><!--/rmoustache -->
<!ENTITY rpargt           "&#x02994;" ><!--C: right paren, gt -->
<!ENTITY ulcorn           "&#x0231C;" ><!--/ulcorner O: upper left corner -->
<!ENTITY urcorn           "&#x0231D;" ><!--/urcorner C: upper right corner -->


<!ENTITY % ent-isoamsn
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
             "iso9573-13/isoamsn.ent" >

<!--
     File isoamsn.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     References to the VARIANT SELECTOR 1 character (&#x0FE00;)
     should match the uses listed in Unicode Technical Report 25.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY gnap             "&#x02A8A;" ><!--/gnapprox N: greater, not approximate -->
<!ENTITY gnE              "&#x02269;" ><!--/gneqq N: greater, not dbl equals -->
<!ENTITY gne              "&#x02269;" ><!--/gneq N: greater, not equals -->
<!ENTITY gnsim            "&#x022E7;" ><!--/gnsim N: greater, not similar -->
<!ENTITY gvnE             "&#x02269;&#x0FE00;" ><!--/gvertneqq N: gt, vert, not dbl eq -->
<!ENTITY lnap             "&#x02A89;" ><!--/lnapprox N: less, not approximate -->
<!ENTITY lnE              "&#x02268;" ><!--/lneqq N: less, not double equals -->
<!ENTITY lne              "&#x02268;" ><!--/lneq N: less, not equals -->
<!ENTITY lnsim            "&#x022E6;" ><!--/lnsim N: less, not similar -->
<!ENTITY lvnE             "&#x02268;&#x0FE00;" ><!--/lvertneqq N: less, vert, not dbl eq -->
<!ENTITY nap              "&#x02249;" ><!--/napprox N: not approximate -->
<!ENTITY napE             "&#x02A70;&#x00338;" ><!--not approximately equal or equal to -->
<!ENTITY napid            "&#x0224B;&#x00338;" ><!--not approximately identical to -->
<!ENTITY ncong            "&#x02247;" ><!--/ncong N: not congruent with -->
<!ENTITY ncongdot         "&#x02A6D;&#x00338;" ><!--not congruent, dot -->
<!ENTITY nequiv           "&#x02262;" ><!--/nequiv N: not identical with -->
<!ENTITY ngE              "&#x02A7E;&#x00338;" ><!--/ngeqq N: not greater, dbl equals -->
<!ENTITY nge              "&#x02271;" ><!--/ngeq N: not greater-than-or-equal -->
<!ENTITY nges             "&#x02A7E;&#x00338;" ><!--/ngeqslant N: not gt-or-eq, slanted -->
<!ENTITY nGg              "&#x022D9;&#x00338;" ><!--not triple greater than -->
<!ENTITY ngsim            "&#x02275;" ><!--not greater, similar -->
<!ENTITY nGt              "&#x0226B;&#x020D2;" ><!--not, vert, much greater than -->
<!ENTITY ngt              "&#x0226F;" ><!--/ngtr N: not greater-than -->
<!ENTITY nGtv             "&#x0226B;&#x00338;" ><!--not much greater than, variant -->
<!ENTITY nlE              "&#x02A7D;&#x00338;" ><!--/nleqq N: not less, dbl equals -->
<!ENTITY nle              "&#x02270;" ><!--/nleq N: not less-than-or-equal -->
<!ENTITY nles             "&#x02A7D;&#x00338;" ><!--/nleqslant N: not less-or-eq, slant -->
<!ENTITY nLl              "&#x022D8;&#x00338;" ><!--not triple less than -->
<!ENTITY nlsim            "&#x02274;" ><!--not less, similar -->
<!ENTITY nLt              "&#x0226A;&#x020D2;" ><!--not, vert, much less than -->
<!ENTITY nlt              "&#x0226E;" ><!--/nless N: not less-than -->
<!ENTITY nltri            "&#x022EA;" ><!--/ntriangleleft N: not left triangle -->
<!ENTITY nltrie           "&#x022EC;" ><!--/ntrianglelefteq N: not l tri, eq -->
<!ENTITY nLtv             "&#x0226A;&#x00338;" ><!--not much less than, variant -->
<!ENTITY nmid             "&#x02224;" ><!--/nmid -->
<!ENTITY npar             "&#x02226;" ><!--/nparallel N: not parallel -->
<!ENTITY npr              "&#x02280;" ><!--/nprec N: not precedes -->
<!ENTITY nprcue           "&#x022E0;" ><!--not curly precedes, eq -->
<!ENTITY npre             "&#x02AAF;&#x00338;" ><!--/npreceq N: not precedes, equals -->
<!ENTITY nrtri            "&#x022EB;" ><!--/ntriangleright N: not rt triangle -->
<!ENTITY nrtrie           "&#x022ED;" ><!--/ntrianglerighteq N: not r tri, eq -->
<!ENTITY nsc              "&#x02281;" ><!--/nsucc N: not succeeds -->
<!ENTITY nsccue           "&#x022E1;" ><!--not succeeds, curly eq -->
<!ENTITY nsce             "&#x02AB0;&#x00338;" ><!--/nsucceq N: not succeeds, equals -->
<!ENTITY nsim             "&#x02241;" ><!--/nsim N: not similar -->
<!ENTITY nsime            "&#x02244;" ><!--/nsimeq N: not similar, equals -->
<!ENTITY nsmid            "&#x02224;" ><!--/nshortmid -->
<!ENTITY nspar            "&#x02226;" ><!--/nshortparallel N: not short par -->
<!ENTITY nsqsube          "&#x022E2;" ><!--not, square subset, equals -->
<!ENTITY nsqsupe          "&#x022E3;" ><!--not, square superset, equals -->
<!ENTITY nsub             "&#x02284;" ><!--not subset -->
<!ENTITY nsubE            "&#x02288;" ><!--/nsubseteqq N: not subset, dbl eq -->
<!ENTITY nsube            "&#x02288;" ><!--/nsubseteq N: not subset, equals -->
<!ENTITY nsup             "&#x02285;" ><!--not superset -->
<!ENTITY nsupE            "&#x02289;" ><!--/nsupseteqq N: not superset, dbl eq -->
<!ENTITY nsupe            "&#x02289;" ><!--/nsupseteq N: not superset, equals -->
<!ENTITY ntgl             "&#x02279;" ><!--not greater, less -->
<!ENTITY ntlg             "&#x02278;" ><!--not less, greater -->
<!ENTITY nvap             "&#x0224D;&#x020D2;" ><!--not, vert, approximate -->
<!ENTITY nVDash           "&#x022AF;" ><!--/nVDash N: not dbl vert, dbl dash -->
<!ENTITY nVdash           "&#x022AE;" ><!--/nVdash N: not dbl vertical, dash -->
<!ENTITY nvDash           "&#x022AD;" ><!--/nvDash N: not vertical, dbl dash -->
<!ENTITY nvdash           "&#x022AC;" ><!--/nvdash N: not vertical, dash -->
<!ENTITY nvge             "&#x02A7E;&#x00338;" ><!--not, vert, greater-than-or-equal -->
<!ENTITY nvgt             "&#x0226F;" ><!--not, vert, greater-than -->
<!ENTITY nvle             "&#x02A7D;&#x00338;" ><!--not, vert, less-than-or-equal -->
<!ENTITY nvlt             "&#x0226E;" ><!--not, vert, less-than -->
<!ENTITY nvltrie          "&#x022B4;&#x020D2;" ><!--not, vert, left triangle, equals -->
<!ENTITY nvrtrie          "&#x022B5;&#x020D2;" ><!--not, vert, right triangle, equals -->
<!ENTITY nvsim            "&#x0223C;&#x020D2;" ><!--not, vert, similar -->
<!ENTITY parsim           "&#x02AF3;" ><!--parallel, similar -->
<!ENTITY prnap            "&#x022E8;" ><!--/precnapprox N: precedes, not approx -->
<!ENTITY prnE             "&#x02AB5;" ><!--/precneqq N: precedes, not dbl eq -->
<!ENTITY prnsim           "&#x022E8;" ><!--/precnsim N: precedes, not similar -->
<!ENTITY rnmid            "&#x02AEE;" ><!--reverse /nmid -->
<!ENTITY scnap            "&#x022E9;" ><!--/succnapprox N: succeeds, not approx -->
<!ENTITY scnE             "&#x02AB6;" ><!--/succneqq N: succeeds, not dbl eq -->
<!ENTITY scnsim           "&#x022E9;" ><!--/succnsim N: succeeds, not similar -->
<!ENTITY simne            "&#x02246;" ><!--similar, not equals -->
<!ENTITY solbar           "&#x0233F;" ><!--solidus, bar through -->
<!ENTITY subnE            "&#x0228A;" ><!--/subsetneqq N: subset, not dbl eq -->
<!ENTITY subne            "&#x0228A;" ><!--/subsetneq N: subset, not equals -->
<!ENTITY supnE            "&#x0228B;" ><!--/supsetneqq N: superset, not dbl eq -->
<!ENTITY supne            "&#x0228B;" ><!--/supsetneq N: superset, not equals -->
<!ENTITY vnsub            "&#x02284;" ><!--/nsubset N: not subset, var -->
<!ENTITY vnsup            "&#x02285;" ><!--/nsupset N: not superset, var -->
<!ENTITY vsubnE           "&#x0228A;&#x0FE00;" ><!--/varsubsetneqq N: subset not dbl eq, var -->
<!ENTITY vsubne           "&#x0228A;&#x0FE00;" ><!--/varsubsetneq N: subset, not eq, var -->
<!ENTITY vsupnE           "&#x0228B;&#x0FE00;" ><!--/varsupsetneqq N: super not dbl eq, var -->
<!ENTITY vsupne           "&#x0228B;&#x0FE00;" ><!--/varsupsetneq N: superset, not eq, var -->


<!ENTITY % ent-isoamso
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
             "iso9573-13/isoamso.ent" >

<!--
     File isoamso.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY ang              "&#x02220;" ><!--/angle - angle -->
<!ENTITY ange             "&#x029A4;" ><!--angle, equal -->
<!ENTITY angmsd           "&#x02221;" ><!--/measuredangle - angle-measured -->
<!ENTITY angmsdaa         "&#x029A8;" ><!--angle-measured, arrow, up, right -->
<!ENTITY angmsdab         "&#x029A9;" ><!--angle-measured, arrow, up, left -->
<!ENTITY angmsdac         "&#x029AA;" ><!--angle-measured, arrow, down, right -->
<!ENTITY angmsdad         "&#x029AB;" ><!--angle-measured, arrow, down, left -->
<!ENTITY angmsdae         "&#x029AC;" ><!--angle-measured, arrow, right, up -->
<!ENTITY angmsdaf         "&#x029AD;" ><!--angle-measured, arrow, left, up -->
<!ENTITY angmsdag         "&#x029AE;" ><!--angle-measured, arrow, right, down -->
<!ENTITY angmsdah         "&#x029AF;" ><!--angle-measured, arrow, left, down -->
<!ENTITY angrtvb          "&#x022BE;" ><!--right angle-measured -->
<!ENTITY angrtvbd         "&#x0299D;" ><!--right angle-measured, dot -->
<!ENTITY bbrk             "&#x023B5;" ><!--bottom square bracket -->
<!ENTITY bemptyv          "&#x029B0;" ><!--reversed circle, slash -->
<!ENTITY beth             "&#x02136;" ><!--/beth - beth, Hebrew -->
<!ENTITY boxbox           "&#x029C9;" ><!--two joined squares -->
<!ENTITY bprime           "&#x02035;" ><!--/backprime - reverse prime -->
<!ENTITY bsemi            "&#x0204F;" ><!--reverse semi-colon -->
<!ENTITY cemptyv          "&#x029B2;" ><!--circle, slash, small circle above -->
<!ENTITY cirE             "&#x029C3;" ><!--circle, two horizontal stroked to the right -->
<!ENTITY cirscir          "&#x029C2;" ><!--circle, small circle to the right -->
<!ENTITY comp             "&#x02201;" ><!--/complement - complement sign -->
<!ENTITY daleth           "&#x02138;" ><!--/daleth - daleth, Hebrew -->
<!ENTITY demptyv          "&#x029B1;" ><!--circle, slash, bar above -->
<!ENTITY ell              "&#x02113;" ><!--/ell - cursive small l -->
<!ENTITY empty            "&#x02205;" ><!--/emptyset - zero, slash -->
<!ENTITY emptyv           "&#x02205;" ><!--/varnothing - circle, slash -->
<!ENTITY gimel            "&#x02137;" ><!--/gimel - gimel, Hebrew -->
<!ENTITY iiota            "&#x02129;" ><!--inverted iota -->
<!ENTITY image            "&#x02111;" ><!--/Im - imaginary   -->
<!ENTITY imath            "&#x00131;" ><!--/imath - small i, no dot -->
<!ENTITY jmath            "&#x0006A;" ><!--/jmath - small j, no dot -->
<!ENTITY laemptyv         "&#x029B4;" ><!--circle, slash, left arrow above -->
<!ENTITY lltri            "&#x025FA;" ><!--lower left triangle -->
<!ENTITY lrtri            "&#x022BF;" ><!--lower right triangle -->
<!ENTITY mho              "&#x02127;" ><!--/mho - conductance -->
<!ENTITY nang             "&#x02220;&#x020D2;" ><!--not, vert, angle -->
<!ENTITY nexist           "&#x02204;" ><!--/nexists - negated exists -->
<!ENTITY oS               "&#x024C8;" ><!--/circledS - capital S in circle -->
<!ENTITY planck           "&#x0210F;" ><!--/hbar - Planck's over 2pi -->
<!ENTITY plankv           "&#x0210F;" ><!--/hslash - variant Planck's over 2pi -->
<!ENTITY raemptyv         "&#x029B3;" ><!--circle, slash, right arrow above -->
<!ENTITY range            "&#x029A5;" ><!--reverse angle, equal -->
<!ENTITY real             "&#x0211C;" ><!--/Re - real -->
<!ENTITY tbrk             "&#x023B4;" ><!--top square bracket -->
<!ENTITY ultri            "&#x025F8;" ><!--upper left triangle -->
<!ENTITY urtri            "&#x025F9;" ><!--upper right triangle -->
<!ENTITY vzigzag          "&#x0299A;" ><!--vertical zig-zag line -->
<!ENTITY weierp           "&#x02118;" ><!--/wp - Weierstrass p -->


<!ENTITY % ent-isoamsr
      PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
             "iso9573-13/isoamsr.ent" >

<!--
     File isoamsr.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     References to the VARIANT SELECTOR 1 character (&#x0FE00;)
     should match the uses listed in Unicode Technical Report 25.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY apE              "&#x0224A;" ><!--approximately equal or equal to -->
<!ENTITY ape              "&#x0224A;" ><!--/approxeq R: approximate, equals -->
<!ENTITY apid             "&#x0224B;" ><!--approximately identical to -->
<!ENTITY asymp            "&#x02248;" ><!--/asymp R: asymptotically equal to -->
<!ENTITY Barv             "&#x02AE7;" ><!--vert, dbl bar (over) -->
<!ENTITY bcong            "&#x0224C;" ><!--/backcong R: reverse congruent -->
<!ENTITY bepsi            "&#x003F6;" ><!--/backepsilon R: such that -->
<!ENTITY bowtie           "&#x022C8;" ><!--/bowtie R: -->
<!ENTITY bsim             "&#x0223D;" ><!--/backsim R: reverse similar -->
<!ENTITY bsime            "&#x022CD;" ><!--/backsimeq R: reverse similar, eq -->
<!ENTITY bsolhsub         "&#x0005C;&#x02282;" ><!--reverse solidus, subset -->
<!ENTITY bump             "&#x0224E;" ><!--/Bumpeq R: bumpy equals -->
<!ENTITY bumpE            "&#x02AAE;" ><!--bump, equals -->
<!ENTITY bumpe            "&#x0224F;" ><!--/bumpeq R: bumpy equals, equals -->
<!ENTITY cire             "&#x02257;" ><!--/circeq R: circle, equals -->
<!ENTITY Colon            "&#x02237;" ><!--/Colon, two colons -->
<!ENTITY Colone           "&#x02A74;" ><!--double colon, equals -->
<!ENTITY colone           "&#x02254;" ><!--/coloneq R: colon, equals -->
<!ENTITY congdot          "&#x02A6D;" ><!--congruent, dot -->
<!ENTITY csub             "&#x02ACF;" ><!--subset, closed -->
<!ENTITY csube            "&#x02AD1;" ><!--subset, closed, equals -->
<!ENTITY csup             "&#x02AD0;" ><!--superset, closed -->
<!ENTITY csupe            "&#x02AD2;" ><!--superset, closed, equals -->
<!ENTITY cuepr            "&#x022DE;" ><!--/curlyeqprec R: curly eq, precedes -->
<!ENTITY cuesc            "&#x022DF;" ><!--/curlyeqsucc R: curly eq, succeeds -->
<!ENTITY Dashv            "&#x02AE4;" ><!--dbl dash, vertical -->
<!ENTITY dashv            "&#x022A3;" ><!--/dashv R: dash, vertical -->
<!ENTITY easter           "&#x0225B;" ><!--equal, asterisk above -->
<!ENTITY ecir             "&#x02256;" ><!--/eqcirc R: circle on equals sign -->
<!ENTITY ecolon           "&#x02255;" ><!--/eqcolon R: equals, colon -->
<!ENTITY eDDot            "&#x02A77;" ><!--/ddotseq R: equal with four dots -->
<!ENTITY eDot             "&#x02251;" ><!--/doteqdot /Doteq R: eq, even dots -->
<!ENTITY efDot            "&#x02252;" ><!--/fallingdotseq R: eq, falling dots -->
<!ENTITY eg               "&#x02A9A;" ><!--equal-or-greater -->
<!ENTITY egs              "&#x022DD;" ><!--/eqslantgtr R: equal-or-gtr, slanted -->
<!ENTITY egsdot           "&#x02A98;" ><!--equal-or-greater, slanted, dot inside -->
<!ENTITY el               "&#x02A99;" ><!--equal-or-less -->
<!ENTITY els              "&#x022DC;" ><!--/eqslantless R: eq-or-less, slanted -->
<!ENTITY elsdot           "&#x02A97;" ><!--equal-or-less, slanted, dot inside -->
<!ENTITY equest           "&#x0225F;" ><!--/questeq R: equal with questionmark -->
<!ENTITY equivDD          "&#x02A78;" ><!--equivalent, four dots above -->
<!ENTITY erDot            "&#x02253;" ><!--/risingdotseq R: eq, rising dots -->
<!ENTITY esdot            "&#x02250;" ><!--/doteq R: equals, single dot above -->
<!ENTITY Esim             "&#x02A73;" ><!--equal, similar -->
<!ENTITY esim             "&#x02242;" ><!--/esim R: equals, similar -->
<!ENTITY fork             "&#x022D4;" ><!--/pitchfork R: pitchfork -->
<!ENTITY forkv            "&#x02AD9;" ><!--fork, variant -->
<!ENTITY frown            "&#x02322;" ><!--/frown R: down curve -->
<!ENTITY gap              "&#x02273;" ><!--/gtrapprox R: greater, approximate -->
<!ENTITY gE               "&#x02267;" ><!--/geqq R: greater, double equals -->
<!ENTITY gEl              "&#x022DB;" ><!--/gtreqqless R: gt, dbl equals, less -->
<!ENTITY gel              "&#x022DB;" ><!--/gtreqless R: greater, equals, less -->
<!ENTITY ges              "&#x02A7E;" ><!--/geqslant R: gt-or-equal, slanted -->
<!ENTITY gescc            "&#x02AA9;" ><!--greater than, closed by curve, equal, slanted -->
<!ENTITY gesdot           "&#x02A80;" ><!--greater-than-or-equal, slanted, dot inside -->
<!ENTITY gesdoto          "&#x02A82;" ><!--greater-than-or-equal, slanted, dot above -->
<!ENTITY gesdotol         "&#x02A84;" ><!--greater-than-or-equal, slanted, dot above left -->
<!ENTITY gesl             "&#x022DB;&#x0FE00;" ><!--greater, equal, slanted, less -->
<!ENTITY gesles           "&#x02A94;" ><!--greater, equal, slanted, less, equal, slanted -->
<!ENTITY Gg               "&#x022D9;" ><!--/ggg /Gg /gggtr R: triple gtr-than -->
<!ENTITY gl               "&#x02277;" ><!--/gtrless R: greater, less -->
<!ENTITY gla              "&#x02AA5;" ><!--greater, less, apart -->
<!ENTITY glE              "&#x02A92;" ><!--greater, less, equal -->
<!ENTITY glj              "&#x02AA4;" ><!--greater, less, overlapping -->
<!ENTITY gsim             "&#x02273;" ><!--/gtrsim R: greater, similar -->
<!ENTITY gsime            "&#x02A8E;" ><!--greater, similar, equal -->
<!ENTITY gsiml            "&#x02A90;" ><!--greater, similar, less -->
<!ENTITY Gt               "&#x0226B;" ><!--/gg R: dbl greater-than sign -->
<!ENTITY gtcc             "&#x02AA7;" ><!--greater than, closed by curve -->
<!ENTITY gtcir            "&#x02A7A;" ><!--greater than, circle inside -->
<!ENTITY gtdot            "&#x022D7;" ><!--/gtrdot R: greater than, with dot -->
<!ENTITY gtquest          "&#x02A7C;" ><!--greater than, questionmark above -->
<!ENTITY gtrarr           "&#x02978;" ><!--greater than, right arrow -->
<!ENTITY homtht           "&#x0223B;" ><!--homothetic -->
<!ENTITY lap              "&#x02272;" ><!--/lessapprox R: less, approximate -->
<!ENTITY lat              "&#x02AAB;" ><!--larger than -->
<!ENTITY late             "&#x02AAD;" ><!--larger than or equal -->
<!ENTITY lates            "&#x02AAD;&#x0FE00;" ><!--larger than or equal, slanted -->
<!ENTITY lE               "&#x02266;" ><!--/leqq R: less, double equals -->
<!ENTITY lEg              "&#x022DA;" ><!--/lesseqqgtr R: less, dbl eq, greater -->
<!ENTITY leg              "&#x022DA;" ><!--/lesseqgtr R: less, eq, greater -->
<!ENTITY les              "&#x02A7D;" ><!--/leqslant R: less-than-or-eq, slant -->
<!ENTITY lescc            "&#x02AA8;" ><!--less than, closed by curve, equal, slanted -->
<!ENTITY lesdot           "&#x02A7F;" ><!--less-than-or-equal, slanted, dot inside -->
<!ENTITY lesdoto          "&#x02A81;" ><!--less-than-or-equal, slanted, dot above -->
<!ENTITY lesdotor         "&#x02A83;" ><!--less-than-or-equal, slanted, dot above right -->
<!ENTITY lesg             "&#x022DA;&#x0FE00;" ><!--less, equal, slanted, greater -->
<!ENTITY lesges           "&#x02A93;" ><!--less, equal, slanted, greater, equal, slanted -->
<!ENTITY lg               "&#x02276;" ><!--/lessgtr R: less, greater -->
<!ENTITY lgE              "&#x02A91;" ><!--less, greater, equal -->
<!ENTITY Ll               "&#x022D8;" ><!--/Ll /lll /llless R: triple less-than -->
<!ENTITY lsim             "&#x02272;" ><!--/lesssim R: less, similar -->
<!ENTITY lsime            "&#x02A8D;" ><!--less, similar, equal -->
<!ENTITY lsimg            "&#x02A8F;" ><!--less, similar, greater -->
<!ENTITY Lt               "&#x0226A;" ><!--/ll R: double less-than sign -->
<!ENTITY ltcc             "&#x02AA6;" ><!--less than, closed by curve -->
<!ENTITY ltcir            "&#x02A79;" ><!--less than, circle inside -->
<!ENTITY ltdot            "&#x022D6;" ><!--/lessdot R: less than, with dot -->
<!ENTITY ltlarr           "&#x02976;" ><!--less than, left arrow -->
<!ENTITY ltquest          "&#x02A7B;" ><!--less than, questionmark above -->
<!ENTITY ltrie            "&#x022B4;" ><!--/trianglelefteq R: left triangle, eq -->
<!ENTITY mcomma           "&#x02A29;" ><!--minus, comma above -->
<!ENTITY mDDot            "&#x0223A;" ><!--minus with four dots, geometric properties -->
<!ENTITY mid              "&#x02223;" ><!--/mid R: -->
<!ENTITY mlcp             "&#x02ADB;" ><!--/mlcp -->
<!ENTITY models           "&#x022A7;" ><!--/models R: -->
<!ENTITY mstpos           "&#x0223E;" ><!--most positive -->
<!ENTITY Pr               "&#x02ABB;" ><!--dbl precedes -->
<!ENTITY pr               "&#x0227A;" ><!--/prec R: precedes -->
<!ENTITY prap             "&#x0227E;" ><!--/precapprox R: precedes, approximate -->
<!ENTITY prcue            "&#x0227C;" ><!--/preccurlyeq R: precedes, curly eq -->
<!ENTITY prE              "&#x02AAF;" ><!--precedes, dbl equals -->
<!ENTITY pre              "&#x02AAF;" ><!--/preceq R: precedes, equals -->
<!ENTITY prsim            "&#x0227E;" ><!--/precsim R: precedes, similar -->
<!ENTITY prurel           "&#x022B0;" ><!--element precedes under relation -->
<!ENTITY ratio            "&#x02236;" ><!--/ratio -->
<!ENTITY rtrie            "&#x022B5;" ><!--/trianglerighteq R: right tri, eq -->
<!ENTITY rtriltri         "&#x029CE;" ><!--right triangle above left triangle -->
<!ENTITY Sc               "&#x02ABC;" ><!--dbl succeeds -->
<!ENTITY sc               "&#x0227B;" ><!--/succ R: succeeds -->
<!ENTITY scap             "&#x0227F;" ><!--/succapprox R: succeeds, approximate -->
<!ENTITY sccue            "&#x0227D;" ><!--/succcurlyeq R: succeeds, curly eq -->
<!ENTITY scE              "&#x0227E;" ><!--succeeds, dbl equals -->
<!ENTITY sce              "&#x0227D;" ><!--/succeq R: succeeds, equals -->
<!ENTITY scsim            "&#x0227F;" ><!--/succsim R: succeeds, similar -->
<!ENTITY sdote            "&#x02A66;" ><!--equal, dot below -->
<!ENTITY simg             "&#x02A9E;" ><!--similar, greater -->
<!ENTITY simgE            "&#x02AA0;" ><!--similar, greater, equal -->
<!ENTITY siml             "&#x02A9D;" ><!--similar, less -->
<!ENTITY simlE            "&#x02A9F;" ><!--similar, less, equal -->
<!ENTITY smid             "&#x02223;" ><!--/shortmid R: -->
<!ENTITY smile            "&#x02323;" ><!--/smile R: up curve -->
<!ENTITY smt              "&#x02AAA;" ><!--smaller than -->
<!ENTITY smte             "&#x02AAC;" ><!--smaller than or equal -->
<!ENTITY smtes            "&#x02AAC;&#x0FE00;" ><!--smaller than or equal, slanted -->
<!ENTITY spar             "&#x02225;" ><!--/shortparallel R: short parallel -->
<!ENTITY sqsub            "&#x0228F;" ><!--/sqsubset R: square subset -->
<!ENTITY sqsube           "&#x02291;" ><!--/sqsubseteq R: square subset, equals -->
<!ENTITY sqsup            "&#x02290;" ><!--/sqsupset R: square superset -->
<!ENTITY sqsupe           "&#x02292;" ><!--/sqsupseteq R: square superset, eq -->
<!ENTITY Sub              "&#x022D0;" ><!--/Subset R: double subset -->
<!ENTITY subE             "&#x02286;" ><!--/subseteqq R: subset, dbl equals -->
<!ENTITY subedot          "&#x02AC3;" ><!--subset, equals, dot -->
<!ENTITY submult          "&#x02AC1;" ><!--subset, multiply -->
<!ENTITY subplus          "&#x02ABF;" ><!--subset, plus -->
<!ENTITY subrarr          "&#x02979;" ><!--subset, right arrow -->
<!ENTITY subsim           "&#x02AC7;" ><!--subset, similar -->
<!ENTITY subsub           "&#x02AD5;" ><!--subset above subset -->
<!ENTITY subsup           "&#x02AD3;" ><!--subset above superset -->
<!ENTITY Sup              "&#x022D1;" ><!--/Supset R: dbl superset -->
<!ENTITY supdsub          "&#x02AD8;" ><!--superset, subset, dash joining them -->
<!ENTITY supE             "&#x02287;" ><!--/supseteqq R: superset, dbl equals -->
<!ENTITY supedot          "&#x02AC4;" ><!--superset, equals, dot -->
<!ENTITY suphsol          "&#x02283;&#x00338;" ><!--superset, solidus -->
<!ENTITY suphsub          "&#x02AD7;" ><!--superset, subset -->
<!ENTITY suplarr          "&#x0297B;" ><!--superset, left arrow -->
<!ENTITY supmult          "&#x02AC2;" ><!--superset, multiply -->
<!ENTITY supplus          "&#x02AC0;" ><!--superset, plus -->
<!ENTITY supsim           "&#x02AC8;" ><!--superset, similar -->
<!ENTITY supsub           "&#x02AD4;" ><!--superset above subset -->
<!ENTITY supsup           "&#x02AD6;" ><!--superset above superset -->
<!ENTITY thkap            "&#x02248;" ><!--/thickapprox R: thick approximate -->
<!ENTITY topfork          "&#x02ADA;" ><!--fork with top -->
<!ENTITY trie             "&#x0225C;" ><!--/triangleq R: triangle, equals -->
<!ENTITY twixt            "&#x0226C;" ><!--/between R: between -->
<!ENTITY Vbar             "&#x02AEB;" ><!--dbl vert, bar (under) -->
<!ENTITY vBar             "&#x02AE8;" ><!--vert, dbl bar (under) -->
<!ENTITY vBarv            "&#x02AE9;" ><!--dbl bar, vert over and under -->
<!ENTITY VDash            "&#x022AB;" ><!--dbl vert, dbl dash -->
<!ENTITY Vdash            "&#x022A9;" ><!--/Vdash R: dbl vertical, dash -->
<!ENTITY vDash            "&#x022A8;" ><!--/vDash R: vertical, dbl dash -->
<!ENTITY vdash            "&#x022A2;" ><!--/vdash R: vertical, dash -->
<!ENTITY Vdashl           "&#x02AE6;" ><!--vertical, dash (long) -->
<!ENTITY vltri            "&#x022B2;" ><!--/vartriangleleft R: l tri, open, var -->
<!ENTITY vprop            "&#x0221D;" ><!--/varpropto R: proportional, variant -->
<!ENTITY vrtri            "&#x022B3;" ><!--/vartriangleright R: r tri, open, var -->
<!ENTITY Vvdash           "&#x022AA;" ><!--/Vvdash R: triple vertical, dash -->


<!ENTITY % ent-isogrk3
      PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
             "iso9573-13/isogrk3.ent" >

<!--
     File isogrk3.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY alpha            "&#x003B1;" ><!--/alpha small alpha, Greek -->
<!ENTITY beta             "&#x003B2;" ><!--/beta small beta, Greek -->
<!ENTITY chi              "&#x003C7;" ><!--/chi small chi, Greek -->
<!ENTITY Delta            "&#x00394;" ><!--/Delta capital Delta, Greek -->
<!ENTITY delta            "&#x003B4;" ><!--/delta small delta, Greek -->
<!ENTITY epsi             "&#x003B5;" ><!--/straightepsilon, small epsilon, Greek -->
<!ENTITY epsiv            "&#x0025B;" ><!--/varepsilon -->
<!ENTITY eta              "&#x003B7;" ><!--/eta small eta, Greek -->
<!ENTITY Gamma            "&#x00393;" ><!--/Gamma capital Gamma, Greek -->
<!ENTITY gamma            "&#x003B3;" ><!--/gamma small gamma, Greek -->
<!ENTITY Gammad           "&#x003DC;" ><!--capital digamma -->
<!ENTITY gammad           "&#x003DC;" ><!--/digamma -->
<!ENTITY iota             "&#x003B9;" ><!--/iota small iota, Greek -->
<!ENTITY kappa            "&#x003BA;" ><!--/kappa small kappa, Greek -->
<!ENTITY kappav           "&#x003F0;" ><!--/varkappa -->
<!ENTITY Lambda           "&#x0039B;" ><!--/Lambda capital Lambda, Greek -->
<!ENTITY lambda           "&#x003BB;" ><!--/lambda small lambda, Greek -->
<!ENTITY mu               "&#x003BC;" ><!--/mu small mu, Greek -->
<!ENTITY nu               "&#x003BD;" ><!--/nu small nu, Greek -->
<!ENTITY Omega            "&#x003A9;" ><!--/Omega capital Omega, Greek -->
<!ENTITY omega            "&#x003C9;" ><!--/omega small omega, Greek -->
<!ENTITY Phi              "&#x003A6;" ><!--/Phi capital Phi, Greek -->
<!ENTITY phi              "&#x003D5;" ><!--/straightphi - small phi, Greek -->
<!ENTITY phiv             "&#x003C6;" ><!--/varphi - curly or open phi -->
<!ENTITY Pi               "&#x003A0;" ><!--/Pi capital Pi, Greek -->
<!ENTITY pi               "&#x003C0;" ><!--/pi small pi, Greek -->
<!ENTITY piv              "&#x003D6;" ><!--/varpi -->
<!ENTITY Psi              "&#x003A8;" ><!--/Psi capital Psi, Greek -->
<!ENTITY psi              "&#x003C8;" ><!--/psi small psi, Greek -->
<!ENTITY rho              "&#x003C1;" ><!--/rho small rho, Greek -->
<!ENTITY rhov             "&#x003F1;" ><!--/varrho -->
<!ENTITY Sigma            "&#x003A3;" ><!--/Sigma capital Sigma, Greek -->
<!ENTITY sigma            "&#x003C3;" ><!--/sigma small sigma, Greek -->
<!ENTITY sigmav           "&#x003C2;" ><!--/varsigma -->
<!ENTITY tau              "&#x003C4;" ><!--/tau small tau, Greek -->
<!ENTITY Theta            "&#x00398;" ><!--/Theta capital Theta, Greek -->
<!ENTITY theta            "&#x003B8;" ><!--/theta straight theta, small theta, Greek -->
<!ENTITY thetav           "&#x003D1;" ><!--/vartheta - curly or open theta -->
<!ENTITY Upsi             "&#x003D2;" ><!--/Upsilon capital Upsilon, Greek -->
<!ENTITY upsi             "&#x003C5;" ><!--/upsilon small upsilon, Greek -->
<!ENTITY Xi               "&#x0039E;" ><!--/Xi capital Xi, Greek -->
<!ENTITY xi               "&#x003BE;" ><!--/xi small xi, Greek -->
<!ENTITY zeta             "&#x003B6;" ><!--/zeta small zeta, Greek -->


<!ENTITY % ent-isomfrk
      PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
             "iso9573-13/isomfrk.ent" >

<!--
     File isomfrk.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY % plane1D  "&#38;#38;#x1D">

<!ENTITY Afr              "%plane1D;504;" ><!--/frak A, upper case a -->
<!ENTITY afr              "%plane1D;51E;" ><!--/frak a, lower case a -->
<!ENTITY Bfr              "%plane1D;505;" ><!--/frak B, upper case b -->
<!ENTITY bfr              "%plane1D;51F;" ><!--/frak b, lower case b -->
<!ENTITY Cfr              "&#x0212D;" ><!--/frak C, upper case c -->
<!ENTITY cfr              "%plane1D;520;" ><!--/frak c, lower case c -->
<!ENTITY Dfr              "%plane1D;507;" ><!--/frak D, upper case d -->
<!ENTITY dfr              "%plane1D;521;" ><!--/frak d, lower case d -->
<!ENTITY Efr              "%plane1D;508;" ><!--/frak E, upper case e -->
<!ENTITY efr              "%plane1D;522;" ><!--/frak e, lower case e -->
<!ENTITY Ffr              "%plane1D;509;" ><!--/frak F, upper case f -->
<!ENTITY ffr              "%plane1D;523;" ><!--/frak f, lower case f -->
<!ENTITY Gfr              "%plane1D;50A;" ><!--/frak G, upper case g -->
<!ENTITY gfr              "%plane1D;524;" ><!--/frak g, lower case g -->
<!ENTITY Hfr              "&#x0210C;" ><!--/frak H, upper case h -->
<!ENTITY hfr              "%plane1D;525;" ><!--/frak h, lower case h -->
<!ENTITY Ifr              "&#x02111;" ><!--/frak I, upper case i -->
<!ENTITY ifr              "%plane1D;526;" ><!--/frak i, lower case i -->
<!ENTITY Jfr              "%plane1D;50D;" ><!--/frak J, upper case j -->
<!ENTITY jfr              "%plane1D;527;" ><!--/frak j, lower case j -->
<!ENTITY Kfr              "%plane1D;50E;" ><!--/frak K, upper case k -->
<!ENTITY kfr              "%plane1D;528;" ><!--/frak k, lower case k -->
<!ENTITY Lfr              "%plane1D;50F;" ><!--/frak L, upper case l -->
<!ENTITY lfr              "%plane1D;529;" ><!--/frak l, lower case l -->
<!ENTITY Mfr              "%plane1D;510;" ><!--/frak M, upper case m -->
<!ENTITY mfr              "%plane1D;52A;" ><!--/frak m, lower case m -->
<!ENTITY Nfr              "%plane1D;511;" ><!--/frak N, upper case n -->
<!ENTITY nfr              "%plane1D;52B;" ><!--/frak n, lower case n -->
<!ENTITY Ofr              "%plane1D;512;" ><!--/frak O, upper case o -->
<!ENTITY ofr              "%plane1D;52C;" ><!--/frak o, lower case o -->
<!ENTITY Pfr              "%plane1D;513;" ><!--/frak P, upper case p -->
<!ENTITY pfr              "%plane1D;52D;" ><!--/frak p, lower case p -->
<!ENTITY Qfr              "%plane1D;514;" ><!--/frak Q, upper case q -->
<!ENTITY qfr              "%plane1D;52E;" ><!--/frak q, lower case q -->
<!ENTITY Rfr              "&#x0211C;" ><!--/frak R, upper case r -->
<!ENTITY rfr              "%plane1D;52F;" ><!--/frak r, lower case r -->
<!ENTITY Sfr              "%plane1D;516;" ><!--/frak S, upper case s -->
<!ENTITY sfr              "%plane1D;530;" ><!--/frak s, lower case s -->
<!ENTITY Tfr              "%plane1D;517;" ><!--/frak T, upper case t -->
<!ENTITY tfr              "%plane1D;531;" ><!--/frak t, lower case t -->
<!ENTITY Ufr              "%plane1D;518;" ><!--/frak U, upper case u -->
<!ENTITY ufr              "%plane1D;532;" ><!--/frak u, lower case u -->
<!ENTITY Vfr              "%plane1D;519;" ><!--/frak V, upper case v -->
<!ENTITY vfr              "%plane1D;533;" ><!--/frak v, lower case v -->
<!ENTITY Wfr              "%plane1D;51A;" ><!--/frak W, upper case w -->
<!ENTITY wfr              "%plane1D;534;" ><!--/frak w, lower case w -->
<!ENTITY Xfr              "%plane1D;51B;" ><!--/frak X, upper case x -->
<!ENTITY xfr              "%plane1D;535;" ><!--/frak x, lower case x -->
<!ENTITY Yfr              "%plane1D;51C;" ><!--/frak Y, upper case y -->
<!ENTITY yfr              "%plane1D;536;" ><!--/frak y, lower case y -->
<!ENTITY Zfr              "&#x02128;" ><!--/frak Z, upper case z  -->
<!ENTITY zfr              "%plane1D;537;" ><!--/frak z, lower case z -->


<!ENTITY % ent-isomopf
      PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
             "iso9573-13/isomopf.ent" >

<!--
     File isomopf.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY % plane1D  "&#38;#38;#x1D">

<!ENTITY Aopf             "%plane1D;538;" ><!--/Bbb A, open face A -->
<!ENTITY Bopf             "%plane1D;539;" ><!--/Bbb B, open face B -->
<!ENTITY Copf             "&#x02102;" ><!--/Bbb C, open face C -->
<!ENTITY Dopf             "%plane1D;53B;" ><!--/Bbb D, open face D -->
<!ENTITY Eopf             "%plane1D;53C;" ><!--/Bbb E, open face E -->
<!ENTITY Fopf             "%plane1D;53D;" ><!--/Bbb F, open face F -->
<!ENTITY Gopf             "%plane1D;53E;" ><!--/Bbb G, open face G -->
<!ENTITY Hopf             "&#x0210D;" ><!--/Bbb H, open face H -->
<!ENTITY Iopf             "%plane1D;540;" ><!--/Bbb I, open face I -->
<!ENTITY Jopf             "%plane1D;541;" ><!--/Bbb J, open face J -->
<!ENTITY Kopf             "%plane1D;542;" ><!--/Bbb K, open face K  -->
<!ENTITY Lopf             "%plane1D;543;" ><!--/Bbb L, open face L  -->
<!ENTITY Mopf             "%plane1D;544;" ><!--/Bbb M, open face M  -->
<!ENTITY Nopf             "&#x02115;" ><!--/Bbb N, open face N -->
<!ENTITY Oopf             "%plane1D;546;" ><!--/Bbb O, open face O -->
<!ENTITY Popf             "&#x02119;" ><!--/Bbb P, open face P -->
<!ENTITY Qopf             "&#x0211A;" ><!--/Bbb Q, open face Q -->
<!ENTITY Ropf             "&#x0211D;" ><!--/Bbb R, open face R -->
<!ENTITY Sopf             "%plane1D;54A;" ><!--/Bbb S, open face S -->
<!ENTITY Topf             "%plane1D;54B;" ><!--/Bbb T, open face T -->
<!ENTITY Uopf             "%plane1D;54C;" ><!--/Bbb U, open face U -->
<!ENTITY Vopf             "%plane1D;54D;" ><!--/Bbb V, open face V -->
<!ENTITY Wopf             "%plane1D;54E;" ><!--/Bbb W, open face W -->
<!ENTITY Xopf             "%plane1D;54F;" ><!--/Bbb X, open face X -->
<!ENTITY Yopf             "%plane1D;550;" ><!--/Bbb Y, open face Y -->
<!ENTITY Zopf             "&#x02124;" ><!--/Bbb Z, open face Z -->


<!ENTITY % ent-isomscr
      PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
             "iso9573-13/isomscr.ent" >

<!--
     File isomscr.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY % plane1D  "&#38;#38;#x1D">

<!ENTITY Ascr             "%plane1D;49C;" ><!--/scr A, script letter A -->
<!ENTITY ascr             "%plane1D;4B6;" ><!--/scr a, script letter a -->
<!ENTITY Bscr             "&#x0212C;" ><!--/scr B, script letter B -->
<!ENTITY bscr             "%plane1D;4B7;" ><!--/scr b, script letter b -->
<!ENTITY Cscr             "%plane1D;49E;" ><!--/scr C, script letter C -->
<!ENTITY cscr             "%plane1D;4B8;" ><!--/scr c, script letter c -->
<!ENTITY Dscr             "%plane1D;49F;" ><!--/scr D, script letter D -->
<!ENTITY dscr             "%plane1D;4B9;" ><!--/scr d, script letter d -->
<!ENTITY Escr             "&#x02130;" ><!--/scr E, script letter E -->
<!ENTITY escr             "&#x0212F;" ><!--/scr e, script letter e -->
<!ENTITY Fscr             "&#x02131;" ><!--/scr F, script letter F -->
<!ENTITY fscr             "%plane1D;4BB;" ><!--/scr f, script letter f -->
<!ENTITY Gscr             "%plane1D;4A2;" ><!--/scr G, script letter G -->
<!ENTITY gscr             "&#x0210A;" ><!--/scr g, script letter g -->
<!ENTITY Hscr             "&#x0210B;" ><!--/scr H, script letter H -->
<!ENTITY hscr             "%plane1D;4BD;" ><!--/scr h, script letter h -->
<!ENTITY Iscr             "&#x02110;" ><!--/scr I, script letter I -->
<!ENTITY iscr             "%plane1D;4BE;" ><!--/scr i, script letter i -->
<!ENTITY Jscr             "%plane1D;4A5;" ><!--/scr J, script letter J -->
<!ENTITY jscr             "%plane1D;4BF;" ><!--/scr j, script letter j -->
<!ENTITY Kscr             "%plane1D;4A6;" ><!--/scr K, script letter K -->
<!ENTITY kscr             "%plane1D;4C0;" ><!--/scr k, script letter k -->
<!ENTITY Lscr             "&#x02112;" ><!--/scr L, script letter L -->
<!ENTITY lscr             "&#x02113;" ><!--/scr l, script letter l -->
<!ENTITY Mscr             "&#x02133;" ><!--/scr M, script letter M -->
<!ENTITY mscr             "%plane1D;4C2;" ><!--/scr m, script letter m -->
<!ENTITY Nscr             "%plane1D;4A9;" ><!--/scr N, script letter N -->
<!ENTITY nscr             "%plane1D;4C3;" ><!--/scr n, script letter n -->
<!ENTITY Oscr             "%plane1D;4AA;" ><!--/scr O, script letter O -->
<!ENTITY oscr             "&#x02134;" ><!--/scr o, script letter o -->
<!ENTITY Pscr             "%plane1D;4AB;" ><!--/scr P, script letter P -->
<!ENTITY pscr             "%plane1D;4C5;" ><!--/scr p, script letter p -->
<!ENTITY Qscr             "%plane1D;4AC;" ><!--/scr Q, script letter Q -->
<!ENTITY qscr             "%plane1D;4C6;" ><!--/scr q, script letter q -->
<!ENTITY Rscr             "&#x0211B;" ><!--/scr R, script letter R -->
<!ENTITY rscr             "%plane1D;4C7;" ><!--/scr r, script letter r -->
<!ENTITY Sscr             "%plane1D;4AE;" ><!--/scr S, script letter S -->
<!ENTITY sscr             "%plane1D;4C8;" ><!--/scr s, script letter s -->
<!ENTITY Tscr             "%plane1D;4AF;" ><!--/scr T, script letter T -->
<!ENTITY tscr             "%plane1D;4C9;" ><!--/scr t, script letter t -->
<!ENTITY Uscr             "%plane1D;4B0;" ><!--/scr U, script letter U -->
<!ENTITY uscr             "%plane1D;4CA;" ><!--/scr u, script letter u -->
<!ENTITY Vscr             "%plane1D;4B1;" ><!--/scr V, script letter V -->
<!ENTITY vscr             "%plane1D;4CB;" ><!--/scr v, script letter v -->
<!ENTITY Wscr             "%plane1D;4B2;" ><!--/scr W, script letter W -->
<!ENTITY wscr             "%plane1D;4CC;" ><!--/scr w, script letter w -->
<!ENTITY Xscr             "%plane1D;4B3;" ><!--/scr X, script letter X -->
<!ENTITY xscr             "%plane1D;4CD;" ><!--/scr x, script letter x -->
<!ENTITY Yscr             "%plane1D;4B4;" ><!--/scr Y, script letter Y -->
<!ENTITY yscr             "%plane1D;4CE;" ><!--/scr y, script letter y -->
<!ENTITY Zscr             "%plane1D;4B5;" ><!--/scr Z, script letter Z -->
<!ENTITY zscr             "%plane1D;4CF;" ><!--/scr z, script letter z -->


<!ENTITY % ent-isotech
      PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
             "iso9573-13/isotech.ent" >

<!--
     File isotech.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     References to the VARIANT SELECTOR 1 character (&#x0FE00;)
     should match the uses listed in Unicode Technical Report 25.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1991
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY % plane1D  "&#38;#38;#x1D">

<!ENTITY acd              "&#x0223F;" ><!--ac current -->
<!ENTITY aleph            "&#x02135;" ><!--/aleph aleph, Hebrew -->
<!ENTITY And              "&#x02A53;" ><!--dbl logical and -->
<!ENTITY and              "&#x02227;" ><!--/wedge /land B: logical and -->
<!ENTITY andand           "&#x02A55;" ><!--two logical and -->
<!ENTITY andd             "&#x02A5C;" ><!--and, horizontal dash -->
<!ENTITY andslope         "&#x02A58;" ><!--sloping large and -->
<!ENTITY andv             "&#x02A5A;" ><!--and with middle stem -->
<!ENTITY angrt            "&#x0221F;" ><!--right (90 degree) angle -->
<!ENTITY angsph           "&#x02222;" ><!--/sphericalangle angle-spherical -->
<!ENTITY angst            "&#x0212B;" ><!--Angstrom capital A, ring -->
<!ENTITY ap               "&#x02248;" ><!--/approx R: approximate -->
<!ENTITY apacir           "&#x02A6F;" ><!--approximate, circumflex accent -->
<!ENTITY awconint         "&#x02233;" ><!--contour integral, anti-clockwise -->
<!ENTITY awint            "&#x02A11;" ><!--anti clock-wise integration -->
<!ENTITY becaus           "&#x02235;" ><!--/because R: because -->
<!ENTITY bernou           "&#x0212C;" ><!--Bernoulli function (script capital B)  -->
<!ENTITY bne              "&#x0003D;&#x020E5;" ><!--reverse not equal -->
<!ENTITY bnequiv          "&#x02261;&#x020E5;" ><!--reverse not equivalent -->
<!ENTITY bNot             "&#x02AED;" ><!--reverse not with two horizontal strokes -->
<!ENTITY bnot             "&#x02310;" ><!--reverse not -->
<!ENTITY bottom           "&#x022A5;" ><!--/bot bottom -->
<!ENTITY cap              "&#x02229;" ><!--/cap B: intersection -->
<!ENTITY Cconint          "&#x02230;" ><!--triple contour integral operator -->
<!ENTITY cirfnint         "&#x02A10;" ><!--circulation function -->
<!ENTITY compfn           "&#x02218;" ><!--/circ B: composite function (small circle) -->
<!ENTITY cong             "&#x02245;" ><!--/cong R: congruent with -->
<!ENTITY Conint           "&#x0222F;" ><!--double contour integral operator -->
<!ENTITY conint           "&#x0222E;" ><!--/oint L: contour integral operator -->
<!ENTITY ctdot            "&#x022EF;" ><!--/cdots, three dots, centered -->
<!ENTITY cup              "&#x0222A;" ><!--/cup B: union or logical sum -->
<!ENTITY cwconint         "&#x02232;" ><!--contour integral, clockwise -->
<!ENTITY cwint            "&#x02231;" ><!--clockwise integral -->
<!ENTITY cylcty           "&#x0232D;" ><!--cylindricity -->
<!ENTITY disin            "&#x022F2;" ><!--set membership, long horizontal stroke -->
<!ENTITY Dot              "&#x000A8;" ><!--dieresis or umlaut mark -->
<!ENTITY DotDot           "&#x020DC;" ><!--four dots above -->
<!ENTITY dsol             "&#x029F6;" ><!--solidus, bar above -->
<!ENTITY dtdot            "&#x022F1;" ><!--/ddots, three dots, descending -->
<!ENTITY dwangle          "&#x029A6;" ><!--large downward pointing angle -->
<!ENTITY epar             "&#x022D5;" ><!--parallel, equal; equal or parallel -->
<!ENTITY eparsl           "&#x029E3;" ><!--parallel, slanted, equal; homothetically congruent to -->
<!ENTITY equiv            "&#x02261;" ><!--/equiv R: identical with -->
<!ENTITY eqvparsl         "&#x029E5;" ><!--equivalent, equal; congruent and parallel -->
<!ENTITY exist            "&#x02203;" ><!--/exists at least one exists -->
<!ENTITY fnof             "&#x00192;" ><!--function of (italic small f) -->
<!ENTITY forall           "&#x02200;" ><!--/forall for all -->
<!ENTITY fpartint         "&#x02A0D;" ><!--finite part integral -->
<!ENTITY ge               "&#x02265;" ><!--/geq /ge R: greater-than-or-equal -->
<!ENTITY hamilt           "&#x0210B;" ><!--Hamiltonian (script capital H)  -->
<!ENTITY iff              "&#x021D4;" ><!--/iff if and only if  -->
<!ENTITY iinfin           "&#x029DC;" ><!--infinity sign, incomplete -->
<!ENTITY imped            "%plane1D;543;" ><!--impedance -->
<!ENTITY infin            "&#x0221E;" ><!--/infty infinity -->
<!ENTITY Int              "&#x0222C;" ><!--double integral operator -->
<!ENTITY int              "&#x0222B;" ><!--/int L: integral operator -->
<!ENTITY intlarhk         "&#x02A17;" ><!--integral, left arrow with hook -->
<!ENTITY isin             "&#x02208;" ><!--/in R: set membership  -->
<!ENTITY isindot          "&#x022F5;" ><!--set membership, dot above -->
<!ENTITY isinE            "&#x022F9;" ><!--set membership, two horizontal strokes -->
<!ENTITY isins            "&#x022F4;" ><!--set membership, vertical bar on horizontal stroke -->
<!ENTITY isinsv           "&#x022F3;" ><!--large set membership, vertical bar on horizontal stroke -->
<!ENTITY isinv            "&#x02208;" ><!--set membership, variant -->
<!ENTITY lagran           "&#x02112;" ><!--Lagrangian (script capital L)  -->
<!ENTITY Lang             "&#x0300A;" ><!--left angle bracket, double -->
<!ENTITY lang             "&#x02329;" ><!--/langle O: left angle bracket -->
<!ENTITY lArr             "&#x021D0;" ><!--/Leftarrow A: is implied by -->
<!ENTITY lbbrk            "&#x03014;" ><!--left broken bracket -->
<!ENTITY le               "&#x02264;" ><!--/leq /le R: less-than-or-equal -->
<!ENTITY loang            "&#x02989;" ><!--left open angular bracket -->
<!ENTITY lobrk            "&#x0301A;" ><!--left open bracket -->
<!ENTITY lopar            "&#x02985;" ><!--left open parenthesis -->
<!ENTITY lowast           "&#x02217;" ><!--low asterisk -->
<!ENTITY minus            "&#x02212;" ><!--B: minus sign -->
<!ENTITY mnplus           "&#x02213;" ><!--/mp B: minus-or-plus sign -->
<!ENTITY nabla            "&#x02207;" ><!--/nabla del, Hamilton operator -->
<!ENTITY ne               "&#x02260;" ><!--/ne /neq R: not equal -->
<!ENTITY nedot            "&#x02260;&#x00307;" ><!--not equal, dot -->
<!ENTITY nhpar            "&#x02AF2;" ><!--not, horizontal, parallel -->
<!ENTITY ni               "&#x0220B;" ><!--/ni /owns R: contains -->
<!ENTITY nis              "&#x022FC;" ><!--contains, vertical bar on horizontal stroke -->
<!ENTITY nisd             "&#x022FA;" ><!--contains, long horizontal stroke -->
<!ENTITY niv              "&#x0220B;" ><!--contains, variant -->
<!ENTITY Not              "&#x02AEC;" ><!--not with two horizontal strokes -->
<!ENTITY notin            "&#x02209;" ><!--/notin N: negated set membership -->
<!ENTITY notindot         "&#x02209;&#x00307;" ><!--negated set membership, dot above -->
<!ENTITY notinva          "&#x02209;" ><!--negated set membership, variant -->
<!ENTITY notinvb          "&#x022F7;" ><!--negated set membership, variant -->
<!ENTITY notinvc          "&#x022F6;" ><!--negated set membership, variant -->
<!ENTITY notni            "&#x0220C;" ><!--negated contains -->
<!ENTITY notniva          "&#x0220C;" ><!--negated contains, variant -->
<!ENTITY notnivb          "&#x022FE;" ><!--contains, variant -->
<!ENTITY notnivc          "&#x022FD;" ><!--contains, variant -->
<!ENTITY nparsl           "&#x02225;&#x0FE00;&#x020E5;" ><!--not parallel, slanted -->
<!ENTITY npart            "&#x02202;&#x00338;" ><!--not partial differential -->
<!ENTITY npolint          "&#x02A14;" ><!--line integration, not including the pole -->
<!ENTITY nvinfin          "&#x029DE;" ><!--not, vert, infinity -->
<!ENTITY olcross          "&#x029BB;" ><!--circle, cross -->
<!ENTITY Or               "&#x02A54;" ><!--dbl logical or -->
<!ENTITY or               "&#x02228;" ><!--/vee /lor B: logical or -->
<!ENTITY ord              "&#x02A5D;" ><!--or, horizontal dash -->
<!ENTITY order            "&#x02134;" ><!--order of (script small o)  -->
<!ENTITY oror             "&#x02A56;" ><!--two logical or -->
<!ENTITY orslope          "&#x02A57;" ><!--sloping large or -->
<!ENTITY orv              "&#x02A5B;" ><!--or with middle stem -->
<!ENTITY par              "&#x02225;" ><!--/parallel R: parallel -->
<!ENTITY parsl            "&#x02225;&#x0FE00;" ><!--parallel, slanted -->
<!ENTITY part             "&#x02202;" ><!--/partial partial differential -->
<!ENTITY permil           "&#x02030;" ><!--per thousand -->
<!ENTITY perp             "&#x022A5;" ><!--/perp R: perpendicular -->
<!ENTITY pertenk          "&#x02031;" ><!--per 10 thousand -->
<!ENTITY phmmat           "&#x02133;" ><!--physics M-matrix (script capital M)  -->
<!ENTITY pointint         "&#x02A15;" ><!--integral around a point operator -->
<!ENTITY Prime            "&#x02033;" ><!--double prime or second -->
<!ENTITY prime            "&#x02032;" ><!--/prime prime or minute -->
<!ENTITY profalar         "&#x0232E;" ><!--all-around profile -->
<!ENTITY profline         "&#x02312;" ><!--profile of a line -->
<!ENTITY profsurf         "&#x02313;" ><!--profile of a surface -->
<!ENTITY prop             "&#x0221D;" ><!--/propto R: is proportional to -->
<!ENTITY qint             "&#x02A0C;" ><!--/iiiint quadruple integral operator -->
<!ENTITY qprime           "&#x02057;" ><!--quadruple prime -->
<!ENTITY quatint          "&#x02A16;" ><!--quaternion integral operator -->
<!ENTITY radic            "&#x0221A;" ><!--/surd radical -->
<!ENTITY Rang             "&#x0300B;" ><!--right angle bracket, double -->
<!ENTITY rang             "&#x0232A;" ><!--/rangle C: right angle bracket -->
<!ENTITY rArr             "&#x021D2;" ><!--/Rightarrow A: implies -->
<!ENTITY rbbrk            "&#x03015;" ><!--right broken bracket -->
<!ENTITY roang            "&#x0298A;" ><!--right open angular bracket -->
<!ENTITY robrk            "&#x0301B;" ><!--right open bracket -->
<!ENTITY ropar            "&#x02986;" ><!--right open parenthesis -->
<!ENTITY rppolint         "&#x02A12;" ><!--line integration, rectangular path around pole -->
<!ENTITY scpolint         "&#x02A13;" ><!--line integration, semi-circular path around pole -->
<!ENTITY sim              "&#x0223C;" ><!--/sim R: similar -->
<!ENTITY simdot           "&#x02A6A;" ><!--similar, dot -->
<!ENTITY sime             "&#x02243;" ><!--/simeq R: similar, equals -->
<!ENTITY smeparsl         "&#x029E4;" ><!--similar, parallel, slanted, equal -->
<!ENTITY square           "&#x025A1;" ><!--/square, square -->
<!ENTITY squarf           "&#x025AA;" ><!--/blacksquare, square, filled  -->
<!ENTITY sub              "&#x02282;" ><!--/subset R: subset or is implied by -->
<!ENTITY sube             "&#x02286;" ><!--/subseteq R: subset, equals -->
<!ENTITY sup              "&#x02283;" ><!--/supset R: superset or implies -->
<!ENTITY supe             "&#x02287;" ><!--/supseteq R: superset, equals -->
<!ENTITY tdot             "&#x020DB;" ><!--three dots above -->
<!ENTITY there4           "&#x02234;" ><!--/therefore R: therefore -->
<!ENTITY tint             "&#x0222D;" ><!--/iiint triple integral operator -->
<!ENTITY top              "&#x022A4;" ><!--/top top -->
<!ENTITY topbot           "&#x02336;" ><!--top and bottom -->
<!ENTITY topcir           "&#x02AF1;" ><!--top, circle below -->
<!ENTITY tprime           "&#x02034;" ><!--triple prime -->
<!ENTITY utdot            "&#x022F0;" ><!--three dots, ascending -->
<!ENTITY uwangle          "&#x029A7;" ><!--large upward pointing angle -->
<!ENTITY vangrt           "&#x022BE;" ><!--right angle, variant -->
<!ENTITY veeeq            "&#x0225A;" ><!--logical or, equals -->
<!ENTITY Verbar           "&#x02016;" ><!--/Vert dbl vertical bar -->
<!ENTITY wedgeq           "&#x02259;" ><!--/wedgeq R: corresponds to (wedge, equals) -->
<!ENTITY xnis             "&#x022FB;" ><!--large contains, vertical bar on horizontal stroke -->


<!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->

<!ENTITY % ent-isobox
      PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
             "iso8879/isobox.ent" >

<!--
     File isobox.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY boxDL            "&#x02557;" ><!--lower left quadrant -->
<!ENTITY boxDl            "&#x02556;" ><!--lower left quadrant -->
<!ENTITY boxdL            "&#x02555;" ><!--lower left quadrant -->
<!ENTITY boxdl            "&#x02510;" ><!--lower left quadrant -->
<!ENTITY boxDR            "&#x02554;" ><!--lower right quadrant -->
<!ENTITY boxDr            "&#x02553;" ><!--lower right quadrant -->
<!ENTITY boxdR            "&#x02552;" ><!--lower right quadrant -->
<!ENTITY boxdr            "&#x0250C;" ><!--lower right quadrant -->
<!ENTITY boxH             "&#x02550;" ><!--horizontal line -->
<!ENTITY boxh             "&#x02500;" ><!--horizontal line  -->
<!ENTITY boxHD            "&#x02566;" ><!--lower left and right quadrants -->
<!ENTITY boxHd            "&#x02564;" ><!--lower left and right quadrants -->
<!ENTITY boxhD            "&#x02565;" ><!--lower left and right quadrants -->
<!ENTITY boxhd            "&#x0252C;" ><!--lower left and right quadrants -->
<!ENTITY boxHU            "&#x02569;" ><!--upper left and right quadrants -->
<!ENTITY boxHu            "&#x02567;" ><!--upper left and right quadrants -->
<!ENTITY boxhU            "&#x02568;" ><!--upper left and right quadrants -->
<!ENTITY boxhu            "&#x02534;" ><!--upper left and right quadrants -->
<!ENTITY boxUL            "&#x0255D;" ><!--upper left quadrant -->
<!ENTITY boxUl            "&#x0255C;" ><!--upper left quadrant -->
<!ENTITY boxuL            "&#x0255B;" ><!--upper left quadrant -->
<!ENTITY boxul            "&#x02518;" ><!--upper left quadrant -->
<!ENTITY boxUR            "&#x0255A;" ><!--upper right quadrant -->
<!ENTITY boxUr            "&#x02559;" ><!--upper right quadrant -->
<!ENTITY boxuR            "&#x02558;" ><!--upper right quadrant -->
<!ENTITY boxur            "&#x02514;" ><!--upper right quadrant -->
<!ENTITY boxV             "&#x02551;" ><!--vertical line -->
<!ENTITY boxv             "&#x02502;" ><!--vertical line -->
<!ENTITY boxVH            "&#x0256C;" ><!--all four quadrants -->
<!ENTITY boxVh            "&#x0256B;" ><!--all four quadrants -->
<!ENTITY boxvH            "&#x0256A;" ><!--all four quadrants -->
<!ENTITY boxvh            "&#x0253C;" ><!--all four quadrants -->
<!ENTITY boxVL            "&#x02563;" ><!--upper and lower left quadrants -->
<!ENTITY boxVl            "&#x02562;" ><!--upper and lower left quadrants -->
<!ENTITY boxvL            "&#x02561;" ><!--upper and lower left quadrants -->
<!ENTITY boxvl            "&#x02524;" ><!--upper and lower left quadrants -->
<!ENTITY boxVR            "&#x02560;" ><!--upper and lower right quadrants -->
<!ENTITY boxVr            "&#x0255F;" ><!--upper and lower right quadrants -->
<!ENTITY boxvR            "&#x0255E;" ><!--upper and lower right quadrants -->
<!ENTITY boxvr            "&#x0251C;" ><!--upper and lower right quadrants -->


<!ENTITY % ent-isocyr1
      PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
             "iso8879/isocyr1.ent" >

<!--
     File isocyr1.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY Acy              "&#x00410;" ><!--=capital A, Cyrillic -->
<!ENTITY acy              "&#x00430;" ><!--=small a, Cyrillic -->
<!ENTITY Bcy              "&#x00411;" ><!--=capital BE, Cyrillic -->
<!ENTITY bcy              "&#x00431;" ><!--=small be, Cyrillic -->
<!ENTITY CHcy             "&#x00427;" ><!--=capital CHE, Cyrillic -->
<!ENTITY chcy             "&#x00447;" ><!--=small che, Cyrillic -->
<!ENTITY Dcy              "&#x00414;" ><!--=capital DE, Cyrillic -->
<!ENTITY dcy              "&#x00434;" ><!--=small de, Cyrillic -->
<!ENTITY Ecy              "&#x0042D;" ><!--=capital E, Cyrillic -->
<!ENTITY ecy              "&#x0044D;" ><!--=small e, Cyrillic -->
<!ENTITY Fcy              "&#x00424;" ><!--=capital EF, Cyrillic -->
<!ENTITY fcy              "&#x00444;" ><!--=small ef, Cyrillic -->
<!ENTITY Gcy              "&#x00413;" ><!--=capital GHE, Cyrillic -->
<!ENTITY gcy              "&#x00433;" ><!--=small ghe, Cyrillic -->
<!ENTITY HARDcy           "&#x0042A;" ><!--=capital HARD sign, Cyrillic -->
<!ENTITY hardcy           "&#x0044A;" ><!--=small hard sign, Cyrillic -->
<!ENTITY Icy              "&#x00418;" ><!--=capital I, Cyrillic -->
<!ENTITY icy              "&#x00438;" ><!--=small i, Cyrillic -->
<!ENTITY IEcy             "&#x00415;" ><!--=capital IE, Cyrillic -->
<!ENTITY iecy             "&#x00435;" ><!--=small ie, Cyrillic -->
<!ENTITY IOcy             "&#x00401;" ><!--=capital IO, Russian -->
<!ENTITY iocy             "&#x00451;" ><!--=small io, Russian -->
<!ENTITY Jcy              "&#x00419;" ><!--=capital short I, Cyrillic -->
<!ENTITY jcy              "&#x00439;" ><!--=small short i, Cyrillic -->
<!ENTITY Kcy              "&#x0041A;" ><!--=capital KA, Cyrillic -->
<!ENTITY kcy              "&#x0043A;" ><!--=small ka, Cyrillic -->
<!ENTITY KHcy             "&#x00425;" ><!--=capital HA, Cyrillic -->
<!ENTITY khcy             "&#x00445;" ><!--=small ha, Cyrillic -->
<!ENTITY Lcy              "&#x0041B;" ><!--=capital EL, Cyrillic -->
<!ENTITY lcy              "&#x0043B;" ><!--=small el, Cyrillic -->
<!ENTITY Mcy              "&#x0041C;" ><!--=capital EM, Cyrillic -->
<!ENTITY mcy              "&#x0043C;" ><!--=small em, Cyrillic -->
<!ENTITY Ncy              "&#x0041D;" ><!--=capital EN, Cyrillic -->
<!ENTITY ncy              "&#x0043D;" ><!--=small en, Cyrillic -->
<!ENTITY numero           "&#x02116;" ><!--=numero sign -->
<!ENTITY Ocy              "&#x0041E;" ><!--=capital O, Cyrillic -->
<!ENTITY ocy              "&#x0043E;" ><!--=small o, Cyrillic -->
<!ENTITY Pcy              "&#x0041F;" ><!--=capital PE, Cyrillic -->
<!ENTITY pcy              "&#x0043F;" ><!--=small pe, Cyrillic -->
<!ENTITY Rcy              "&#x00420;" ><!--=capital ER, Cyrillic -->
<!ENTITY rcy              "&#x00440;" ><!--=small er, Cyrillic -->
<!ENTITY Scy              "&#x00421;" ><!--=capital ES, Cyrillic -->
<!ENTITY scy              "&#x00441;" ><!--=small es, Cyrillic -->
<!ENTITY SHCHcy           "&#x00429;" ><!--=capital SHCHA, Cyrillic -->
<!ENTITY shchcy           "&#x00449;" ><!--=small shcha, Cyrillic -->
<!ENTITY SHcy             "&#x00428;" ><!--=capital SHA, Cyrillic -->
<!ENTITY shcy             "&#x00448;" ><!--=small sha, Cyrillic -->
<!ENTITY SOFTcy           "&#x0042C;" ><!--=capital SOFT sign, Cyrillic -->
<!ENTITY softcy           "&#x0044C;" ><!--=small soft sign, Cyrillic -->
<!ENTITY Tcy              "&#x00422;" ><!--=capital TE, Cyrillic -->
<!ENTITY tcy              "&#x00442;" ><!--=small te, Cyrillic -->
<!ENTITY TScy             "&#x00426;" ><!--=capital TSE, Cyrillic -->
<!ENTITY tscy             "&#x00446;" ><!--=small tse, Cyrillic -->
<!ENTITY Ucy              "&#x00423;" ><!--=capital U, Cyrillic -->
<!ENTITY ucy              "&#x00443;" ><!--=small u, Cyrillic -->
<!ENTITY Vcy              "&#x00412;" ><!--=capital VE, Cyrillic -->
<!ENTITY vcy              "&#x00432;" ><!--=small ve, Cyrillic -->
<!ENTITY YAcy             "&#x0042F;" ><!--=capital YA, Cyrillic -->
<!ENTITY yacy             "&#x0044F;" ><!--=small ya, Cyrillic -->
<!ENTITY Ycy              "&#x0042B;" ><!--=capital YERU, Cyrillic -->
<!ENTITY ycy              "&#x0044B;" ><!--=small yeru, Cyrillic -->
<!ENTITY YUcy             "&#x0042E;" ><!--=capital YU, Cyrillic -->
<!ENTITY yucy             "&#x0044E;" ><!--=small yu, Cyrillic -->
<!ENTITY Zcy              "&#x00417;" ><!--=capital ZE, Cyrillic -->
<!ENTITY zcy              "&#x00437;" ><!--=small ze, Cyrillic -->
<!ENTITY ZHcy             "&#x00416;" ><!--=capital ZHE, Cyrillic -->
<!ENTITY zhcy             "&#x00436;" ><!--=small zhe, Cyrillic -->


<!ENTITY % ent-isocyr2
      PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
             "iso8879/isocyr2.ent" >

<!--
     File isocyr2.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY DJcy             "&#x00402;" ><!--=capital DJE, Serbian -->
<!ENTITY djcy             "&#x00452;" ><!--=small dje, Serbian -->
<!ENTITY DScy             "&#x00405;" ><!--=capital DSE, Macedonian -->
<!ENTITY dscy             "&#x00455;" ><!--=small dse, Macedonian -->
<!ENTITY DZcy             "&#x0040F;" ><!--=capital dze, Serbian -->
<!ENTITY dzcy             "&#x0045F;" ><!--=small dze, Serbian -->
<!ENTITY GJcy             "&#x00403;" ><!--=capital GJE Macedonian -->
<!ENTITY gjcy             "&#x00453;" ><!--=small gje, Macedonian -->
<!ENTITY Iukcy            "&#x00406;" ><!--=capital I, Ukrainian -->
<!ENTITY iukcy            "&#x00456;" ><!--=small i, Ukrainian -->
<!ENTITY Jsercy           "&#x00408;" ><!--=capital JE, Serbian -->
<!ENTITY jsercy           "&#x00458;" ><!--=small je, Serbian -->
<!ENTITY Jukcy            "&#x00404;" ><!--=capital JE, Ukrainian -->
<!ENTITY jukcy            "&#x00454;" ><!--=small je, Ukrainian -->
<!ENTITY KJcy             "&#x0040C;" ><!--=capital KJE, Macedonian -->
<!ENTITY kjcy             "&#x0045C;" ><!--=small kje Macedonian -->
<!ENTITY LJcy             "&#x00409;" ><!--=capital LJE, Serbian -->
<!ENTITY ljcy             "&#x00459;" ><!--=small lje, Serbian -->
<!ENTITY NJcy             "&#x0040A;" ><!--=capital NJE, Serbian -->
<!ENTITY njcy             "&#x0045A;" ><!--=small nje, Serbian -->
<!ENTITY TSHcy            "&#x0040B;" ><!--=capital TSHE, Serbian -->
<!ENTITY tshcy            "&#x0045B;" ><!--=small tshe, Serbian -->
<!ENTITY Ubrcy            "&#x0040E;" ><!--=capital U, Byelorussian -->
<!ENTITY ubrcy            "&#x0045E;" ><!--=small u, Byelorussian -->
<!ENTITY YIcy             "&#x00407;" ><!--=capital YI, Ukrainian -->
<!ENTITY yicy             "&#x00457;" ><!--=small yi, Ukrainian -->


<!ENTITY % ent-isodia
      PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
             "iso8879/isodia.ent" >

<!--
     File isodia.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY acute            "&#x000B4;" ><!--=acute accent -->
<!ENTITY breve            "&#x002D8;" ><!--=breve -->
<!ENTITY caron            "&#x002C7;" ><!--=caron -->
<!ENTITY cedil            "&#x000B8;" ><!--=cedilla -->
<!ENTITY circ             "&#x002C6;" ><!--circumflex accent -->
<!ENTITY dblac            "&#x002DD;" ><!--=double acute accent -->
<!ENTITY die              "&#x000A8;" ><!--=dieresis -->
<!ENTITY dot              "&#x002D9;" ><!--=dot above -->
<!ENTITY grave            "&#x00060;" ><!--=grave accent -->
<!ENTITY macr             "&#x000AF;" ><!--=macron -->
<!ENTITY ogon             "&#x002DB;" ><!--=ogonek -->
<!ENTITY ring             "&#x002DA;" ><!--=ring -->
<!ENTITY tilde            "&#x002DC;" ><!--=tilde -->
<!ENTITY uml              "&#x000A8;" ><!--=umlaut mark -->


<!ENTITY % ent-isolat1
      PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
             "iso8879/isolat1.ent" >

<!--
     File isolat1.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY Aacute           "&#x000C1;" ><!--=capital A, acute accent -->
<!ENTITY aacute           "&#x000E1;" ><!--=small a, acute accent -->
<!ENTITY Acirc            "&#x000C2;" ><!--=capital A, circumflex accent -->
<!ENTITY acirc            "&#x000E2;" ><!--=small a, circumflex accent -->
<!ENTITY AElig            "&#x000C6;" ><!--=capital AE diphthong (ligature) -->
<!ENTITY aelig            "&#x000E6;" ><!--=small ae diphthong (ligature) -->
<!ENTITY Agrave           "&#x000C0;" ><!--=capital A, grave accent -->
<!ENTITY agrave           "&#x000E0;" ><!--=small a, grave accent -->
<!ENTITY Aring            "&#x000C5;" ><!--=capital A, ring -->
<!ENTITY aring            "&#x000E5;" ><!--=small a, ring -->
<!ENTITY Atilde           "&#x000C3;" ><!--=capital A, tilde -->
<!ENTITY atilde           "&#x000E3;" ><!--=small a, tilde -->
<!ENTITY Auml             "&#x000C4;" ><!--=capital A, dieresis or umlaut mark -->
<!ENTITY auml             "&#x000E4;" ><!--=small a, dieresis or umlaut mark -->
<!ENTITY Ccedil           "&#x000C7;" ><!--=capital C, cedilla -->
<!ENTITY ccedil           "&#x000E7;" ><!--=small c, cedilla -->
<!ENTITY Eacute           "&#x000C9;" ><!--=capital E, acute accent -->
<!ENTITY eacute           "&#x000E9;" ><!--=small e, acute accent -->
<!ENTITY Ecirc            "&#x000CA;" ><!--=capital E, circumflex accent -->
<!ENTITY ecirc            "&#x000EA;" ><!--=small e, circumflex accent -->
<!ENTITY Egrave           "&#x000C8;" ><!--=capital E, grave accent -->
<!ENTITY egrave           "&#x000E8;" ><!--=small e, grave accent -->
<!ENTITY ETH              "&#x000D0;" ><!--=capital Eth, Icelandic -->
<!ENTITY eth              "&#x000F0;" ><!--=small eth, Icelandic -->
<!ENTITY Euml             "&#x000CB;" ><!--=capital E, dieresis or umlaut mark -->
<!ENTITY euml             "&#x000EB;" ><!--=small e, dieresis or umlaut mark -->
<!ENTITY Iacute           "&#x000CD;" ><!--=capital I, acute accent -->
<!ENTITY iacute           "&#x000ED;" ><!--=small i, acute accent -->
<!ENTITY Icirc            "&#x000CE;" ><!--=capital I, circumflex accent -->
<!ENTITY icirc            "&#x000EE;" ><!--=small i, circumflex accent -->
<!ENTITY Igrave           "&#x000CC;" ><!--=capital I, grave accent -->
<!ENTITY igrave           "&#x000EC;" ><!--=small i, grave accent -->
<!ENTITY Iuml             "&#x000CF;" ><!--=capital I, dieresis or umlaut mark -->
<!ENTITY iuml             "&#x000EF;" ><!--=small i, dieresis or umlaut mark -->
<!ENTITY Ntilde           "&#x000D1;" ><!--=capital N, tilde -->
<!ENTITY ntilde           "&#x000F1;" ><!--=small n, tilde -->
<!ENTITY Oacute           "&#x000D3;" ><!--=capital O, acute accent -->
<!ENTITY oacute           "&#x000F3;" ><!--=small o, acute accent -->
<!ENTITY Ocirc            "&#x000D4;" ><!--=capital O, circumflex accent -->
<!ENTITY ocirc            "&#x000F4;" ><!--=small o, circumflex accent -->
<!ENTITY Ograve           "&#x000D2;" ><!--=capital O, grave accent -->
<!ENTITY ograve           "&#x000F2;" ><!--=small o, grave accent -->
<!ENTITY Oslash           "&#x000D8;" ><!--=capital O, slash -->
<!ENTITY oslash           "&#x000F8;" ><!--latin small letter o with stroke -->
<!ENTITY Otilde           "&#x000D5;" ><!--=capital O, tilde -->
<!ENTITY otilde           "&#x000F5;" ><!--=small o, tilde -->
<!ENTITY Ouml             "&#x000D6;" ><!--=capital O, dieresis or umlaut mark -->
<!ENTITY ouml             "&#x000F6;" ><!--=small o, dieresis or umlaut mark -->
<!ENTITY szlig            "&#x000DF;" ><!--=small sharp s, German (sz ligature) -->
<!ENTITY THORN            "&#x000DE;" ><!--=capital THORN, Icelandic -->
<!ENTITY thorn            "&#x000FE;" ><!--=small thorn, Icelandic -->
<!ENTITY Uacute           "&#x000DA;" ><!--=capital U, acute accent -->
<!ENTITY uacute           "&#x000FA;" ><!--=small u, acute accent -->
<!ENTITY Ucirc            "&#x000DB;" ><!--=capital U, circumflex accent -->
<!ENTITY ucirc            "&#x000FB;" ><!--=small u, circumflex accent -->
<!ENTITY Ugrave           "&#x000D9;" ><!--=capital U, grave accent -->
<!ENTITY ugrave           "&#x000F9;" ><!--=small u, grave accent -->
<!ENTITY Uuml             "&#x000DC;" ><!--=capital U, dieresis or umlaut mark -->
<!ENTITY uuml             "&#x000FC;" ><!--=small u, dieresis or umlaut mark -->
<!ENTITY Yacute           "&#x000DD;" ><!--=capital Y, acute accent -->
<!ENTITY yacute           "&#x000FD;" ><!--=small y, acute accent -->
<!ENTITY yuml             "&#x000FF;" ><!--=small y, dieresis or umlaut mark -->


<!ENTITY % ent-isolat2
      PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
             "iso8879/isolat2.ent" >

<!--
     File isolat2.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY Abreve           "&#x00102;" ><!--=capital A, breve -->
<!ENTITY abreve           "&#x00103;" ><!--=small a, breve -->
<!ENTITY Amacr            "&#x00100;" ><!--=capital A, macron -->
<!ENTITY amacr            "&#x00101;" ><!--=small a, macron -->
<!ENTITY Aogon            "&#x00104;" ><!--=capital A, ogonek -->
<!ENTITY aogon            "&#x00105;" ><!--=small a, ogonek -->
<!ENTITY Cacute           "&#x00106;" ><!--=capital C, acute accent -->
<!ENTITY cacute           "&#x00107;" ><!--=small c, acute accent -->
<!ENTITY Ccaron           "&#x0010C;" ><!--=capital C, caron -->
<!ENTITY ccaron           "&#x0010D;" ><!--=small c, caron -->
<!ENTITY Ccirc            "&#x00108;" ><!--=capital C, circumflex accent -->
<!ENTITY ccirc            "&#x00109;" ><!--=small c, circumflex accent -->
<!ENTITY Cdot             "&#x0010A;" ><!--=capital C, dot above -->
<!ENTITY cdot             "&#x0010B;" ><!--=small c, dot above -->
<!ENTITY Dcaron           "&#x0010E;" ><!--=capital D, caron -->
<!ENTITY dcaron           "&#x0010F;" ><!--=small d, caron -->
<!ENTITY Dstrok           "&#x00110;" ><!--=capital D, stroke -->
<!ENTITY dstrok           "&#x00111;" ><!--=small d, stroke -->
<!ENTITY Ecaron           "&#x0011A;" ><!--=capital E, caron -->
<!ENTITY ecaron           "&#x0011B;" ><!--=small e, caron -->
<!ENTITY Edot             "&#x00116;" ><!--=capital E, dot above -->
<!ENTITY edot             "&#x00117;" ><!--=small e, dot above -->
<!ENTITY Emacr            "&#x00112;" ><!--=capital E, macron -->
<!ENTITY emacr            "&#x00113;" ><!--=small e, macron -->
<!ENTITY ENG              "&#x0014A;" ><!--=capital ENG, Lapp -->
<!ENTITY eng              "&#x0014B;" ><!--=small eng, Lapp -->
<!ENTITY Eogon            "&#x00118;" ><!--=capital E, ogonek -->
<!ENTITY eogon            "&#x00119;" ><!--=small e, ogonek -->
<!ENTITY gacute           "&#x001F5;" ><!--=small g, acute accent -->
<!ENTITY Gbreve           "&#x0011E;" ><!--=capital G, breve -->
<!ENTITY gbreve           "&#x0011F;" ><!--=small g, breve -->
<!ENTITY Gcedil           "&#x00122;" ><!--=capital G, cedilla -->
<!ENTITY Gcirc            "&#x0011C;" ><!--=capital G, circumflex accent -->
<!ENTITY gcirc            "&#x0011D;" ><!--=small g, circumflex accent -->
<!ENTITY Gdot             "&#x00120;" ><!--=capital G, dot above -->
<!ENTITY gdot             "&#x00121;" ><!--=small g, dot above -->
<!ENTITY Hcirc            "&#x00124;" ><!--=capital H, circumflex accent -->
<!ENTITY hcirc            "&#x00125;" ><!--=small h, circumflex accent -->
<!ENTITY Hstrok           "&#x00126;" ><!--=capital H, stroke -->
<!ENTITY hstrok           "&#x00127;" ><!--=small h, stroke -->
<!ENTITY Idot             "&#x00130;" ><!--=capital I, dot above -->
<!ENTITY IJlig            "&#x00132;" ><!--=capital IJ ligature -->
<!ENTITY ijlig            "&#x00133;" ><!--=small ij ligature -->
<!ENTITY Imacr            "&#x0012A;" ><!--=capital I, macron -->
<!ENTITY imacr            "&#x0012B;" ><!--=small i, macron -->
<!ENTITY inodot           "&#x00131;" ><!--=small i without dot -->
<!ENTITY Iogon            "&#x0012E;" ><!--=capital I, ogonek -->
<!ENTITY iogon            "&#x0012F;" ><!--=small i, ogonek -->
<!ENTITY Itilde           "&#x00128;" ><!--=capital I, tilde -->
<!ENTITY itilde           "&#x00129;" ><!--=small i, tilde -->
<!ENTITY Jcirc            "&#x00134;" ><!--=capital J, circumflex accent -->
<!ENTITY jcirc            "&#x00135;" ><!--=small j, circumflex accent -->
<!ENTITY Kcedil           "&#x00136;" ><!--=capital K, cedilla -->
<!ENTITY kcedil           "&#x00137;" ><!--=small k, cedilla -->
<!ENTITY kgreen           "&#x00138;" ><!--=small k, Greenlandic -->
<!ENTITY Lacute           "&#x00139;" ><!--=capital L, acute accent -->
<!ENTITY lacute           "&#x0013A;" ><!--=small l, acute accent -->
<!ENTITY Lcaron           "&#x0013D;" ><!--=capital L, caron -->
<!ENTITY lcaron           "&#x0013E;" ><!--=small l, caron -->
<!ENTITY Lcedil           "&#x0013B;" ><!--=capital L, cedilla -->
<!ENTITY lcedil           "&#x0013C;" ><!--=small l, cedilla -->
<!ENTITY Lmidot           "&#x0013F;" ><!--=capital L, middle dot -->
<!ENTITY lmidot           "&#x00140;" ><!--=small l, middle dot -->
<!ENTITY Lstrok           "&#x00141;" ><!--=capital L, stroke -->
<!ENTITY lstrok           "&#x00142;" ><!--=small l, stroke -->
<!ENTITY Nacute           "&#x00143;" ><!--=capital N, acute accent -->
<!ENTITY nacute           "&#x00144;" ><!--=small n, acute accent -->
<!ENTITY napos            "&#x00149;" ><!--=small n, apostrophe -->
<!ENTITY Ncaron           "&#x00147;" ><!--=capital N, caron -->
<!ENTITY ncaron           "&#x00148;" ><!--=small n, caron -->
<!ENTITY Ncedil           "&#x00145;" ><!--=capital N, cedilla -->
<!ENTITY ncedil           "&#x00146;" ><!--=small n, cedilla -->
<!ENTITY Odblac           "&#x00150;" ><!--=capital O, double acute accent -->
<!ENTITY odblac           "&#x00151;" ><!--=small o, double acute accent -->
<!ENTITY OElig            "&#x00152;" ><!--=capital OE ligature -->
<!ENTITY oelig            "&#x00153;" ><!--=small oe ligature -->
<!ENTITY Omacr            "&#x0014C;" ><!--=capital O, macron -->
<!ENTITY omacr            "&#x0014D;" ><!--=small o, macron -->
<!ENTITY Racute           "&#x00154;" ><!--=capital R, acute accent -->
<!ENTITY racute           "&#x00155;" ><!--=small r, acute accent -->
<!ENTITY Rcaron           "&#x00158;" ><!--=capital R, caron -->
<!ENTITY rcaron           "&#x00159;" ><!--=small r, caron -->
<!ENTITY Rcedil           "&#x00156;" ><!--=capital R, cedilla -->
<!ENTITY rcedil           "&#x00157;" ><!--=small r, cedilla -->
<!ENTITY Sacute           "&#x0015A;" ><!--=capital S, acute accent -->
<!ENTITY sacute           "&#x0015B;" ><!--=small s, acute accent -->
<!ENTITY Scaron           "&#x00160;" ><!--=capital S, caron -->
<!ENTITY scaron           "&#x00161;" ><!--=small s, caron -->
<!ENTITY Scedil           "&#x0015E;" ><!--=capital S, cedilla -->
<!ENTITY scedil           "&#x0015F;" ><!--=small s, cedilla -->
<!ENTITY Scirc            "&#x0015C;" ><!--=capital S, circumflex accent -->
<!ENTITY scirc            "&#x0015D;" ><!--=small s, circumflex accent -->
<!ENTITY Tcaron           "&#x00164;" ><!--=capital T, caron -->
<!ENTITY tcaron           "&#x00165;" ><!--=small t, caron -->
<!ENTITY Tcedil           "&#x00162;" ><!--=capital T, cedilla -->
<!ENTITY tcedil           "&#x00163;" ><!--=small t, cedilla -->
<!ENTITY Tstrok           "&#x00166;" ><!--=capital T, stroke -->
<!ENTITY tstrok           "&#x00167;" ><!--=small t, stroke -->
<!ENTITY Ubreve           "&#x0016C;" ><!--=capital U, breve -->
<!ENTITY ubreve           "&#x0016D;" ><!--=small u, breve -->
<!ENTITY Udblac           "&#x00170;" ><!--=capital U, double acute accent -->
<!ENTITY udblac           "&#x00171;" ><!--=small u, double acute accent -->
<!ENTITY Umacr            "&#x0016A;" ><!--=capital U, macron -->
<!ENTITY umacr            "&#x0016B;" ><!--=small u, macron -->
<!ENTITY Uogon            "&#x00172;" ><!--=capital U, ogonek -->
<!ENTITY uogon            "&#x00173;" ><!--=small u, ogonek -->
<!ENTITY Uring            "&#x0016E;" ><!--=capital U, ring -->
<!ENTITY uring            "&#x0016F;" ><!--=small u, ring -->
<!ENTITY Utilde           "&#x00168;" ><!--=capital U, tilde -->
<!ENTITY utilde           "&#x00169;" ><!--=small u, tilde -->
<!ENTITY Wcirc            "&#x00174;" ><!--=capital W, circumflex accent -->
<!ENTITY wcirc            "&#x00175;" ><!--=small w, circumflex accent -->
<!ENTITY Ycirc            "&#x00176;" ><!--=capital Y, circumflex accent -->
<!ENTITY ycirc            "&#x00177;" ><!--=small y, circumflex accent -->
<!ENTITY Yuml             "&#x00178;" ><!--=capital Y, dieresis or umlaut mark -->
<!ENTITY Zacute           "&#x00179;" ><!--=capital Z, acute accent -->
<!ENTITY zacute           "&#x0017A;" ><!--=small z, acute accent -->
<!ENTITY Zcaron           "&#x0017D;" ><!--=capital Z, caron -->
<!ENTITY zcaron           "&#x0017E;" ><!--=small z, caron -->
<!ENTITY Zdot             "&#x0017B;" ><!--=capital Z, dot above -->
<!ENTITY zdot             "&#x0017C;" ><!--=small z, dot above -->


<!ENTITY % ent-isonum
      PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
             "iso8879/isonum.ent" >

<!--
     File isonum.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY amp              "&#38;#38;" ><!--=ampersand -->
<!ENTITY apos             "&#x00027;" ><!--=apostrophe -->
<!ENTITY ast              "&#x0002A;" ><!--/ast B: =asterisk -->
<!ENTITY brvbar           "&#x000A6;" ><!--=broken (vertical) bar -->
<!ENTITY bsol             "&#x0005C;" ><!--/backslash =reverse solidus -->
<!ENTITY cent             "&#x000A2;" ><!--=cent sign -->
<!ENTITY colon            "&#x0003A;" ><!--/colon P: -->
<!ENTITY comma            "&#x0002C;" ><!--P: =comma -->
<!ENTITY commat           "&#x00040;" ><!--=commercial at -->
<!ENTITY copy             "&#x000A9;" ><!--=copyright sign -->
<!ENTITY curren           "&#x000A4;" ><!--=general currency sign -->
<!ENTITY darr             "&#x02193;" ><!--/downarrow A: =downward arrow -->
<!ENTITY deg              "&#x000B0;" ><!--=degree sign -->
<!ENTITY divide           "&#x000F7;" ><!--/div B: =divide sign -->
<!ENTITY dollar           "&#x00024;" ><!--=dollar sign -->
<!ENTITY equals           "&#x0003D;" ><!--=equals sign R: -->
<!ENTITY excl             "&#x00021;" ><!--=exclamation mark -->
<!ENTITY frac12           "&#x000BD;" ><!--=fraction one-half -->
<!ENTITY frac14           "&#x000BC;" ><!--=fraction one-quarter -->
<!ENTITY frac18           "&#x0215B;" ><!--=fraction one-eighth -->
<!ENTITY frac34           "&#x000BE;" ><!--=fraction three-quarters -->
<!ENTITY frac38           "&#x0215C;" ><!--=fraction three-eighths -->
<!ENTITY frac58           "&#x0215D;" ><!--=fraction five-eighths -->
<!ENTITY frac78           "&#x0215E;" ><!--=fraction seven-eighths -->
<!ENTITY gt               "&#x0003E;" ><!--=greater-than sign R: -->
<!ENTITY half             "&#x000BD;" ><!--=fraction one-half -->
<!ENTITY horbar           "&#x02015;" ><!--=horizontal bar -->
<!ENTITY hyphen           "&#x02010;" ><!--=hyphen -->
<!ENTITY iexcl            "&#x000A1;" ><!--=inverted exclamation mark -->
<!ENTITY iquest           "&#x000BF;" ><!--=inverted question mark -->
<!ENTITY laquo            "&#x000AB;" ><!--=angle quotation mark, left -->
<!ENTITY larr             "&#x02190;" ><!--/leftarrow /gets A: =leftward arrow -->
<!ENTITY lcub             "&#x0007B;" ><!--/lbrace O: =left curly bracket -->
<!ENTITY ldquo            "&#x0201C;" ><!--=double quotation mark, left -->
<!ENTITY lowbar           "&#x0005F;" ><!--=low line -->
<!ENTITY lpar             "&#x00028;" ><!--O: =left parenthesis -->
<!ENTITY lsqb             "&#x0005B;" ><!--/lbrack O: =left square bracket -->
<!ENTITY lsquo            "&#x02018;" ><!--=single quotation mark, left -->
<!ENTITY lt               "&#38;#60;" ><!--=less-than sign R: -->
<!ENTITY micro            "&#x000B5;" ><!--=micro sign -->
<!ENTITY middot           "&#x000B7;" ><!--/centerdot B: =middle dot -->
<!ENTITY nbsp             "&#x000A0;" ><!--=no break (required) space -->
<!ENTITY not              "&#x000AC;" ><!--/neg /lnot =not sign -->
<!ENTITY num              "&#x00023;" ><!--=number sign -->
<!ENTITY ohm              "&#x02126;" ><!--=ohm sign -->
<!ENTITY ordf             "&#x000AA;" ><!--=ordinal indicator, feminine -->
<!ENTITY ordm             "&#x000BA;" ><!--=ordinal indicator, masculine -->
<!ENTITY para             "&#x000B6;" ><!--=pilcrow (paragraph sign) -->
<!ENTITY percnt           "&#x00025;" ><!--=percent sign -->
<!ENTITY period           "&#x0002E;" ><!--=full stop, period -->
<!ENTITY plus             "&#x0002B;" ><!--=plus sign B: -->
<!ENTITY plusmn           "&#x000B1;" ><!--/pm B: =plus-or-minus sign -->
<!ENTITY pound            "&#x000A3;" ><!--=pound sign -->
<!ENTITY quest            "&#x0003F;" ><!--=question mark -->
<!ENTITY quot             "&#x00022;" ><!--=quotation mark -->
<!ENTITY raquo            "&#x000BB;" ><!--=angle quotation mark, right -->
<!ENTITY rarr             "&#x02192;" ><!--/rightarrow /to A: =rightward arrow -->
<!ENTITY rcub             "&#x0007D;" ><!--/rbrace C: =right curly bracket -->
<!ENTITY rdquo            "&#x0201D;" ><!--=double quotation mark, right -->
<!ENTITY reg              "&#x000AE;" ><!--/circledR =registered sign -->
<!ENTITY rpar             "&#x00029;" ><!--C: =right parenthesis -->
<!ENTITY rsqb             "&#x0005D;" ><!--/rbrack C: =right square bracket -->
<!ENTITY rsquo            "&#x02019;" ><!--=single quotation mark, right -->
<!ENTITY sect             "&#x000A7;" ><!--=section sign -->
<!ENTITY semi             "&#x0003B;" ><!--=semicolon P: -->
<!ENTITY shy              "&#x000AD;" ><!--=soft hyphen -->
<!ENTITY sol              "&#x0002F;" ><!--=solidus -->
<!ENTITY sung             "&#x0266A;" ><!--=music note (sung text sign) -->
<!ENTITY sup1             "&#x000B9;" ><!--=superscript one -->
<!ENTITY sup2             "&#x000B2;" ><!--=superscript two -->
<!ENTITY sup3             "&#x000B3;" ><!--=superscript three -->
<!ENTITY times            "&#x000D7;" ><!--/times B: =multiply sign -->
<!ENTITY trade            "&#x02122;" ><!--=trade mark sign -->
<!ENTITY uarr             "&#x02191;" ><!--/uparrow A: =upward arrow -->
<!ENTITY verbar           "&#x0007C;" ><!--/vert =vertical bar -->
<!ENTITY yen              "&#x000A5;" ><!--/yen =yen sign -->


<!ENTITY % ent-isopub
      PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
             "iso8879/isopub.ent" >

<!--
     File isopub.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     Entity names in this file are derived from files carrying the
     following notice:

     (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.

-->

<!ENTITY blank            "&#x02423;" ><!--=significant blank symbol -->
<!ENTITY blk12            "&#x02592;" ><!--=50% shaded block -->
<!ENTITY blk14            "&#x02591;" ><!--=25% shaded block -->
<!ENTITY blk34            "&#x02593;" ><!--=75% shaded block -->
<!ENTITY block            "&#x02588;" ><!--=full block -->
<!ENTITY bull             "&#x02022;" ><!--/bullet B: =round bullet, filled -->
<!ENTITY caret            "&#x02041;" ><!--=caret (insertion mark) -->
<!ENTITY check            "&#x02713;" ><!--/checkmark =tick, check mark -->
<!ENTITY cir              "&#x025CB;" ><!--/circ B: =circle, open -->
<!ENTITY clubs            "&#x02663;" ><!--/clubsuit =club suit symbol  -->
<!ENTITY copysr           "&#x02117;" ><!--=sound recording copyright sign -->
<!ENTITY cross            "&#x02717;" ><!--=ballot cross -->
<!ENTITY Dagger           "&#x02021;" ><!--/ddagger B: =double dagger -->
<!ENTITY dagger           "&#x02020;" ><!--/dagger B: =dagger -->
<!ENTITY dash             "&#x02010;" ><!--=hyphen (true graphic) -->
<!ENTITY diams            "&#x02666;" ><!--/diamondsuit =diamond suit symbol  -->
<!ENTITY dlcrop           "&#x0230D;" ><!--downward left crop mark  -->
<!ENTITY drcrop           "&#x0230C;" ><!--downward right crop mark  -->
<!ENTITY dtri             "&#x025BF;" ><!--/triangledown =down triangle, open -->
<!ENTITY dtrif            "&#x025BE;" ><!--/blacktriangledown =dn tri, filled -->
<!ENTITY emsp             "&#x02003;" ><!--=em space -->
<!ENTITY emsp13           "&#x02004;" ><!--=1/3-em space -->
<!ENTITY emsp14           "&#x02005;" ><!--=1/4-em space -->
<!ENTITY ensp             "&#x02002;" ><!--=en space (1/2-em) -->
<!ENTITY female           "&#x02640;" ><!--=female symbol -->
<!ENTITY ffilig           "&#x0FB03;" ><!--small ffi ligature -->
<!ENTITY fflig            "&#x0FB00;" ><!--small ff ligature -->
<!ENTITY ffllig           "&#x0FB04;" ><!--small ffl ligature -->
<!ENTITY filig            "&#x0FB01;" ><!--small fi ligature -->
<!ENTITY flat             "&#x0266D;" ><!--/flat =musical flat -->
<!ENTITY fllig            "&#x0FB02;" ><!--small fl ligature -->
<!ENTITY frac13           "&#x02153;" ><!--=fraction one-third -->
<!ENTITY frac15           "&#x02155;" ><!--=fraction one-fifth -->
<!ENTITY frac16           "&#x02159;" ><!--=fraction one-sixth -->
<!ENTITY frac23           "&#x02154;" ><!--=fraction two-thirds -->
<!ENTITY frac25           "&#x02156;" ><!--=fraction two-fifths -->
<!ENTITY frac35           "&#x02157;" ><!--=fraction three-fifths -->
<!ENTITY frac45           "&#x02158;" ><!--=fraction four-fifths -->
<!ENTITY frac56           "&#x0215A;" ><!--=fraction five-sixths -->
<!ENTITY hairsp           "&#x0200A;" ><!--=hair space -->
<!ENTITY hellip           "&#x02026;" ><!--=ellipsis (horizontal) -->
<!ENTITY hybull           "&#x02043;" ><!--rectangle, filled (hyphen bullet) -->
<!ENTITY incare           "&#x02105;" ><!--=in-care-of symbol -->
<!ENTITY ldquor           "&#x0201E;" ><!--=rising dbl quote, left (low) -->
<!ENTITY lhblk            "&#x02584;" ><!--=lower half block -->
<!ENTITY loz              "&#x025CA;" ><!--/lozenge - lozenge or total mark -->
<!ENTITY lozf             "&#x029EB;" ><!--/blacklozenge - lozenge, filled -->
<!ENTITY lsquor           "&#x0201A;" ><!--=rising single quote, left (low) -->
<!ENTITY ltri             "&#x025C3;" ><!--/triangleleft B: l triangle, open -->
<!ENTITY ltrif            "&#x025C2;" ><!--/blacktriangleleft R: =l tri, filled -->
<!ENTITY male             "&#x02642;" ><!--=male symbol -->
<!ENTITY malt             "&#x02720;" ><!--/maltese =maltese cross -->
<!ENTITY marker           "&#x025AE;" ><!--=histogram marker -->
<!ENTITY mdash            "&#x02014;" ><!--=em dash  -->
<!ENTITY mldr             "&#x02026;" ><!--em leader -->
<!ENTITY natur            "&#x0266E;" ><!--/natural - music natural -->
<!ENTITY ndash            "&#x02013;" ><!--=en dash -->
<!ENTITY nldr             "&#x02025;" ><!--=double baseline dot (en leader) -->
<!ENTITY numsp            "&#x02007;" ><!--=digit space (width of a number) -->
<!ENTITY phone            "&#x0260E;" ><!--=telephone symbol  -->
<!ENTITY puncsp           "&#x02008;" ><!--=punctuation space (width of comma) -->
<!ENTITY rdquor           "&#x0201D;" ><!--rising dbl quote, right (high) -->
<!ENTITY rect             "&#x025AD;" ><!--=rectangle, open -->
<!ENTITY rsquor           "&#x02019;" ><!--rising single quote, right (high) -->
<!ENTITY rtri             "&#x025B9;" ><!--/triangleright B: r triangle, open -->
<!ENTITY rtrif            "&#x025B8;" ><!--/blacktriangleright R: =r tri, filled -->
<!ENTITY rx               "&#x0211E;" ><!--pharmaceutical prescription (Rx) -->
<!ENTITY sext             "&#x02736;" ><!--sextile (6-pointed star) -->
<!ENTITY sharp            "&#x0266F;" ><!--/sharp =musical sharp -->
<!ENTITY spades           "&#x02660;" ><!--/spadesuit =spades suit symbol  -->
<!ENTITY squ              "&#x025A1;" ><!--=square, open -->
<!ENTITY squf             "&#x025AA;" ><!--/blacksquare =sq bullet, filled -->
<!ENTITY star             "&#x022C6;" ><!--=star, open -->
<!ENTITY starf            "&#x02605;" ><!--/bigstar - star, filled  -->
<!ENTITY target           "&#x02316;" ><!--register mark or target -->
<!ENTITY telrec           "&#x02315;" ><!--=telephone recorder symbol -->
<!ENTITY thinsp           "&#x02009;" ><!--=thin space (1/6-em) -->
<!ENTITY uhblk            "&#x02580;" ><!--=upper half block -->
<!ENTITY ulcrop           "&#x0230F;" ><!--upward left crop mark  -->
<!ENTITY urcrop           "&#x0230E;" ><!--upward right crop mark  -->
<!ENTITY utri             "&#x025B5;" ><!--/triangle =up triangle, open -->
<!ENTITY utrif            "&#x025B4;" ><!--/blacktriangle =up tri, filled -->
<!ENTITY vellip           "&#x022EE;" ><!--vertical ellipsis -->


<!-- New characters defined by MathML ............................ -->

<!ENTITY % ent-mmlextra
      PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
             "mathml/mmlextra.ent" >

<!--
     File mmlextra.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

-->

<!ENTITY % plane1D  "&#38;#38;#x1D">

<!ENTITY af               "&#x02061;" ><!--character showing function application in presentation tagging -->
<!ENTITY aopf             "%plane1D;552;" ><!-- -->
<!ENTITY asympeq          "&#x0224D;" ><!--Old ISOAMSR asymp (for HTML compatibility) -->
<!ENTITY bopf             "%plane1D;553;" ><!-- -->
<!ENTITY copf             "%plane1D;554;" ><!-- -->
<!ENTITY Cross            "&#x02A2F;" ><!--cross or vector product -->
<!ENTITY DD               "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
<!ENTITY dd               "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
<!ENTITY dopf             "%plane1D;555;" ><!-- -->
<!ENTITY DownArrowBar     "&#x02913;" ><!--down arrow to bar -->
<!ENTITY DownBreve        "&#x00311;" ><!--breve, inverted (non-spacing) -->
<!ENTITY DownLeftRightVector "&#x02950;" ><!--left-down-right-down harpoon -->
<!ENTITY DownLeftTeeVector "&#x0295E;" ><!--left-down harpoon from bar -->
<!ENTITY DownLeftVectorBar "&#x02956;" ><!--left-down harpoon to bar -->
<!ENTITY DownRightTeeVector "&#x0295F;" ><!--right-down harpoon from bar -->
<!ENTITY DownRightVectorBar "&#x02957;" ><!--right-down harpoon to bar -->
<!ENTITY ee               "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
<!ENTITY EmptySmallSquare "&#x025FB;" ><!--empty small square -->
<!ENTITY EmptyVerySmallSquare "&#x025AB;" ><!--empty small square -->
<!ENTITY eopf             "%plane1D;556;" ><!-- -->
<!ENTITY Equal            "&#x02A75;" ><!--two consecutive equal signs -->
<!ENTITY FilledSmallSquare "&#x025FC;" ><!--filled small square -->
<!ENTITY FilledVerySmallSquare "&#x025AA;" ><!--filled very small square -->
<!ENTITY fopf             "%plane1D;557;" ><!-- -->
<!ENTITY gopf             "%plane1D;558;" ><!-- -->
<!ENTITY GreaterGreater   "&#x02AA2;" ><!--alias for GT -->
<!ENTITY Hat              "&#x0005E;" ><!--circumflex accent -->
<!ENTITY hopf             "%plane1D;559;" ><!-- -->
<!ENTITY HorizontalLine   "&#x02500;" ><!--short horizontal line  -->
<!ENTITY ic               "&#x02063;" ><!--short form of  &InvisibleComma; -->
<!ENTITY ii               "&#x02148;" ><!--i for use as a square root of -1 -->
<!ENTITY iopf             "%plane1D;55A;" ><!-- -->
<!ENTITY it               "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
<!ENTITY jopf             "%plane1D;55B;" ><!-- -->
<!ENTITY kopf             "%plane1D;55C;" ><!-- -->
<!ENTITY larrb            "&#x021E4;" ><!--leftwards arrow to bar -->
<!ENTITY LeftDownTeeVector "&#x02961;" ><!--down-left harpoon from bar -->
<!ENTITY LeftDownVectorBar "&#x02959;" ><!--down-left harpoon to bar -->
<!ENTITY LeftRightVector  "&#x0294E;" ><!--left-up-right-up harpoon -->
<!ENTITY LeftTeeVector    "&#x0295A;" ><!--left-up harpoon from bar -->
<!ENTITY LeftTriangleBar  "&#x029CF;" ><!--not left triangle, vertical bar -->
<!ENTITY LeftUpDownVector "&#x02951;" ><!--up-left-down-left harpoon -->
<!ENTITY LeftUpTeeVector  "&#x02960;" ><!--up-left harpoon from bar -->
<!ENTITY LeftUpVectorBar  "&#x02958;" ><!--up-left harpoon to bar -->
<!ENTITY LeftVectorBar    "&#x02952;" ><!--left-up harpoon to bar -->
<!ENTITY LessLess         "&#x02AA1;" ><!--alias for Lt -->
<!ENTITY lopf             "%plane1D;55D;" ><!-- -->
<!ENTITY mapstodown       "&#x021A7;" ><!--downwards arrow from bar -->
<!ENTITY mapstoleft       "&#x021A4;" ><!--leftwards arrow from bar -->
<!ENTITY mapstoup         "&#x021A5;" ><!--upwards arrow from bar -->
<!ENTITY MediumSpace      "&#x0205F;" ><!--space of width 4/18 em -->
<!ENTITY mopf             "%plane1D;55E;" ><!-- -->
<!ENTITY nbump            "&#x0224E;&#x00338;" ><!--not bumpy equals -->
<!ENTITY nbumpe           "&#x0224F;&#x00338;" ><!--not bumpy single equals -->
<!ENTITY nesim            "&#x02242;&#x00338;" ><!--not equal or similar -->
<!ENTITY NewLine          "&#x0000A;" ><!--force a line break; line feed -->
<!ENTITY NoBreak          "&#x02060;" ><!--never break line here -->
<!ENTITY nopf             "%plane1D;55F;" ><!-- -->
<!ENTITY NotCupCap        "&#x0226D;" ><!--alias for &nasymp; -->
<!ENTITY NotHumpEqual     "&#x0224F;&#x00338;" ><!--alias for &nbumpe; -->
<!ENTITY NotLeftTriangleBar "&#x029CF;&#x00338;" ><!--not left triangle, vertical bar -->
<!ENTITY NotNestedGreaterGreater "&#x02AA2;&#x00338;" ><!--not double greater-than sign -->
<!ENTITY NotNestedLessLess "&#x02AA1;&#x00338;" ><!--not double less-than sign -->
<!ENTITY NotRightTriangleBar "&#x029D0;&#x00338;" ><!--not vertical bar, right triangle -->
<!ENTITY NotSquareSubset  "&#x0228F;&#x00338;" ><!--square not subset -->
<!ENTITY NotSquareSuperset "&#x02290;&#x00338;" ><!--negated set-like partial order operator -->
<!ENTITY NotSucceedsTilde "&#x0227F;&#x00338;" ><!--not succeeds or similar -->
<!ENTITY oopf             "%plane1D;560;" ><!-- -->
<!ENTITY OverBar          "&#x000AF;" ><!--over bar -->
<!ENTITY OverBrace        "&#x0FE37;" ><!--over brace  -->
<!ENTITY OverBracket      "&#x023B4;" ><!--over bracket -->
<!ENTITY OverParenthesis  "&#x0FE35;" ><!--over parenthesis -->
<!ENTITY planckh          "&#x0210E;" ><!--the ring (skew field) of quaternions -->
<!ENTITY popf             "%plane1D;561;" ><!-- -->
<!ENTITY Product          "&#x0220F;" ><!--alias for &prod -->
<!ENTITY qopf             "%plane1D;562;" ><!-- -->
<!ENTITY rarrb            "&#x021E5;" ><!--leftwards arrow to bar -->
<!ENTITY RightDownTeeVector "&#x0295D;" ><!--down-right harpoon from bar -->
<!ENTITY RightDownVectorBar "&#x02955;" ><!--down-right harpoon to bar -->
<!ENTITY RightTeeVector   "&#x0295B;" ><!--right-up harpoon from bar -->
<!ENTITY RightTriangleBar "&#x029D0;" ><!--vertical bar, right triangle -->
<!ENTITY RightUpDownVector "&#x0294F;" ><!--up-right-down-right harpoon -->
<!ENTITY RightUpTeeVector "&#x0295C;" ><!--up-right harpoon from bar -->
<!ENTITY RightUpVectorBar "&#x02954;" ><!--up-right harpoon to bar -->
<!ENTITY RightVectorBar   "&#x02953;" ><!--up-right harpoon to bar -->
<!ENTITY ropf             "%plane1D;563;" ><!-- -->
<!ENTITY RoundImplies     "&#x02970;" ><!--round implies -->
<!ENTITY RuleDelayed      "&#x029F4;" ><!--rule-delayed (colon right arrow) -->
<!ENTITY sopf             "%plane1D;564;" ><!-- -->
<!ENTITY Tab              "&#x00009;" ><!--tabulator stop; horizontal tabulation -->
<!ENTITY ThickSpace       "&#x02009;&#x0200A;&#x0200A;" ><!--space of width 5/18 em -->
<!ENTITY topf             "%plane1D;565;" ><!-- -->
<!ENTITY UnderBar         "&#x00332;" ><!--combining low line -->
<!ENTITY UnderBrace       "&#x0FE38;" ><!--under brace  -->
<!ENTITY UnderBracket     "&#x023B5;" ><!--under bracket -->
<!ENTITY UnderParenthesis "&#x0FE36;" ><!--under parenthesis -->
<!ENTITY uopf             "%plane1D;566;" ><!-- -->
<!ENTITY UpArrowBar       "&#x02912;" ><!--up arrow to bar -->
<!ENTITY Upsilon          "&#x003A5;" ><!--ISOGRK1 Ugr, HTML4 Upsilon -->
<!ENTITY VerticalLine     "&#x0007C;" ><!--alias ISONUM verbar -->
<!ENTITY VerticalSeparator "&#x02758;" ><!--vertical separating operator -->
<!ENTITY vopf             "%plane1D;567;" ><!-- -->
<!ENTITY wopf             "%plane1D;568;" ><!-- -->
<!ENTITY xopf             "%plane1D;569;" ><!-- -->
<!ENTITY yopf             "%plane1D;56A;" ><!-- -->
<!ENTITY ZeroWidthSpace   "&#x0200B;" ><!--zero width space -->
<!ENTITY zopf             "%plane1D;56B;" ><!-- -->


<!-- MathML aliases for characters defined above ................. -->

<!ENTITY % ent-mmlalias
      PUBLIC "-//W3C//ENTITIES Aiases for MathML 2.0//EN"
             "mathml/mmlalias.ent" >

<!--
     File mmlalias.ent produced by the XSL script characters.xsl
     from input data in unicode.xml.

     Please report any errors to David Carlisle
     via the public W3C list www-math@w3.org.

     The numeric character values assigned to each entity
     (should) match the Unicode assignments in Unicode 3.2.

     References to the VARIANT SELECTOR 1 character (&#x0FE00;)
     should match the uses listed in Unicode Technical Report 25.

-->

<!ENTITY angle            "&#x02220;" ><!--alias ISOAMSO ang -->
<!ENTITY ApplyFunction    "&#x02061;" ><!--character showing function application in presentation tagging -->
<!ENTITY approx           "&#x02248;" ><!--alias ISOTECH ap -->
<!ENTITY approxeq         "&#x0224A;" ><!--alias ISOAMSR ape -->
<!ENTITY Assign           "&#x02254;" ><!--assignment operator, alias ISOAMSR colone -->
<!ENTITY backcong         "&#x0224C;" ><!--alias ISOAMSR bcong -->
<!ENTITY backepsilon      "&#x003F6;" ><!--alias ISOAMSR bepsi -->
<!ENTITY backprime        "&#x02035;" ><!--alias ISOAMSO bprime -->
<!ENTITY backsim          "&#x0223D;" ><!--alias ISOAMSR bsim -->
<!ENTITY backsimeq        "&#x022CD;" ><!--alias ISOAMSR bsime -->
<!ENTITY Backslash        "&#x02216;" ><!--alias ISOAMSB setmn -->
<!ENTITY barwedge         "&#x022BC;" ><!--alias ISOAMSB barwed -->
<!ENTITY Because          "&#x02235;" ><!--alias ISOTECH becaus -->
<!ENTITY because          "&#x02235;" ><!--alias ISOTECH becaus -->
<!ENTITY Bernoullis       "&#x0212C;" ><!--alias ISOTECH bernou -->
<!ENTITY between          "&#x0226C;" ><!--alias ISOAMSR twixt -->
<!ENTITY bigcap           "&#x022C2;" ><!--alias ISOAMSB xcap -->
<!ENTITY bigcirc          "&#x025EF;" ><!--alias ISOAMSB xcirc -->
<!ENTITY bigcup           "&#x022C3;" ><!--alias ISOAMSB xcup -->
<!ENTITY bigodot          "&#x02299;" ><!--alias ISOAMSB xodot -->
<!ENTITY bigoplus         "&#x02295;" ><!--alias ISOAMSB xoplus -->
<!ENTITY bigotimes        "&#x02297;" ><!--alias ISOAMSB xotime -->
<!ENTITY bigsqcup         "&#x02294;" ><!--alias ISOAMSB xsqcup -->
<!ENTITY bigstar          "&#x02605;" ><!--ISOPUB    starf  -->
<!ENTITY bigtriangledown  "&#x025BD;" ><!--alias ISOAMSB xdtri -->
<!ENTITY bigtriangleup    "&#x025B3;" ><!--alias ISOAMSB xutri -->
<!ENTITY biguplus         "&#x0228E;" ><!--alias ISOAMSB xuplus -->
<!ENTITY bigvee           "&#x022C1;" ><!--alias ISOAMSB xvee -->
<!ENTITY bigwedge         "&#x022C0;" ><!--alias ISOAMSB xwedge -->
<!ENTITY bkarow           "&#x0290D;" ><!--alias ISOAMSA rbarr -->
<!ENTITY blacklozenge     "&#x029EB;" ><!--alias ISOPUB lozf -->
<!ENTITY blacksquare      "&#x025AA;" ><!--ISOTECH  squarf  -->
<!ENTITY blacktriangle    "&#x025B4;" ><!--alias ISOPUB utrif -->
<!ENTITY blacktriangledown "&#x025BE;" ><!--alias ISOPUB dtrif -->
<!ENTITY blacktriangleleft "&#x025C2;" ><!--alias ISOPUB ltrif -->
<!ENTITY blacktriangleright "&#x025B8;" ><!--alias ISOPUB rtrif -->
<!ENTITY bot              "&#x022A5;" ><!--alias ISOTECH bottom -->
<!ENTITY boxminus         "&#x0229F;" ><!--alias ISOAMSB minusb -->
<!ENTITY boxplus          "&#x0229E;" ><!--alias ISOAMSB plusb -->
<!ENTITY boxtimes         "&#x022A0;" ><!--alias ISOAMSB timesb -->
<!ENTITY Breve            "&#x002D8;" ><!--alias ISODIA breve -->
<!ENTITY bullet           "&#x02022;" ><!--alias ISOPUB bull -->
<!ENTITY Bumpeq           "&#x0224E;" ><!--alias ISOAMSR bump -->
<!ENTITY bumpeq           "&#x0224F;" ><!--alias ISOAMSR bumpe -->
<!ENTITY CapitalDifferentialD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
<!ENTITY Cayleys          "&#x0212D;" ><!--the non-associative ring of octonions or Cayley numbers -->
<!ENTITY Cedilla          "&#x000B8;" ><!--alias ISODIA cedil -->
<!ENTITY CenterDot        "&#x000B7;" ><!--alias ISONUM middot -->
<!ENTITY centerdot        "&#x000B7;" ><!--alias ISONUM middot -->
<!ENTITY checkmark        "&#x02713;" ><!--alias ISOPUB check -->
<!ENTITY circeq           "&#x02257;" ><!--alias ISOAMSR cire -->
<!ENTITY circlearrowleft  "&#x021BA;" ><!--alias ISOAMSA olarr -->
<!ENTITY circlearrowright "&#x021BB;" ><!--alias ISOAMSA orarr -->
<!ENTITY circledast       "&#x0229B;" ><!--alias ISOAMSB oast -->
<!ENTITY circledcirc      "&#x0229A;" ><!--alias ISOAMSB ocir -->
<!ENTITY circleddash      "&#x0229D;" ><!--alias ISOAMSB odash -->
<!ENTITY CircleDot        "&#x02299;" ><!--alias ISOAMSB odot -->
<!ENTITY circledR         "&#x000AE;" ><!--alias ISONUM reg -->
<!ENTITY circledS         "&#x024C8;" ><!--alias ISOAMSO oS -->
<!ENTITY CircleMinus      "&#x02296;" ><!--alias ISOAMSB ominus -->
<!ENTITY CirclePlus       "&#x02295;" ><!--alias ISOAMSB oplus -->
<!ENTITY CircleTimes      "&#x02297;" ><!--alias ISOAMSB otimes -->
<!ENTITY ClockwiseContourIntegral "&#x02232;" ><!--alias ISOTECH cwconint -->
<!ENTITY CloseCurlyDoubleQuote "&#x0201D;" ><!--alias ISONUM rdquo -->
<!ENTITY CloseCurlyQuote  "&#x02019;" ><!--alias ISONUM rsquo -->
<!ENTITY clubsuit         "&#x02663;" ><!--ISOPUB    clubs  -->
<!ENTITY coloneq          "&#x02254;" ><!--alias ISOAMSR colone -->
<!ENTITY complement       "&#x02201;" ><!--alias ISOAMSO comp -->
<!ENTITY complexes        "&#x02102;" ><!--the field of complex numbers -->
<!ENTITY Congruent        "&#x02261;" ><!--alias ISOTECH equiv -->
<!ENTITY ContourIntegral  "&#x0222E;" ><!--alias ISOTECH conint -->
<!ENTITY Coproduct        "&#x02210;" ><!--alias ISOAMSB coprod -->
<!ENTITY CounterClockwiseContourIntegral "&#x02233;" ><!--alias ISOTECH awconint -->
<!ENTITY CupCap           "&#x0224D;" ><!--alias asympeq -->
<!ENTITY curlyeqprec      "&#x022DE;" ><!--alias ISOAMSR cuepr -->
<!ENTITY curlyeqsucc      "&#x022DF;" ><!--alias ISOAMSR cuesc -->
<!ENTITY curlyvee         "&#x022CE;" ><!--alias ISOAMSB cuvee -->
<!ENTITY curlywedge       "&#x022CF;" ><!--alias ISOAMSB cuwed -->
<!ENTITY curvearrowleft   "&#x021B6;" ><!--alias ISOAMSA cularr -->
<!ENTITY curvearrowright  "&#x021B7;" ><!--alias ISOAMSA curarr -->
<!ENTITY dbkarow          "&#x0290F;" ><!--alias ISOAMSA rBarr -->
<!ENTITY ddagger          "&#x02021;" ><!--alias ISOPUB Dagger -->
<!ENTITY ddotseq          "&#x02A77;" ><!--alias ISOAMSR eDDot -->
<!ENTITY Del              "&#x02207;" ><!--alias ISOTECH nabla -->
<!ENTITY DiacriticalAcute "&#x000B4;" ><!--alias ISODIA acute -->
<!ENTITY DiacriticalDot   "&#x002D9;" ><!--alias ISODIA dot -->
<!ENTITY DiacriticalDoubleAcute "&#x002DD;" ><!--alias ISODIA dblac -->
<!ENTITY DiacriticalGrave "&#x00060;" ><!--alias ISODIA grave -->
<!ENTITY DiacriticalTilde "&#x002DC;" ><!--alias ISODIA tilde -->
<!ENTITY Diamond          "&#x022C4;" ><!--alias ISOAMSB diam -->
<!ENTITY diamond          "&#x022C4;" ><!--alias ISOAMSB diam -->
<!ENTITY diamondsuit      "&#x02666;" ><!--ISOPUB    diams  -->
<!ENTITY DifferentialD    "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
<!ENTITY digamma          "&#x003DC;" ><!--alias ISOGRK3 gammad -->
<!ENTITY div              "&#x000F7;" ><!--alias ISONUM divide -->
<!ENTITY divideontimes    "&#x022C7;" ><!--alias ISOAMSB divonx -->
<!ENTITY doteq            "&#x02250;" ><!--alias ISOAMSR esdot -->
<!ENTITY doteqdot         "&#x02251;" ><!--alias ISOAMSR eDot -->
<!ENTITY DotEqual         "&#x02250;" ><!--alias ISOAMSR esdot -->
<!ENTITY dotminus         "&#x02238;" ><!--alias ISOAMSB minusd -->
<!ENTITY dotplus          "&#x02214;" ><!--alias ISOAMSB plusdo -->
<!ENTITY dotsquare        "&#x022A1;" ><!--alias ISOAMSB sdotb -->
<!ENTITY doublebarwedge   "&#x02306;" ><!--alias ISOAMSB Barwed -->
<!ENTITY DoubleContourIntegral "&#x0222F;" ><!--alias ISOTECH Conint -->
<!ENTITY DoubleDot        "&#x000A8;" ><!--alias ISODIA die -->
<!ENTITY DoubleDownArrow  "&#x021D3;" ><!--alias ISOAMSA dArr -->
<!ENTITY DoubleLeftArrow  "&#x021D0;" ><!--alias ISOTECH lArr -->
<!ENTITY DoubleLeftRightArrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
<!ENTITY DoubleLeftTee    "&#x02AE4;" ><!--alias for  &Dashv;  -->
<!ENTITY DoubleLongLeftArrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
<!ENTITY DoubleLongLeftRightArrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
<!ENTITY DoubleLongRightArrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
<!ENTITY DoubleRightArrow "&#x021D2;" ><!--alias ISOTECH rArr -->
<!ENTITY DoubleRightTee   "&#x022A8;" ><!--alias ISOAMSR vDash -->
<!ENTITY DoubleUpArrow    "&#x021D1;" ><!--alias ISOAMSA uArr -->
<!ENTITY DoubleUpDownArrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
<!ENTITY DoubleVerticalBar "&#x02225;" ><!--alias ISOTECH par -->
<!ENTITY DownArrow        "&#x02193;" ><!--alias ISONUM darr -->
<!ENTITY Downarrow        "&#x021D3;" ><!--alias ISOAMSA dArr -->
<!ENTITY downarrow        "&#x02193;" ><!--alias ISONUM darr -->
<!ENTITY DownArrowUpArrow "&#x021F5;" ><!--alias ISOAMSA duarr -->
<!ENTITY downdownarrows   "&#x021CA;" ><!--alias ISOAMSA ddarr -->
<!ENTITY downharpoonleft  "&#x021C3;" ><!--alias ISOAMSA dharl -->
<!ENTITY downharpoonright "&#x021C2;" ><!--alias ISOAMSA dharr -->
<!ENTITY DownLeftVector   "&#x021BD;" ><!--alias ISOAMSA lhard -->
<!ENTITY DownRightVector  "&#x021C1;" ><!--alias ISOAMSA rhard -->
<!ENTITY DownTee          "&#x022A4;" ><!--alias ISOTECH top -->
<!ENTITY DownTeeArrow     "&#x021A7;" ><!--alias for mapstodown -->
<!ENTITY drbkarow         "&#x02910;" ><!--alias ISOAMSA RBarr -->
<!ENTITY Element          "&#x02208;" ><!--alias ISOTECH isinv -->
<!ENTITY emptyset         "&#x02205;" ><!--alias ISOAMSO empty -->
<!ENTITY eqcirc           "&#x02256;" ><!--alias ISOAMSR ecir -->
<!ENTITY eqcolon          "&#x02255;" ><!--alias ISOAMSR ecolon -->
<!ENTITY eqsim            "&#x02242;" ><!--alias ISOAMSR esim -->
<!ENTITY eqslantgtr       "&#x022DD;" ><!--alias ISOAMSR egs -->
<!ENTITY eqslantless      "&#x022DC;" ><!--alias ISOAMSR els -->
<!ENTITY EqualTilde       "&#x02242;" ><!--alias ISOAMSR esim -->
<!ENTITY Equilibrium      "&#x021CC;" ><!--alias ISOAMSA rlhar -->
<!ENTITY Exists           "&#x02203;" ><!--alias ISOTECH exist -->
<!ENTITY expectation      "&#x02130;" ><!--expectation (operator) -->
<!ENTITY ExponentialE     "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
<!ENTITY exponentiale     "&#x02147;" ><!--base of the Napierian logarithms -->
<!ENTITY fallingdotseq    "&#x02252;" ><!--alias ISOAMSR efDot -->
<!ENTITY ForAll           "&#x02200;" ><!--alias ISOTECH forall -->
<!ENTITY Fouriertrf       "&#x02131;" ><!--Fourier transform -->
<!ENTITY geq              "&#x02265;" ><!--alias ISOTECH ge -->
<!ENTITY geqq             "&#x02267;" ><!--alias ISOAMSR gE -->
<!ENTITY geqslant         "&#x02A7E;" ><!--alias ISOAMSR ges -->
<!ENTITY gg               "&#x0226B;" ><!--alias ISOAMSR Gt -->
<!ENTITY ggg              "&#x022D9;" ><!--alias ISOAMSR Gg -->
<!ENTITY gnapprox         "&#x02A8A;" ><!--alias ISOAMSN gnap -->
<!ENTITY gneq             "&#x02269;" ><!--alias ISOAMSN gne -->
<!ENTITY gneqq            "&#x02269;" ><!--alias ISOAMSN gnE -->
<!ENTITY GreaterEqual     "&#x02265;" ><!--alias ISOTECH ge -->
<!ENTITY GreaterEqualLess "&#x022DB;" ><!--alias ISOAMSR gel -->
<!ENTITY GreaterFullEqual "&#x02267;" ><!--alias ISOAMSR gE -->
<!ENTITY GreaterLess      "&#x02277;" ><!--alias ISOAMSR gl -->
<!ENTITY GreaterSlantEqual "&#x02A7E;" ><!--alias ISOAMSR ges -->
<!ENTITY GreaterTilde     "&#x02273;" ><!--alias ISOAMSR gsim -->
<!ENTITY gtrapprox        "&#x02273;" ><!--alias ISOAMSR gap -->
<!ENTITY gtrdot           "&#x022D7;" ><!--alias ISOAMSR gtdot -->
<!ENTITY gtreqless        "&#x022DB;" ><!--alias ISOAMSR gel -->
<!ENTITY gtreqqless       "&#x022DB;" ><!--alias ISOAMSR gEl -->
<!ENTITY gtrless          "&#x02277;" ><!--alias ISOAMSR gl -->
<!ENTITY gtrsim           "&#x02273;" ><!--alias ISOAMSR gsim -->
<!ENTITY gvertneqq        "&#x02269;&#x0FE00;" ><!--alias ISOAMSN gvnE -->
<!ENTITY Hacek            "&#x002C7;" ><!--alias ISODIA caron -->
<!ENTITY hbar             "&#x0210F;" ><!--alias ISOAMSO plank -->
<!ENTITY heartsuit        "&#x02661;" ><!--ISOPUB    hearts  -->
<!ENTITY HilbertSpace     "&#x0210B;" ><!--Hilbert space -->
<!ENTITY hksearow         "&#x02925;" ><!--alias ISOAMSA searhk -->
<!ENTITY hkswarow         "&#x02926;" ><!--alias ISOAMSA swarhk -->
<!ENTITY hookleftarrow    "&#x021A9;" ><!--alias ISOAMSA larrhk -->
<!ENTITY hookrightarrow   "&#x021AA;" ><!--alias ISOAMSA rarrhk -->
<!ENTITY hslash           "&#x0210F;" ><!--alias ISOAMSO plankv -->
<!ENTITY HumpDownHump     "&#x0224E;" ><!--alias ISOAMSR bump -->
<!ENTITY HumpEqual        "&#x0224F;" ><!--alias ISOAMSR bumpe -->
<!ENTITY iiiint           "&#x02A0C;" ><!--alias ISOTECH qint -->
<!ENTITY iiint            "&#x0222D;" ><!--alias ISOTECH tint -->
<!ENTITY Im               "&#x02111;" ><!--alias ISOAMSO image -->
<!ENTITY ImaginaryI       "&#x02148;" ><!--i for use as a square root of -1 -->
<!ENTITY imagline         "&#x02110;" ><!--the geometric imaginary line -->
<!ENTITY imagpart         "&#x02111;" ><!--alias ISOAMSO image -->
<!ENTITY Implies          "&#x021D2;" ><!--alias ISOTECH rArr -->
<!ENTITY in               "&#x02208;" ><!--ISOTECH   isin  -->
<!ENTITY integers         "&#x02124;" ><!--the ring of integers -->
<!ENTITY Integral         "&#x0222B;" ><!--alias ISOTECH int -->
<!ENTITY intercal         "&#x022BA;" ><!--alias ISOAMSB intcal -->
<!ENTITY Intersection     "&#x022C2;" ><!--alias ISOAMSB xcap -->
<!ENTITY intprod          "&#x02A3C;" ><!--alias ISOAMSB iprod -->
<!ENTITY InvisibleComma   "&#x02063;" ><!--used as a separator, e.g., in indices -->
<!ENTITY InvisibleTimes   "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
<!ENTITY langle           "&#x02329;" ><!--alias ISOTECH lang -->
<!ENTITY Laplacetrf       "&#x02112;" ><!--Laplace transform -->
<!ENTITY lbrace           "&#x0007B;" ><!--alias ISONUM lcub -->
<!ENTITY lbrack           "&#x0005B;" ><!--alias ISONUM lsqb -->
<!ENTITY LeftAngleBracket "&#x02329;" ><!--alias ISOTECH lang -->
<!ENTITY LeftArrow        "&#x02190;" ><!--alias ISONUM larr -->
<!ENTITY Leftarrow        "&#x021D0;" ><!--alias ISOTECH lArr -->
<!ENTITY leftarrow        "&#x02190;" ><!--alias ISONUM larr -->
<!ENTITY LeftArrowBar     "&#x021E4;" ><!--alias for larrb -->
<!ENTITY LeftArrowRightArrow "&#x021C6;" ><!--alias ISOAMSA lrarr -->
<!ENTITY leftarrowtail    "&#x021A2;" ><!--alias ISOAMSA larrtl -->
<!ENTITY LeftCeiling      "&#x02308;" ><!--alias ISOAMSC lceil -->
<!ENTITY LeftDoubleBracket "&#x0301A;" ><!--left double bracket delimiter -->
<!ENTITY LeftDownVector   "&#x021C3;" ><!--alias ISOAMSA dharl -->
<!ENTITY LeftFloor        "&#x0230A;" ><!--alias ISOAMSC lfloor -->
<!ENTITY leftharpoondown  "&#x021BD;" ><!--alias ISOAMSA lhard -->
<!ENTITY leftharpoonup    "&#x021BC;" ><!--alias ISOAMSA lharu -->
<!ENTITY leftleftarrows   "&#x021C7;" ><!--alias ISOAMSA llarr -->
<!ENTITY LeftRightArrow   "&#x02194;" ><!--alias ISOAMSA harr -->
<!ENTITY Leftrightarrow   "&#x021D4;" ><!--alias ISOAMSA hArr -->
<!ENTITY leftrightarrow   "&#x02194;" ><!--alias ISOAMSA harr -->
<!ENTITY leftrightarrows  "&#x021C6;" ><!--alias ISOAMSA lrarr -->
<!ENTITY leftrightharpoons "&#x021CB;" ><!--alias ISOAMSA lrhar -->
<!ENTITY leftrightsquigarrow "&#x021AD;" ><!--alias ISOAMSA harrw -->
<!ENTITY LeftTee          "&#x022A3;" ><!--alias ISOAMSR dashv -->
<!ENTITY LeftTeeArrow     "&#x021A4;" ><!--alias for mapstoleft -->
<!ENTITY leftthreetimes   "&#x022CB;" ><!--alias ISOAMSB lthree -->
<!ENTITY LeftTriangle     "&#x022B2;" ><!--alias ISOAMSR vltri -->
<!ENTITY LeftTriangleEqual "&#x022B4;" ><!--alias ISOAMSR ltrie -->
<!ENTITY LeftUpVector     "&#x021BF;" ><!--alias ISOAMSA uharl -->
<!ENTITY LeftVector       "&#x021BC;" ><!--alias ISOAMSA lharu -->
<!ENTITY leq              "&#x02264;" ><!--alias ISOTECH le -->
<!ENTITY leqq             "&#x02266;" ><!--alias ISOAMSR lE -->
<!ENTITY leqslant         "&#x02A7D;" ><!--alias ISOAMSR les -->
<!ENTITY lessapprox       "&#x02272;" ><!--alias ISOAMSR lap -->
<!ENTITY lessdot          "&#x022D6;" ><!--alias ISOAMSR ltdot -->
<!ENTITY lesseqgtr        "&#x022DA;" ><!--alias ISOAMSR leg -->
<!ENTITY lesseqqgtr       "&#x022DA;" ><!--alias ISOAMSR lEg -->
<!ENTITY LessEqualGreater "&#x022DA;" ><!--alias ISOAMSR leg -->
<!ENTITY LessFullEqual    "&#x02266;" ><!--alias ISOAMSR lE -->
<!ENTITY LessGreater      "&#x02276;" ><!--alias ISOAMSR lg -->
<!ENTITY lessgtr          "&#x02276;" ><!--alias ISOAMSR lg -->
<!ENTITY lesssim          "&#x02272;" ><!--alias ISOAMSR lsim -->
<!ENTITY LessSlantEqual   "&#x02A7D;" ><!--alias ISOAMSR les -->
<!ENTITY LessTilde        "&#x02272;" ><!--alias ISOAMSR lsim -->
<!ENTITY ll               "&#x0226A;" ><!--alias ISOAMSR Lt -->
<!ENTITY llcorner         "&#x0231E;" ><!--alias ISOAMSC dlcorn -->
<!ENTITY Lleftarrow       "&#x021DA;" ><!--alias ISOAMSA lAarr -->
<!ENTITY lmoustache       "&#x023B0;" ><!--alias ISOAMSC lmoust -->
<!ENTITY lnapprox         "&#x02A89;" ><!--alias ISOAMSN lnap -->
<!ENTITY lneq             "&#x02268;" ><!--alias ISOAMSN lne -->
<!ENTITY lneqq            "&#x02268;" ><!--alias ISOAMSN lnE -->
<!ENTITY LongLeftArrow    "&#x027F5;" ><!--alias ISOAMSA xlarr -->
<!ENTITY Longleftarrow    "&#x027F8;" ><!--alias ISOAMSA xlArr -->
<!ENTITY longleftarrow    "&#x027F5;" ><!--alias ISOAMSA xlarr -->
<!ENTITY LongLeftRightArrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
<!ENTITY Longleftrightarrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
<!ENTITY longleftrightarrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
<!ENTITY longmapsto       "&#x027FC;" ><!--alias ISOAMSA xmap -->
<!ENTITY LongRightArrow   "&#x027F6;" ><!--alias ISOAMSA xrarr -->
<!ENTITY Longrightarrow   "&#x027F9;" ><!--alias ISOAMSA xrArr -->
<!ENTITY longrightarrow   "&#x027F6;" ><!--alias ISOAMSA xrarr -->
<!ENTITY looparrowleft    "&#x021AB;" ><!--alias ISOAMSA larrlp -->
<!ENTITY looparrowright   "&#x021AC;" ><!--alias ISOAMSA rarrlp -->
<!ENTITY LowerLeftArrow   "&#x02199;" ><!--alias ISOAMSA swarr -->
<!ENTITY LowerRightArrow  "&#x02198;" ><!--alias ISOAMSA searr -->
<!ENTITY lozenge          "&#x025CA;" ><!--alias ISOPUB loz -->
<!ENTITY lrcorner         "&#x0231F;" ><!--alias ISOAMSC drcorn -->
<!ENTITY Lsh              "&#x021B0;" ><!--alias ISOAMSA lsh -->
<!ENTITY lvertneqq        "&#x02268;&#x0FE00;" ><!--alias ISOAMSN lvnE -->
<!ENTITY maltese          "&#x02720;" ><!--alias ISOPUB malt -->
<!ENTITY mapsto           "&#x021A6;" ><!--alias ISOAMSA map -->
<!ENTITY measuredangle    "&#x02221;" ><!--alias ISOAMSO angmsd -->
<!ENTITY Mellintrf        "&#x02133;" ><!--Mellin transform -->
<!ENTITY MinusPlus        "&#x02213;" ><!--alias ISOTECH mnplus -->
<!ENTITY mp               "&#x02213;" ><!--alias ISOTECH mnplus -->
<!ENTITY multimap         "&#x022B8;" ><!--alias ISOAMSA mumap -->
<!ENTITY napprox          "&#x02249;" ><!--alias ISOAMSN nap -->
<!ENTITY natural          "&#x0266E;" ><!--alias ISOPUB natur -->
<!ENTITY naturals         "&#x02115;" ><!--the semi-ring of natural numbers -->
<!ENTITY nearrow          "&#x02197;" ><!--alias ISOAMSA nearr -->
<!ENTITY NegativeMediumSpace "&#x0200B;" ><!--space of width -4/18 em -->
<!ENTITY NegativeThickSpace "&#x0200B;" ><!--space of width -5/18 em -->
<!ENTITY NegativeThinSpace "&#x0200B;" ><!--space of width -3/18 em -->
<!ENTITY NegativeVeryThinSpace "&#x0200B;" ><!--space of width -1/18 em -->
<!ENTITY NestedGreaterGreater "&#x0226B;" ><!--alias ISOAMSR Gt -->
<!ENTITY NestedLessLess   "&#x0226A;" ><!--alias ISOAMSR Lt -->
<!ENTITY nexists          "&#x02204;" ><!--alias ISOAMSO nexist -->
<!ENTITY ngeq             "&#x02271;" ><!--alias ISOAMSN nge -->
<!ENTITY ngeqq            "&#x02A7E;&#x00338;" ><!--alias ISOAMSN ngE -->
<!ENTITY ngeqslant        "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
<!ENTITY ngtr             "&#x0226F;" ><!--alias ISOAMSN ngt -->
<!ENTITY nLeftarrow       "&#x021CD;" ><!--alias ISOAMSA nlArr -->
<!ENTITY nleftarrow       "&#x0219A;" ><!--alias ISOAMSA nlarr -->
<!ENTITY nLeftrightarrow  "&#x021CE;" ><!--alias ISOAMSA nhArr -->
<!ENTITY nleftrightarrow  "&#x021AE;" ><!--alias ISOAMSA nharr -->
<!ENTITY nleq             "&#x02270;" ><!--alias ISOAMSN nle -->
<!ENTITY nleqq            "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
<!ENTITY nleqslant        "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
<!ENTITY nless            "&#x0226E;" ><!--alias ISOAMSN nlt -->
<!ENTITY NonBreakingSpace "&#x000A0;" ><!--alias ISONUM nbsp -->
<!ENTITY NotCongruent     "&#x02262;" ><!--alias ISOAMSN nequiv -->
<!ENTITY NotDoubleVerticalBar "&#x02226;" ><!--alias ISOAMSN npar -->
<!ENTITY NotElement       "&#x02209;" ><!--alias ISOTECH notin -->
<!ENTITY NotEqual         "&#x02260;" ><!--alias ISOTECH ne -->
<!ENTITY NotEqualTilde    "&#x02242;&#x00338;" ><!--alias for  &nesim; -->
<!ENTITY NotExists        "&#x02204;" ><!--alias ISOAMSO nexist -->
<!ENTITY NotGreater       "&#x0226F;" ><!--alias ISOAMSN ngt -->
<!ENTITY NotGreaterEqual  "&#x02271;" ><!--alias ISOAMSN nge -->
<!ENTITY NotGreaterFullEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
<!ENTITY NotGreaterGreater "&#x0226B;&#x00338;" ><!--alias ISOAMSN nGtv -->
<!ENTITY NotGreaterLess   "&#x02279;" ><!--alias ISOAMSN ntvgl -->
<!ENTITY NotGreaterSlantEqual "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
<!ENTITY NotGreaterTilde  "&#x02275;" ><!--alias ISOAMSN ngsim -->
<!ENTITY NotHumpDownHump  "&#x0224E;&#x00338;" ><!--alias for &nbump; -->
<!ENTITY NotLeftTriangle  "&#x022EA;" ><!--alias ISOAMSN nltri -->
<!ENTITY NotLeftTriangleEqual "&#x022EC;" ><!--alias ISOAMSN nltrie -->
<!ENTITY NotLess          "&#x0226E;" ><!--alias ISOAMSN nlt -->
<!ENTITY NotLessEqual     "&#x02270;" ><!--alias ISOAMSN nle -->
<!ENTITY NotLessGreater   "&#x02278;" ><!--alias ISOAMSN ntvlg -->
<!ENTITY NotLessLess      "&#x0226A;&#x00338;" ><!--alias ISOAMSN nLtv -->
<!ENTITY NotLessSlantEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
<!ENTITY NotLessTilde     "&#x02274;" ><!--alias ISOAMSN nlsim -->
<!ENTITY NotPrecedes      "&#x02280;" ><!--alias ISOAMSN npr -->
<!ENTITY NotPrecedesEqual "&#x02AAF;&#x00338;" ><!--alias ISOAMSN npre -->
<!ENTITY NotPrecedesSlantEqual "&#x022E0;" ><!--alias ISOAMSN nprcue -->
<!ENTITY NotReverseElement "&#x0220C;" ><!--alias ISOTECH notniva -->
<!ENTITY NotRightTriangle "&#x022EB;" ><!--alias ISOAMSN nrtri -->
<!ENTITY NotRightTriangleEqual "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
<!ENTITY NotSquareSubsetEqual "&#x022E2;" ><!--alias ISOAMSN nsqsube -->
<!ENTITY NotSquareSupersetEqual "&#x022E3;" ><!--alias ISOAMSN nsqsupe -->
<!ENTITY NotSubset        "&#x02284;" ><!--alias ISOAMSN vnsub -->
<!ENTITY NotSubsetEqual   "&#x02288;" ><!--alias ISOAMSN nsube -->
<!ENTITY NotSucceeds      "&#x02281;" ><!--alias ISOAMSN nsc -->
<!ENTITY NotSucceedsEqual "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
<!ENTITY NotSucceedsSlantEqual "&#x022E1;" ><!--alias ISOAMSN nsccue -->
<!ENTITY NotSuperset      "&#x02285;" ><!--alias ISOAMSN vnsup -->
<!ENTITY NotSupersetEqual "&#x02289;" ><!--alias ISOAMSN nsupe -->
<!ENTITY NotTilde         "&#x02241;" ><!--alias ISOAMSN nsim -->
<!ENTITY NotTildeEqual    "&#x02244;" ><!--alias ISOAMSN nsime -->
<!ENTITY NotTildeFullEqual "&#x02247;" ><!--alias ISOAMSN ncong -->
<!ENTITY NotTildeTilde    "&#x02249;" ><!--alias ISOAMSN nap -->
<!ENTITY NotVerticalBar   "&#x02224;" ><!--alias ISOAMSN nmid -->
<!ENTITY nparallel        "&#x02226;" ><!--alias ISOAMSN npar -->
<!ENTITY nprec            "&#x02280;" ><!--alias ISOAMSN npr -->
<!ENTITY npreceq          "&#x02AAF;&#x00338;" ><!--alias ISOAMSN npre -->
<!ENTITY nRightarrow      "&#x021CF;" ><!--alias ISOAMSA nrArr -->
<!ENTITY nrightarrow      "&#x0219B;" ><!--alias ISOAMSA nrarr -->
<!ENTITY nshortmid        "&#x02224;" ><!--alias ISOAMSN nsmid -->
<!ENTITY nshortparallel   "&#x02226;" ><!--alias ISOAMSN nspar -->
<!ENTITY nsimeq           "&#x02244;" ><!--alias ISOAMSN nsime -->
<!ENTITY nsubset          "&#x02284;" ><!--alias ISOAMSN vnsub -->
<!ENTITY nsubseteq        "&#x02288;" ><!--alias ISOAMSN nsube -->
<!ENTITY nsubseteqq       "&#x02288;" ><!--alias ISOAMSN nsubE -->
<!ENTITY nsucc            "&#x02281;" ><!--alias ISOAMSN nsc -->
<!ENTITY nsucceq          "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
<!ENTITY nsupset          "&#x02285;" ><!--alias ISOAMSN vnsup -->
<!ENTITY nsupseteq        "&#x02289;" ><!--alias ISOAMSN nsupe -->
<!ENTITY nsupseteqq       "&#x02289;" ><!--alias ISOAMSN nsupE -->
<!ENTITY ntriangleleft    "&#x022EA;" ><!--alias ISOAMSN nltri -->
<!ENTITY ntrianglelefteq  "&#x022EC;" ><!--alias ISOAMSN nltrie -->
<!ENTITY ntriangleright   "&#x022EB;" ><!--alias ISOAMSN nrtri -->
<!ENTITY ntrianglerighteq "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
<!ENTITY nwarrow          "&#x02196;" ><!--alias ISOAMSA nwarr -->
<!ENTITY oint             "&#x0222E;" ><!--alias ISOTECH conint -->
<!ENTITY OpenCurlyDoubleQuote "&#x0201C;" ><!--alias ISONUM ldquo -->
<!ENTITY OpenCurlyQuote   "&#x02018;" ><!--alias ISONUM lsquo -->
<!ENTITY orderof          "&#x02134;" ><!--alias ISOTECH order -->
<!ENTITY parallel         "&#x02225;" ><!--alias ISOTECH par -->
<!ENTITY PartialD         "&#x02202;" ><!--alias ISOTECH part -->
<!ENTITY pitchfork        "&#x022D4;" ><!--alias ISOAMSR fork -->
<!ENTITY PlusMinus        "&#x000B1;" ><!--alias ISONUM plusmn -->
<!ENTITY pm               "&#x000B1;" ><!--alias ISONUM plusmn -->
<!ENTITY Poincareplane    "&#x0210C;" ><!--the Poincare upper half-plane -->
<!ENTITY prec             "&#x0227A;" ><!--alias ISOAMSR pr -->
<!ENTITY precapprox       "&#x0227E;" ><!--alias ISOAMSR prap -->
<!ENTITY preccurlyeq      "&#x0227C;" ><!--alias ISOAMSR prcue -->
<!ENTITY Precedes         "&#x0227A;" ><!--alias ISOAMSR pr -->
<!ENTITY PrecedesEqual    "&#x02AAF;" ><!--alias ISOAMSR pre -->
<!ENTITY PrecedesSlantEqual "&#x0227C;" ><!--alias ISOAMSR prcue -->
<!ENTITY PrecedesTilde    "&#x0227E;" ><!--alias ISOAMSR prsim -->
<!ENTITY preceq           "&#x02AAF;" ><!--alias ISOAMSR pre -->
<!ENTITY precnapprox      "&#x022E8;" ><!--alias ISOAMSN prnap -->
<!ENTITY precneqq         "&#x02AB5;" ><!--alias ISOAMSN prnE -->
<!ENTITY precnsim         "&#x022E8;" ><!--alias ISOAMSN prnsim -->
<!ENTITY precsim          "&#x0227E;" ><!--alias ISOAMSR prsim -->
<!ENTITY primes           "&#x02119;" ><!--the prime natural numbers -->
<!ENTITY Proportion       "&#x02237;" ><!--alias ISOAMSR Colon -->
<!ENTITY Proportional     "&#x0221D;" ><!--alias ISOTECH prop -->
<!ENTITY propto           "&#x0221D;" ><!--alias ISOTECH prop -->
<!ENTITY quaternions      "&#x0210D;" ><!--the ring (skew field) of quaternions -->
<!ENTITY questeq          "&#x0225F;" ><!--alias ISOAMSR equest -->
<!ENTITY rangle           "&#x0232A;" ><!--alias ISOTECH rang -->
<!ENTITY rationals        "&#x0211A;" ><!--the field of rational numbers -->
<!ENTITY rbrace           "&#x0007D;" ><!--alias ISONUM rcub -->
<!ENTITY rbrack           "&#x0005D;" ><!--alias ISONUM rsqb -->
<!ENTITY Re               "&#x0211C;" ><!--alias ISOAMSO real -->
<!ENTITY realine          "&#x0211B;" ><!--the geometric real line -->
<!ENTITY realpart         "&#x0211C;" ><!--alias ISOAMSO real -->
<!ENTITY reals            "&#x0211D;" ><!--the field of real numbers -->
<!ENTITY ReverseElement   "&#x0220B;" ><!--alias ISOTECH niv -->
<!ENTITY ReverseEquilibrium "&#x021CB;" ><!--alias ISOAMSA lrhar -->
<!ENTITY ReverseUpEquilibrium "&#x0296F;" ><!--alias ISOAMSA duhar -->
<!ENTITY RightAngleBracket "&#x0232A;" ><!--alias ISOTECH rang -->
<!ENTITY RightArrow       "&#x02192;" ><!--alias ISONUM rarr -->
<!ENTITY Rightarrow       "&#x021D2;" ><!--alias ISOTECH rArr -->
<!ENTITY rightarrow       "&#x02192;" ><!--alias ISONUM rarr -->
<!ENTITY RightArrowBar    "&#x021E5;" ><!--alias for rarrb -->
<!ENTITY RightArrowLeftArrow "&#x021C4;" ><!--alias ISOAMSA rlarr -->
<!ENTITY rightarrowtail   "&#x021A3;" ><!--alias ISOAMSA rarrtl -->
<!ENTITY RightCeiling     "&#x02309;" ><!--alias ISOAMSC rceil -->
<!ENTITY RightDoubleBracket "&#x0301B;" ><!--right double bracket delimiter -->
<!ENTITY RightDownVector  "&#x021C2;" ><!--alias ISOAMSA dharr -->
<!ENTITY RightFloor       "&#x0230B;" ><!--alias ISOAMSC rfloor -->
<!ENTITY rightharpoondown "&#x021C1;" ><!--alias ISOAMSA rhard -->
<!ENTITY rightharpoonup   "&#x021C0;" ><!--alias ISOAMSA rharu -->
<!ENTITY rightleftarrows  "&#x021C4;" ><!--alias ISOAMSA rlarr -->
<!ENTITY rightleftharpoons "&#x021CC;" ><!--alias ISOAMSA rlhar -->
<!ENTITY rightrightarrows "&#x021C9;" ><!--alias ISOAMSA rrarr -->
<!ENTITY rightsquigarrow  "&#x0219D;" ><!--alias ISOAMSA rarrw -->
<!ENTITY RightTee         "&#x022A2;" ><!--alias ISOAMSR vdash -->
<!ENTITY RightTeeArrow    "&#x021A6;" ><!--alias ISOAMSA map -->
<!ENTITY rightthreetimes  "&#x022CC;" ><!--alias ISOAMSB rthree -->
<!ENTITY RightTriangle    "&#x022B3;" ><!--alias ISOAMSR vrtri -->
<!ENTITY RightTriangleEqual "&#x022B5;" ><!--alias ISOAMSR rtrie -->
<!ENTITY RightUpVector    "&#x021BE;" ><!--alias ISOAMSA uharr -->
<!ENTITY RightVector      "&#x021C0;" ><!--alias ISOAMSA rharu -->
<!ENTITY risingdotseq     "&#x02253;" ><!--alias ISOAMSR erDot -->
<!ENTITY rmoustache       "&#x023B1;" ><!--alias ISOAMSC rmoust -->
<!ENTITY Rrightarrow      "&#x021DB;" ><!--alias ISOAMSA rAarr -->
<!ENTITY Rsh              "&#x021B1;" ><!--alias ISOAMSA rsh -->
<!ENTITY searrow          "&#x02198;" ><!--alias ISOAMSA searr -->
<!ENTITY setminus         "&#x02216;" ><!--alias ISOAMSB setmn -->
<!ENTITY ShortDownArrow   "&#x02193;" ><!--short down arrow -->
<!ENTITY ShortLeftArrow   "&#x02190;" ><!--alias ISOAMSA slarr -->
<!ENTITY shortmid         "&#x02223;" ><!--alias ISOAMSR smid -->
<!ENTITY shortparallel    "&#x02225;" ><!--alias ISOAMSR spar -->
<!ENTITY ShortRightArrow  "&#x02192;" ><!--alias ISOAMSA srarr -->
<!ENTITY ShortUpArrow     "&#x02191;" ><!--short up arrow  -->
<!ENTITY simeq            "&#x02243;" ><!--alias ISOTECH sime -->
<!ENTITY SmallCircle      "&#x02218;" ><!--alias ISOTECH compfn -->
<!ENTITY smallsetminus    "&#x02216;" ><!--alias ISOAMSB ssetmn -->
<!ENTITY spadesuit        "&#x02660;" ><!--ISOPUB    spades  -->
<!ENTITY Sqrt             "&#x0221A;" ><!--alias ISOTECH radic -->
<!ENTITY sqsubset         "&#x0228F;" ><!--alias ISOAMSR sqsub -->
<!ENTITY sqsubseteq       "&#x02291;" ><!--alias ISOAMSR sqsube -->
<!ENTITY sqsupset         "&#x02290;" ><!--alias ISOAMSR sqsup -->
<!ENTITY sqsupseteq       "&#x02292;" ><!--alias ISOAMSR sqsupe -->
<!ENTITY Square           "&#x025A1;" ><!--alias for square -->
<!ENTITY SquareIntersection "&#x02293;" ><!--alias ISOAMSB sqcap -->
<!ENTITY SquareSubset     "&#x0228F;" ><!--alias ISOAMSR sqsub -->
<!ENTITY SquareSubsetEqual "&#x02291;" ><!--alias ISOAMSR sqsube -->
<!ENTITY SquareSuperset   "&#x02290;" ><!--alias ISOAMSR sqsup -->
<!ENTITY SquareSupersetEqual "&#x02292;" ><!--alias ISOAMSR sqsupe -->
<!ENTITY SquareUnion      "&#x02294;" ><!--alias ISOAMSB sqcup -->
<!ENTITY Star             "&#x022C6;" ><!--alias ISOAMSB sstarf -->
<!ENTITY straightepsilon  "&#x003B5;" ><!--alias ISOGRK3 epsi -->
<!ENTITY straightphi      "&#x003D5;" ><!--alias ISOGRK3 phi -->
<!ENTITY Subset           "&#x022D0;" ><!--alias ISOAMSR Sub -->
<!ENTITY subset           "&#x02282;" ><!--alias ISOTECH sub -->
<!ENTITY subseteq         "&#x02286;" ><!--alias ISOTECH sube -->
<!ENTITY subseteqq        "&#x02286;" ><!--alias ISOAMSR subE -->
<!ENTITY SubsetEqual      "&#x02286;" ><!--alias ISOTECH sube -->
<!ENTITY subsetneq        "&#x0228A;" ><!--alias ISOAMSN subne -->
<!ENTITY subsetneqq       "&#x0228A;" ><!--alias ISOAMSN subnE -->
<!ENTITY succ             "&#x0227B;" ><!--alias ISOAMSR sc -->
<!ENTITY succapprox       "&#x0227F;" ><!--alias ISOAMSR scap -->
<!ENTITY succcurlyeq      "&#x0227D;" ><!--alias ISOAMSR sccue -->
<!ENTITY Succeeds         "&#x0227B;" ><!--alias ISOAMSR sc -->
<!ENTITY SucceedsEqual    "&#x0227D;" ><!--alias ISOAMSR sce -->
<!ENTITY SucceedsSlantEqual "&#x0227D;" ><!--alias ISOAMSR sccue -->
<!ENTITY SucceedsTilde    "&#x0227F;" ><!--alias ISOAMSR scsim -->
<!ENTITY succeq           "&#x0227D;" ><!--alias ISOAMSR sce -->
<!ENTITY succnapprox      "&#x022E9;" ><!--alias ISOAMSN scnap -->
<!ENTITY succneqq         "&#x02AB6;" ><!--alias ISOAMSN scnE -->
<!ENTITY succnsim         "&#x022E9;" ><!--alias ISOAMSN scnsim -->
<!ENTITY succsim          "&#x0227F;" ><!--alias ISOAMSR scsim -->
<!ENTITY SuchThat         "&#x0220B;" ><!--ISOTECH  ni -->
<!ENTITY Sum              "&#x02211;" ><!--alias ISOAMSB sum -->
<!ENTITY Superset         "&#x02283;" ><!--alias ISOTECH sup -->
<!ENTITY SupersetEqual    "&#x02287;" ><!--alias ISOTECH supe -->
<!ENTITY Supset           "&#x022D1;" ><!--alias ISOAMSR Sup -->
<!ENTITY supset           "&#x02283;" ><!--alias ISOTECH sup -->
<!ENTITY supseteq         "&#x02287;" ><!--alias ISOTECH supe -->
<!ENTITY supseteqq        "&#x02287;" ><!--alias ISOAMSR supE -->
<!ENTITY supsetneq        "&#x0228B;" ><!--alias ISOAMSN supne -->
<!ENTITY supsetneqq       "&#x0228B;" ><!--alias ISOAMSN supnE -->
<!ENTITY swarrow          "&#x02199;" ><!--alias ISOAMSA swarr -->
<!ENTITY Therefore        "&#x02234;" ><!--alias ISOTECH there4 -->
<!ENTITY therefore        "&#x02234;" ><!--alias ISOTECH there4 -->
<!ENTITY thickapprox      "&#x02248;" ><!--ISOAMSR   thkap  -->
<!ENTITY thicksim         "&#x0223C;" ><!--ISOAMSR   thksim -->
<!ENTITY ThinSpace        "&#x02009;" ><!--space of width 3/18 em alias ISOPUB thinsp -->
<!ENTITY Tilde            "&#x0223C;" ><!--alias ISOTECH sim -->
<!ENTITY TildeEqual       "&#x02243;" ><!--alias ISOTECH sime -->
<!ENTITY TildeFullEqual   "&#x02245;" ><!--alias ISOTECH cong -->
<!ENTITY TildeTilde       "&#x02248;" ><!--alias ISOTECH ap -->
<!ENTITY toea             "&#x02928;" ><!--alias ISOAMSA nesear -->
<!ENTITY tosa             "&#x02929;" ><!--alias ISOAMSA seswar -->
<!ENTITY triangle         "&#x025B5;" ><!--alias ISOPUB utri -->
<!ENTITY triangledown     "&#x025BF;" ><!--alias ISOPUB dtri -->
<!ENTITY triangleleft     "&#x025C3;" ><!--alias ISOPUB ltri -->
<!ENTITY trianglelefteq   "&#x022B4;" ><!--alias ISOAMSR ltrie -->
<!ENTITY triangleq        "&#x0225C;" ><!--alias ISOAMSR trie -->
<!ENTITY triangleright    "&#x025B9;" ><!--alias ISOPUB rtri -->
<!ENTITY trianglerighteq  "&#x022B5;" ><!--alias ISOAMSR rtrie -->
<!ENTITY TripleDot        "&#x020DB;" ><!--alias ISOTECH tdot -->
<!ENTITY twoheadleftarrow "&#x0219E;" ><!--alias ISOAMSA Larr -->
<!ENTITY twoheadrightarrow "&#x021A0;" ><!--alias ISOAMSA Rarr -->
<!ENTITY ulcorner         "&#x0231C;" ><!--alias ISOAMSC ulcorn -->
<!ENTITY Union            "&#x022C3;" ><!--alias ISOAMSB xcup -->
<!ENTITY UnionPlus        "&#x0228E;" ><!--alias ISOAMSB uplus -->
<!ENTITY UpArrow          "&#x02191;" ><!--alias ISONUM uarr -->
<!ENTITY Uparrow          "&#x021D1;" ><!--alias ISOAMSA uArr -->
<!ENTITY uparrow          "&#x02191;" ><!--alias ISONUM uarr -->
<!ENTITY UpArrowDownArrow "&#x021C5;" ><!--alias ISOAMSA udarr -->
<!ENTITY UpDownArrow      "&#x02195;" ><!--alias ISOAMSA varr -->
<!ENTITY Updownarrow      "&#x021D5;" ><!--alias ISOAMSA vArr -->
<!ENTITY updownarrow      "&#x02195;" ><!--alias ISOAMSA varr -->
<!ENTITY UpEquilibrium    "&#x0296E;" ><!--alias ISOAMSA udhar -->
<!ENTITY upharpoonleft    "&#x021BF;" ><!--alias ISOAMSA uharl -->
<!ENTITY upharpoonright   "&#x021BE;" ><!--alias ISOAMSA uharr -->
<!ENTITY UpperLeftArrow   "&#x02196;" ><!--alias ISOAMSA nwarr -->
<!ENTITY UpperRightArrow  "&#x02197;" ><!--alias ISOAMSA nearr -->
<!ENTITY upsilon          "&#x003C5;" ><!--alias ISOGRK3 upsi -->
<!ENTITY UpTee            "&#x022A5;" ><!--alias ISOTECH perp -->
<!ENTITY UpTeeArrow       "&#x021A5;" ><!--Alias mapstoup -->
<!ENTITY upuparrows       "&#x021C8;" ><!--alias ISOAMSA uuarr -->
<!ENTITY urcorner         "&#x0231D;" ><!--alias ISOAMSC urcorn -->
<!ENTITY varepsilon       "&#x0025B;" ><!--alias ISOGRK3 epsiv -->
<!ENTITY varkappa         "&#x003F0;" ><!--alias ISOGRK3 kappav -->
<!ENTITY varnothing       "&#x02205;" ><!--alias ISOAMSO emptyv -->
<!ENTITY varphi           "&#x003C6;" ><!--alias ISOGRK3 phiv -->
<!ENTITY varpi            "&#x003D6;" ><!--alias ISOGRK3 piv -->
<!ENTITY varpropto        "&#x0221D;" ><!--alias ISOAMSR vprop -->
<!ENTITY varrho           "&#x003F1;" ><!--alias ISOGRK3 rhov -->
<!ENTITY varsigma         "&#x003C2;" ><!--alias ISOGRK3 sigmav -->
<!ENTITY varsubsetneq     "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubne -->
<!ENTITY varsubsetneqq    "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubnE -->
<!ENTITY varsupsetneq     "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupne -->
<!ENTITY varsupsetneqq    "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupnE -->
<!ENTITY vartheta         "&#x003D1;" ><!--alias ISOGRK3 thetav -->
<!ENTITY vartriangleleft  "&#x022B2;" ><!--alias ISOAMSR vltri -->
<!ENTITY vartriangleright "&#x022B3;" ><!--alias ISOAMSR vrtri -->
<!ENTITY Vee              "&#x022C1;" ><!--alias ISOAMSB xvee -->
<!ENTITY vee              "&#x02228;" ><!--alias ISOTECH or -->
<!ENTITY Vert             "&#x02016;" ><!--alias ISOTECH Verbar -->
<!ENTITY vert             "&#x0007C;" ><!--alias ISONUM verbar -->
<!ENTITY VerticalBar      "&#x02223;" ><!--alias ISOAMSR mid -->
<!ENTITY VerticalTilde    "&#x02240;" ><!--alias ISOAMSB wreath -->
<!ENTITY VeryThinSpace    "&#x0200A;" ><!--space of width 1/18 em alias ISOPUB hairsp -->
<!ENTITY Wedge            "&#x022C0;" ><!--alias ISOAMSB xwedge -->
<!ENTITY wedge            "&#x02227;" ><!--alias ISOTECH and -->
<!ENTITY wp               "&#x02118;" ><!--alias ISOAMSO weierp -->
<!ENTITY wr               "&#x02240;" ><!--alias ISOAMSB wreath -->
<!ENTITY zeetrf           "&#x02128;" ><!--zee transform -->


<!-- end of MathML Character Entity section -->]]>

<!-- Revision History:

       Initial draft (syntax = XML) 1997-05-09
          Stephen Buswell
       Revised 1997-05-14
          Robert Miner
       Revised 1997-06-29 and 1997-07-02
          Stephen Buswell
       Revised 1997-12-15
          Stephen Buswell
       Revised 1998-02-08
          Stephen Buswell
       Revised 1998-04-04
          Stephen Buswell
       Entities and small revisions 1999-02-21
          David Carlisle
       Added attribute definitionURL to ci and cn 1999-10-11
          Nico Poppelier
       Additions for MathML 2  1999-12-16
          David Carlisle
       Namespace support 2000-01-14
          David Carlisle
       XHTML Compatibility 2000-02-23
          Murray Altheim
       New content elements 2000-03-26
          David Carlisle
       Further revisions for MathML2 CR draft 2000-07-11
          David Carlisle
       Further revisions for MathML2 CR draft 2000-10-31
          David Carlisle
       Revisions for Unicode 3.2  2002-05-21
          David Carlisle
       Add width and side attributes to mtable (to align with the specification)  2002-06-05
          David Carlisle
       Use %XLINK.prefix rather than hardwired xlink:, add xlink:type 2002-06-12
          David Carlisle
       Add missing numalign and denomalign attributes for mfrac 2002-07-05
          David Carlisle

-->

<!-- end of MathML 2.0 DTD  ................................................ -->
<!-- ....................................................................... -->


]]>

<!-- end of xhtml-math-svg.dtd -->
