default namespace = "http://www.w3.org/2000/svg"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"


## 
##     SVG 1.1 Basic Clip Module
##     file: svg-basic-clip.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$
##   

## 
##     Basic Clip
## 
##         clipPath
## 
##     This module declares markup to provide support for clipping.
##   

## 
##     Datatypes
##   
[ xml:lang = "en" ]
grammar {
    ClipPathValue.datatype = xsd:string
    a:documentation [ "\x{a}" ~ "    SVG.Clip.attrib\x{a}" ~ "  " ]
    SVG.Clip.extra.attrib = empty
    SVG.Clip.attrib &=
        attribute clip-path { ClipPathValue.datatype }?,
        attribute clip-rule { ClipFillRule.datatype }?,
        SVG.Clip.extra.attrib
    a:documentation [ "\x{a}" ~ "    SVG.Clip.class\x{a}" ~ "  " ]
    SVG.Clip.extra.class = notAllowed
    SVG.Clip.class |= clipPath | SVG.Clip.extra.class
    a:documentation [
        "\x{a}" ~
        "    clipPath: Clip Path Element\x{a}" ~
        "  "
    ]
    SVG.clipPath.class = rect | SVG.Animation.class | SVG.Use.class
    SVG.clipPath.content = SVG.Description.class*, SVG.clipPath.class*
    clipPath =
        element clipPath { attlist.clipPath, SVG.clipPath.content }
    attlist.clipPath &=
        SVG.Core.attrib,
        SVG.Conditional.attrib,
        SVG.Style.attrib,
        SVG.Text.attrib,
        SVG.TextContent.attrib,
        SVG.Font.attrib,
        SVG.Paint.attrib,
        SVG.Color.attrib,
        SVG.Opacity.attrib,
        SVG.Graphics.attrib,
        SVG.Clip.attrib,
        SVG.Mask.attrib,
        SVG.Filter.attrib,
        SVG.Cursor.attrib,
        SVG.External.attrib,
        attribute transform { TransformList.datatype }?,
        attribute clipPathUnits {
            "userSpaceOnUse" | "objectBoundingBox"
        }?
}
