blob: ecb3e154adeddf0d8bfa65cd195a8ab981acbcf1 [file] [log] [blame]
default namespace = "http://www.w3.org/2000/svg"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
##
## SVG 1.1 Conditional Processing Module
## file: svg-conditional.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$
##
##
## Conditional Processing
##
## switch
##
## This module declares markup to provide support for conditional processing.
##
##
## Datatypes
##
[ xml:lang = "en" ]
grammar {
ExtensionList.datatype = xsd:string
FeatureList.datatype = xsd:string
a:documentation [
"\x{a}" ~
" SVG.Conditional.attrib\x{a}" ~
" "
]
SVG.Conditional.extra.attrib = empty
SVG.Conditional.attrib &=
attribute requiredFeatures { FeatureList.datatype }?,
attribute requiredExtensions { ExtensionList.datatype }?,
attribute systemLanguage { LanguageCodes.datatype }?,
SVG.Conditional.extra.attrib
a:documentation [
"\x{a}" ~
" SVG.Conditional.class\x{a}" ~
" "
]
SVG.Conditional.extra.class = notAllowed
SVG.Conditional.class |= switch | SVG.Conditional.extra.class
a:documentation [
"\x{a}" ~
" switch: Switch Element\x{a}" ~
" "
]
SVG.switch.content =
SVG.Description.class*,
(svg
| g
| use
| \text
| SVG.Animation.class
| SVG.Conditional.class
| SVG.Image.class
| SVG.Shape.class
| SVG.Hyperlink.class)*
switch = element switch { attlist.switch, SVG.switch.content }
attlist.switch &=
SVG.Core.attrib,
SVG.Conditional.attrib,
SVG.Style.attrib,
SVG.Presentation.attrib,
SVG.GraphicalEvents.attrib,
SVG.External.attrib,
attribute transform { TransformList.datatype }?
}