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 Shape Module
file: svg-shape.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-shape.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
</a:documentation>
<a:documentation>
Shape
path, rect, circle, line, ellipse, polyline, polygon
This module declares markup to provide support for graphical shapes.
</a:documentation>
<define name="Points.datatype">
<a:documentation>
a list of points
</a:documentation>
<data type="string"/>
</define>
<a:documentation>
SVG.Shape.class
</a:documentation>
<define name="SVG.Shape.extra.class">
<notAllowed/>
</define>
<define name="SVG.Shape.class" combine="choice">
<choice>
<ref name="path"/>
<ref name="rect"/>
<ref name="circle"/>
<ref name="line"/>
<ref name="ellipse"/>
<ref name="polyline"/>
<ref name="polygon"/>
<ref name="SVG.Shape.extra.class"/>
</choice>
</define>
<a:documentation>
path: Path Element
</a:documentation>
<define name="SVG.path.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="path">
<element name="path">
<ref name="attlist.path"/>
<ref name="SVG.path.content"/>
</element>
</define>
<define name="attlist.path" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Marker.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.attrib"/>
<ref name="SVG.External.attrib"/>
<attribute name="d">
<ref name="PathData.datatype"/>
</attribute>
<optional>
<attribute name="pathLength">
<ref name="Number.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
<a:documentation>
rect: Rectangle Element
</a:documentation>
<define name="SVG.rect.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="rect">
<element name="rect">
<ref name="attlist.rect"/>
<ref name="SVG.rect.content"/>
</element>
</define>
<define name="attlist.rect" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.attrib"/>
<ref name="SVG.External.attrib"/>
<optional>
<attribute name="x">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="y">
<ref name="Coordinate.datatype"/>
</attribute>
</optional>
<attribute name="width">
<ref name="Length.datatype"/>
</attribute>
<attribute name="height">
<ref name="Length.datatype"/>
</attribute>
<optional>
<attribute name="rx">
<ref name="Length.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="ry">
<ref name="Length.datatype"/>
</attribute>
</optional>
<optional>
<attribute name="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
<a:documentation>
circle: Circle Element
</a:documentation>
<define name="SVG.circle.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="circle">
<element name="circle">
<ref name="attlist.circle"/>
<ref name="SVG.circle.content"/>
</element>
</define>
<define name="attlist.circle" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.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>
<attribute name="r">
<ref name="Length.datatype"/>
</attribute>
<optional>
<attribute name="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
<a:documentation>
line: Line Element
</a:documentation>
<define name="SVG.line.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="line">
<element name="line">
<ref name="attlist.line"/>
<ref name="SVG.line.content"/>
</element>
</define>
<define name="attlist.line" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Marker.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.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="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
<a:documentation>
ellipse: Ellipse Element
</a:documentation>
<define name="SVG.ellipse.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="ellipse">
<element name="ellipse">
<ref name="attlist.ellipse"/>
<ref name="SVG.ellipse.content"/>
</element>
</define>
<define name="attlist.ellipse" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.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>
<attribute name="rx">
<ref name="Length.datatype"/>
</attribute>
<attribute name="ry">
<ref name="Length.datatype"/>
</attribute>
<optional>
<attribute name="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
<a:documentation>
polyline: Polyline Element
</a:documentation>
<define name="SVG.polyline.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="polyline">
<element name="polyline">
<ref name="attlist.polyline"/>
<ref name="SVG.polyline.content"/>
</element>
</define>
<define name="attlist.polyline" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Marker.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.attrib"/>
<ref name="SVG.External.attrib"/>
<attribute name="points">
<ref name="Points.datatype"/>
</attribute>
<optional>
<attribute name="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
<a:documentation>
polygon: Polygon Element
</a:documentation>
<define name="SVG.polygon.content">
<zeroOrMore>
<ref name="SVG.Description.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SVG.Animation.class"/>
</zeroOrMore>
</define>
<define name="polygon">
<element name="polygon">
<ref name="attlist.polygon"/>
<ref name="SVG.polygon.content"/>
</element>
</define>
<define name="attlist.polygon" combine="interleave">
<ref name="SVG.Core.attrib"/>
<ref name="SVG.Conditional.attrib"/>
<ref name="SVG.Style.attrib"/>
<ref name="SVG.Paint.attrib"/>
<ref name="SVG.Color.attrib"/>
<ref name="SVG.Opacity.attrib"/>
<ref name="SVG.Graphics.attrib"/>
<ref name="SVG.Marker.attrib"/>
<ref name="SVG.Clip.attrib"/>
<ref name="SVG.Mask.attrib"/>
<ref name="SVG.Filter.attrib"/>
<ref name="SVG.GraphicalEvents.attrib"/>
<ref name="SVG.Cursor.attrib"/>
<ref name="SVG.External.attrib"/>
<attribute name="points">
<ref name="Points.datatype"/>
</attribute>
<optional>
<attribute name="transform">
<ref name="TransformList.datatype"/>
</attribute>
</optional>
</define>
</grammar>