namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
namespace xlink = "http://www.w3.org/1999/xlink"


## 
##     SVG 1.1 XLink Attribute Module
##     file: svg-xlink-attrib.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$
##   

## 
##     XLink Attribute
## 
##        type, href, role, arcrole, title, show, actuate
## 
##     This module defines the XLink, XLinkRequired, XLinkEmbed, and
##     XLinkReplace attribute set.
##   
[ xml:lang = "en" ]
grammar {
    SVG.XLink.extra.attrib = empty
    SVG.XLink.attrib &=
        [ a:defaultValue = "simple" ]
        attribute xlink:type { string "simple" }?,
        (
        attribute xlink:href { URI.datatype }?
        &
        attribute href { URI.datatype }?
        ),
        attribute xlink:role { URI.datatype }?,
        attribute xlink:arcrole { URI.datatype }?,
        attribute xlink:title { text }?,
        [ a:defaultValue = "other" ] attribute xlink:show { string "other" }?,
        [ a:defaultValue = "onLoad" ]
        attribute xlink:actuate { string "onLoad" }?,
        SVG.XLink.extra.attrib
    SVG.XLinkRequired.extra.attrib = empty
    SVG.XLinkRequired.attrib &=
        [ a:defaultValue = "simple" ]
        attribute xlink:type { string "simple" }?,
        (
        attribute xlink:href { URI.datatype }?
        &
        attribute href { URI.datatype }?
        ),
        attribute xlink:role { URI.datatype }?,
        attribute xlink:arcrole { URI.datatype }?,
        attribute xlink:title { text }?,
        [ a:defaultValue = "other" ] attribute xlink:show { string "other" }?,
        [ a:defaultValue = "onLoad" ]
        attribute xlink:actuate { string "onLoad" }?,
        SVG.XLinkRequired.extra.attrib
    SVG.XLinkEmbed.extra.attrib = empty
    SVG.XLinkEmbed.attrib &=
        [ a:defaultValue = "simple" ]
        attribute xlink:type { string "simple" }?,
        (
        attribute xlink:href { URI.datatype }?
        &
        attribute href { URI.datatype }?
        ),
        attribute xlink:role { URI.datatype }?,
        attribute xlink:arcrole { URI.datatype }?,
        attribute xlink:title { text }?,
        [ a:defaultValue = "embed" ] attribute xlink:show { string "embed" }?,
        [ a:defaultValue = "onLoad" ]
        attribute xlink:actuate { string "onLoad" }?,
        SVG.XLinkEmbed.extra.attrib
    SVG.XLinkReplace.extra.attrib = empty
    SVG.XLinkReplace.attrib &=
        [ a:defaultValue = "simple" ]
        attribute xlink:type { string "simple" }?,
        (
        attribute xlink:href { URI.datatype }?
        &
        attribute href { URI.datatype }?
        ),
        attribute xlink:role { URI.datatype }?,
        attribute xlink:arcrole { URI.datatype }?,
        attribute xlink:title { text }?,
        [ a:defaultValue = "replace" ]
        attribute xlink:show { string "new" | string "replace" }?,
        [ a:defaultValue = "onRequest" ]
        attribute xlink:actuate { string "onRequest" }?,
        SVG.XLinkReplace.extra.attrib
}
