| default namespace = "http://www.w3.org/2000/svg" |
| namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" |
| |
| |
| ## |
| ## 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. |
| ## |
| ## Modifications Copyright 2007 Mozilla Foundation |
| ## |
| ## $Id$ |
| ## |
| |
| ## |
| ## Shape |
| ## |
| ## path, rect, circle, line, ellipse, polyline, polygon |
| ## |
| ## This module declares markup to provide support for graphical shapes. |
| ## |
| [ xml:lang = "en" ] |
| grammar { |
| |
| ## |
| ## a list of points |
| ## |
| Points.datatype = xsd:string |
| a:documentation [ "\x{a}" ~ " SVG.Shape.class\x{a}" ~ " " ] |
| SVG.Shape.extra.class = notAllowed |
| SVG.Shape.class |= |
| path |
| | rect |
| | circle |
| | line |
| | ellipse |
| | polyline |
| | polygon |
| | SVG.Shape.extra.class |
| a:documentation [ "\x{a}" ~ " path: Path Element\x{a}" ~ " " ] |
| SVG.path.content = SVG.Description.class*, SVG.Animation.class* |
| path = element path { attlist.path, SVG.path.content } |
| attlist.path &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Marker.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute d { PathData.datatype }, |
| attribute pathLength { Number.datatype }?, |
| attribute transform { TransformList.datatype }? |
| a:documentation [ |
| "\x{a}" ~ |
| " rect: Rectangle Element\x{a}" ~ |
| " " |
| ] |
| SVG.rect.content = SVG.Description.class*, SVG.Animation.class* |
| rect = element rect { attlist.rect, SVG.rect.content } |
| attlist.rect &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute x { Coordinate.datatype }?, |
| attribute y { Coordinate.datatype }?, |
| attribute width { Length.datatype }, |
| attribute height { Length.datatype }, |
| attribute rx { Length.datatype }?, |
| attribute ry { Length.datatype }?, |
| attribute transform { TransformList.datatype }? |
| a:documentation [ |
| "\x{a}" ~ |
| " circle: Circle Element\x{a}" ~ |
| " " |
| ] |
| SVG.circle.content = SVG.Description.class*, SVG.Animation.class* |
| circle = element circle { attlist.circle, SVG.circle.content } |
| attlist.circle &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute cx { Coordinate.datatype }?, |
| attribute cy { Coordinate.datatype }?, |
| attribute r { Length.datatype }, |
| attribute transform { TransformList.datatype }? |
| a:documentation [ "\x{a}" ~ " line: Line Element\x{a}" ~ " " ] |
| SVG.line.content = SVG.Description.class*, SVG.Animation.class* |
| line = element line { attlist.line, SVG.line.content } |
| attlist.line &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Marker.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute x1 { Coordinate.datatype }?, |
| attribute y1 { Coordinate.datatype }?, |
| attribute x2 { Coordinate.datatype }?, |
| attribute y2 { Coordinate.datatype }?, |
| attribute transform { TransformList.datatype }? |
| a:documentation [ |
| "\x{a}" ~ |
| " ellipse: Ellipse Element\x{a}" ~ |
| " " |
| ] |
| SVG.ellipse.content = SVG.Description.class*, SVG.Animation.class* |
| ellipse = element ellipse { attlist.ellipse, SVG.ellipse.content } |
| attlist.ellipse &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute cx { Coordinate.datatype }?, |
| attribute cy { Coordinate.datatype }?, |
| attribute rx { Length.datatype }, |
| attribute ry { Length.datatype }, |
| attribute transform { TransformList.datatype }? |
| a:documentation [ |
| "\x{a}" ~ |
| " polyline: Polyline Element\x{a}" ~ |
| " " |
| ] |
| SVG.polyline.content = SVG.Description.class*, SVG.Animation.class* |
| polyline = |
| element polyline { attlist.polyline, SVG.polyline.content } |
| attlist.polyline &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Marker.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute points { Points.datatype }, |
| attribute transform { TransformList.datatype }? |
| a:documentation [ |
| "\x{a}" ~ |
| " polygon: Polygon Element\x{a}" ~ |
| " " |
| ] |
| SVG.polygon.content = SVG.Description.class*, SVG.Animation.class* |
| polygon = element polygon { attlist.polygon, SVG.polygon.content } |
| attlist.polygon &= |
| SVG.Core.attrib, |
| SVG.Conditional.attrib, |
| SVG.Style.attrib, |
| SVG.Paint.attrib, |
| SVG.Color.attrib, |
| SVG.Opacity.attrib, |
| SVG.Graphics.attrib, |
| SVG.Marker.attrib, |
| SVG.Clip.attrib, |
| SVG.Mask.attrib, |
| SVG.Filter.attrib, |
| SVG.GraphicalEvents.attrib, |
| SVG.Cursor.attrib, |
| SVG.External.attrib, |
| attribute points { Points.datatype }, |
| attribute transform { TransformList.datatype }? |
| } |