default namespace = "http://www.w3.org/2000/svg"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"


## 
##     SVG 1.1 Font Module
##     file: svg-font.rng
## 
##     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
## 
##     $Id$
##   

## 
##     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.
##   
[ xml:lang = "en" ]
grammar {
    include "svg-basic-font.rnc" {
        SVG.font-face.extra.class &= definition-src?
    }
    a:documentation [
        "\x{a}" ~
        "    font-face: Font Face Element\x{a}" ~
        "  "
    ]
    a:documentation [ "\x{a}" ~ "    glyph: Glyph Element\x{a}" ~ "  " ]
    SVG.glyph.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
    a:documentation [
        "\x{a}" ~
        "    missing-glyph: Missing Glyph Element\x{a}" ~
        "  "
    ]
    SVG.missing-glyph.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
    a:documentation [
        "\x{a}" ~
        "    font-face-uri: Font Face URI Element\x{a}" ~
        "  "
    ]
    SVG.font-face-uri.content |= font-face-format*
    a:documentation [
        "\x{a}" ~
        "    font-face-format: Font Face Format Element\x{a}" ~
        "  "
    ]
    SVG.font-face-format.content = empty
    font-face-format =
        element font-face-format {
            attlist.font-face-format, SVG.font-face-format.content
        }
    attlist.font-face-format &=
        SVG.Core.attrib,
        attribute string { text }?
    a:documentation [
        "\x{a}" ~
        "    definition-src: Definition Source Element\x{a}" ~
        "  "
    ]
    SVG.definition-src.content = empty
    definition-src =
        element definition-src {
            attlist.definition-src, SVG.definition-src.content
        }
    attlist.definition-src &= SVG.Core.attrib, SVG.XLinkRequired.attrib
}
