namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
namespace xlink = "http://www.w3.org/1999/xlink"

# .......................................................................

# 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.
#
# Modifications Copyright 2007 Mozilla Foundation
# 
# Revision: $Id$
# 
# 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.

# 2. Declare a parameter entity (eg., %SVG.xmlns;) containing
# the URI reference used to identify the SVG namespace:

# 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.

# 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.

# 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.

# Declare a parameter entity XLINK.xmlns.attrib containing
# the XML Namespace declarations for XLink.
XLINK.xmlns.attrib = empty
# 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.

# 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.xmlns.attrib = empty, 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 .........................

# module: svg-conditional.mod .......................

# module: svg-image.mod .............................

# module: svg-style.mod .............................

# module: svg-shape.mod .............................

# module: svg-text.mod ..............................

# module: svg-marker.mod ............................

# module: svg-profile.mod ...........................

# module: svg-gradient.mod ..........................

# module: svg-pattern.mod ...........................

# module: svg-clip.mod ..............................

# module: svg-mask.mod ..............................

# module: svg-filter.mod ............................

# module: svg-cursor.mod ............................

# module: svg-hyperlink.mod .........................

# module: svg-view.mod ..............................

# module: svg-script.mod ............................

# module: svg-animation.mod .........................

# module: svg-font.mod ..............................

# module: svg-extensibility.mod .....................

# end of svg-qname.mod
