<?xml version="1.0" encoding="UTF-8"?>
<a:documentation>
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 $
</a:documentation>
<a:documentation>
Gradient
linearGradient, radialGradient, stop
This module declares markup to provide support for gradient fill.
</a:documentation>
<a:documentation>
Datatypes
</a:documentation>
<define name="NumberOrPercentage.datatype">
<data type="string"/>
</define>
<a:documentation>
SVG.Gradient.attrib
</a:documentation>
<define name="SVG.Gradient.extra.attrib">
<empty/>
</define>
<define name="SVG.Gradient.attrib" combine="interleave">
<optional>
<attribute name="stop-color">
<ref name="SVGColor.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="stop-opacity">
<ref name="OpacityValue.datatype"/>
</attribute>
</optional>
<ref name="SVG.Gradient.extra.attrib"/>
</define>
<a:documentation>
SVG.Gradient.class
</a:documentation>
<define name="SVG.Gradient.extra.class">
<notAllowed/>
</define>
<define name="SVG.Gradient.class" combine="choice">
<choice>
<ref name="linearGradient"/>
<ref name="radialGradient"/>
<ref name="SVG.Gradient.extra.class"/>
</choice>
</define>
<a:documentation>
linearGradient: Linear Gradient Element
</a:documentation>
<define name="SVG.linearGradient.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="stop"/>
<ref name="animate"/>
<ref name="set"/>
<ref name="animateTransform"/>
</choice>
</zeroOrMore>
</define>
<define name="linearGradient">
<element name="linearGradient">
<ref name="attlist.linearGradient"/>
<ref name="SVG.linearGradient.content"/>
</element>
</define>
<define name="attlist.linearGradient" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Gradient.attrib"/>
<ref name="SVG.XLink.attrib"/>
<ref name="SVG.External.attrib"/>
<optional>
<attribute name="x1">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="y1">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="x2">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="y2">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="gradientUnits">
<choice>
<value>userSpaceOnUse</value>
<value>objectBoundingBox</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="gradientTransform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="spreadMethod">
<choice>
<value>pad</value>
<value>reflect</value>
<value>repeat</value>
</choice>
</attribute>
</optional>
</define>
<a:documentation>
radialGradient: Radial Gradient Element
</a:documentation>
<define name="SVG.radialGradient.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="stop"/>
<ref name="animate"/>
<ref name="set"/>
<ref name="animateTransform"/>
</choice>
</zeroOrMore>
</define>
<define name="radialGradient">
<element name="radialGradient">
<ref name="attlist.radialGradient"/>
<ref name="SVG.radialGradient.content"/>
</element>
</define>
<define name="attlist.radialGradient" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Gradient.attrib"/>
<ref name="SVG.XLink.attrib"/>
<ref name="SVG.External.attrib"/>
<optional>
<attribute name="cx">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="cy">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="r">
<ref name="Length.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="fx">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="fy">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="gradientUnits">
<choice>
<value>userSpaceOnUse</value>
<value>objectBoundingBox</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="gradientTransform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="spreadMethod">
<choice>
<value>pad</value>
<value>reflect</value>
<value>repeat</value>
</choice>
</attribute>
</optional>
</define>
<a:documentation>
stop: Stop Element
</a:documentation>
<define name="SVG.stop.content">
<zeroOrMore>
<choice>
<ref name="animate"/>
<ref name="set"/>
<ref name="animateColor"/>
</choice>
</zeroOrMore>
</define>
<define name="stop">
<element name="stop">
<ref name="attlist.stop"/>
<ref name="SVG.stop.content"/>
</element>
</define>
<define name="attlist.stop" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Gradient.attrib"/>
<attribute name="offset">
<ref name="NumberOrPercentage.datatype"/>
</attribute>
</define>
</grammar>