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.
## 
##     $Id: svg-font.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
##   

## 
##     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"
  a:documentation [
    "\x{a}" ~
    "    font-face: Font Face Element\x{a}" ~
    "  "
  ]
  SVG.font-face.extra.class &= definition-src?
  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
}
