The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

<?xml version="1.0" encoding="UTF-8"?>
<a:documentation>
SVG 1.1 Paint Attribute Module
file: svg-paint-attrib.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-paint-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
</a:documentation>
<a:documentation>
Paint Attribute
fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset,
stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color,
color-interpolation, color-rendering
This module defines the Paint and Color attribute sets.
</a:documentation>
<define name="Paint.datatype">
<a:documentation>
a 'fill' or 'stroke' property/attribute value: &lt;paint&gt;
</a:documentation>
<data type="string"/>
</define>
<define name="StrokeDashArrayValue.datatype">
<a:documentation>
'stroke-dasharray' property/attribute value
(e.g., 'none', list of &lt;number&gt;s)
</a:documentation>
<data type="string"/>
</define>
<define name="StrokeDashOffsetValue.datatype">
<a:documentation>
'stroke-dashoffset' property/attribute value (e.g., 'none', &lt;legnth&gt;)
</a:documentation>
<data type="string"/>
</define>
<define name="StrokeMiterLimitValue.datatype">
<a:documentation>
'stroke-miterlimit' property/attribute value (e.g., &lt;number&gt;)
</a:documentation>
<data type="string"/>
</define>
<define name="StrokeWidthValue.datatype">
<a:documentation>
'stroke-width' property/attribute value (e.g., &lt;length&gt;)
</a:documentation>
<data type="string"/>
</define>
<define name="SVG.fill.attrib">
<optional>
<attribute name="fill">
<ref name="Paint.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.fill-rule.attrib">
<optional>
<attribute name="fill-rule">
<ref name="ClipFillRule.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.stroke.attrib">
<optional>
<attribute name="stroke">
<ref name="Paint.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.stroke-dasharray.attrib">
<optional>
<attribute name="stroke-dasharray">
<ref name="StrokeDashArrayValue.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.stroke-dashoffset.attrib">
<optional>
<attribute name="stroke-dashoffset">
<ref name="StrokeDashOffsetValue.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.stroke-linecap.attrib">
<optional>
<attribute name="stroke-linecap">
<choice>
<value>butt</value>
<value>round</value>
<value>square</value>
<value>inherit</value>
</choice>
</attribute>
</optional>
</define>
<define name="SVG.stroke-linejoin.attrib">
<optional>
<attribute name="stroke-linejoin">
<choice>
<value>miter</value>
<value>round</value>
<value>bevel</value>
<value>inherit</value>
</choice>
</attribute>
</optional>
</define>
<define name="SVG.stroke-miterlimit.attrib">
<optional>
<attribute name="stroke-miterlimit">
<ref name="StrokeMiterLimitValue.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.stroke-width.attrib">
<optional>
<attribute name="stroke-width">
<ref name="StrokeWidthValue.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.Paint.extra.attrib">
<empty/>
</define>
<define name="SVG.Paint.attrib" combine="interleave">
<ref name="SVG.fill.attrib"/>
<ref name="SVG.fill-rule.attrib"/>
<ref name="SVG.stroke.attrib"/>
<ref name="SVG.stroke-dasharray.attrib"/>
<ref name="SVG.stroke-dashoffset.attrib"/>
<ref name="SVG.stroke-linecap.attrib"/>
<ref name="SVG.stroke-linejoin.attrib"/>
<ref name="SVG.stroke-miterlimit.attrib"/>
<ref name="SVG.stroke-width.attrib"/>
<ref name="SVG.Paint.extra.attrib"/>
</define>
<define name="SVG.color.attrib">
<optional>
<attribute name="color">
<ref name="Color.datatype"/>
</attribute>
</optional>
</define>
<define name="SVG.color-interpolation.attrib">
<optional>
<attribute name="color-interpolation">
<choice>
<value>auto</value>
<value>sRGB</value>
<value>linearRGB</value>
<value>inherit</value>
</choice>
</attribute>
</optional>
</define>
<define name="SVG.color-rendering.attrib">
<optional>
<attribute name="color-rendering">
<choice>
<value>auto</value>
<value>optimizeSpeed</value>
<value>optimizeQuality</value>
<value>inherit</value>
</choice>
</attribute>
</optional>
</define>
<define name="SVG.Color.extra.attrib">
<empty/>
</define>
<define name="SVG.Color.attrib" combine="interleave">
<ref name="SVG.color.attrib"/>
<ref name="SVG.color-interpolation.attrib"/>
<ref name="SVG.color-rendering.attrib"/>
<ref name="SVG.Color.extra.attrib"/>
</define>
</grammar>