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


## 
##     SVG 1.1 Style Module
##     file: svg-style.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-2014 Mozilla Foundation
## 
##     $Id$
##   

## 
##     Style
## 
##         style
## 
##     This module declares markup to provide support for stylesheet.
##   

## 
##     Datatypes
##   
[ xml:lang = "en" ]
grammar {
    ClassList.datatype = xsd:string
    StyleSheet.datatype = xsd:string
    
    ## 
    ##       comma-separated list of media descriptors.
    ##     
    MediaDesc.datatype = xsd:string
    a:documentation [ "\x{a}" ~ "    SVG.Style.attrib\x{a}" ~ "  " ]
    SVG.Style.extra.attrib = empty
    SVG.Style.attrib &=
        attribute style { StyleSheet.datatype }?,
        attribute class { ClassList.datatype }?,
        SVG.Style.extra.attrib
    a:documentation [ "\x{a}" ~ "    SVG.Style.class\x{a}" ~ "  " ]
    SVG.Style.extra.class = notAllowed
    SVG.Style.class |= style | SVG.Style.extra.class
    a:documentation [ "\x{a}" ~ "    style: Style Element\x{a}" ~ "  " ]
    SVG.style.content = text
    style = element style { attlist.style, SVG.style.content }
    attlist.style &=
        [ a:defaultValue = "preserve" ]
        attribute xml:space { string "preserve" }?,
        SVG.id.attrib,
        SVG.base.attrib,
        SVG.lang.attrib,
        SVG.Core.extra.attrib,
        attribute type { ContentType.datatype }?,
        attribute media { MediaDesc.datatype }?,
        attribute title { Text.datatype }?
}
