1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
default namespace = "http://www.w3.org/2000/svg"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
##
## SVG 1.1 Gradient Module
## file: svg-gradient.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-gradient.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
##
##
## Gradient
##
## linearGradient, radialGradient, stop
##
## This module declares markup to provide support for gradient fill.
##
##
## Datatypes
##
[ xml:lang = "en" ]
grammar {
NumberOrPercentage.datatype = xsd:string
a:documentation [ "\x{a}" ~ " SVG.Gradient.attrib\x{a}" ~ " " ]
SVG.Gradient.extra.attrib = empty
SVG.Gradient.attrib &=
attribute stop-color { SVGColor.datatype }?,
attribute stop-opacity { OpacityValue.datatype }?,
SVG.Gradient.extra.attrib
a:documentation [ "\x{a}" ~ " SVG.Gradient.class\x{a}" ~ " " ]
SVG.Gradient.extra.class = notAllowed
SVG.Gradient.class |=
linearGradient | radialGradient | SVG.Gradient.extra.class
a:documentation [
"\x{a}" ~
" linearGradient: Linear Gradient Element\x{a}" ~
" "
]
SVG.linearGradient.content =
SVG.Description.class*, (stop | animate | set | animateTransform)*
linearGradient =
element linearGradient {
attlist.linearGradient, SVG.linearGradient.content
}
attlist.linearGradient &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Color.attrib,
SVG.Gradient.attrib,
SVG.XLink.attrib,
SVG.External.attrib,
attribute x1 { Coordinate.datatype }?,
attribute y1 { Coordinate.datatype }?,
attribute x2 { Coordinate.datatype }?,
attribute y2 { Coordinate.datatype }?,
attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
attribute gradientTransform { TransformList.datatype }?,
attribute spreadMethod { "pad" | "reflect" | "repeat" }?
a:documentation [
"\x{a}" ~
" radialGradient: Radial Gradient Element\x{a}" ~
" "
]
SVG.radialGradient.content =
SVG.Description.class*, (stop | animate | set | animateTransform)*
radialGradient =
element radialGradient {
attlist.radialGradient, SVG.radialGradient.content
}
attlist.radialGradient &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Color.attrib,
SVG.Gradient.attrib,
SVG.XLink.attrib,
SVG.External.attrib,
attribute cx { Coordinate.datatype }?,
attribute cy { Coordinate.datatype }?,
attribute r { Length.datatype }?,
attribute fx { Coordinate.datatype }?,
attribute fy { Coordinate.datatype }?,
attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
attribute gradientTransform { TransformList.datatype }?,
attribute spreadMethod { "pad" | "reflect" | "repeat" }?
a:documentation [ "\x{a}" ~ " stop: Stop Element\x{a}" ~ " " ]
SVG.stop.content = (animate | set | animateColor)*
stop = element stop { attlist.stop, SVG.stop.content }
attlist.stop &=
SVG.Core.attrib,
SVG.Style.attrib,
SVG.Color.attrib,
SVG.Gradient.attrib,
attribute offset { NumberOrPercentage.datatype }
}
|