summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rnc
blob: e8c6e60525fbd033ca119a4e9471cb75fdf90c94 (plain)
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 }
}