<?xml version="1.0" encoding="UTF-8"?>
<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
  <a:documentation>
    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$
  </a:documentation>
  <a:documentation>
    XLink Attribute

       type, href, role, arcrole, title, show, actuate

    This module defines the XLink, XLinkRequired, XLinkEmbed, and
    XLinkReplace attribute set.
  </a:documentation>
  <define name="SVG.XLink.extra.attrib">
    <empty/>
  </define>
  <define name="SVG.XLink.attrib" combine="interleave">
    <optional>
      <attribute name="xlink:type" a:defaultValue="simple">
        <value type="string">simple</value>
      </attribute>
    </optional>
    <interleave>
      <optional>
        <attribute name="xlink:href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
    </interleave>
    <optional>
      <attribute name="xlink:role">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:arcrole">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:title"/>
    </optional>
    <optional>
      <attribute name="xlink:show" a:defaultValue="other">
        <value type="string">other</value>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:actuate" a:defaultValue="onLoad">
        <value type="string">onLoad</value>
      </attribute>
    </optional>
    <ref name="SVG.XLink.extra.attrib"/>
  </define>
  <define name="SVG.XLinkRequired.extra.attrib">
    <empty/>
  </define>
  <define name="SVG.XLinkRequired.attrib" combine="interleave">
    <optional>
      <attribute name="xlink:type" a:defaultValue="simple">
        <value type="string">simple</value>
      </attribute>
    </optional>
    <interleave>
      <optional>
        <attribute name="xlink:href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
    </interleave>
    <optional>
      <attribute name="xlink:role">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:arcrole">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:title"/>
    </optional>
    <optional>
      <attribute name="xlink:show" a:defaultValue="other">
        <value type="string">other</value>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:actuate" a:defaultValue="onLoad">
        <value type="string">onLoad</value>
      </attribute>
    </optional>
    <ref name="SVG.XLinkRequired.extra.attrib"/>
  </define>
  <define name="SVG.XLinkEmbed.extra.attrib">
    <empty/>
  </define>
  <define name="SVG.XLinkEmbed.attrib" combine="interleave">
    <optional>
      <attribute name="xlink:type" a:defaultValue="simple">
        <value type="string">simple</value>
      </attribute>
    </optional>
    <interleave>
      <optional>
        <attribute name="xlink:href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
    </interleave>
    <optional>
      <attribute name="xlink:role">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:arcrole">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:title"/>
    </optional>
    <optional>
      <attribute name="xlink:show" a:defaultValue="embed">
        <value type="string">embed</value>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:actuate" a:defaultValue="onLoad">
        <value type="string">onLoad</value>
      </attribute>
    </optional>
    <ref name="SVG.XLinkEmbed.extra.attrib"/>
  </define>
  <define name="SVG.XLinkReplace.extra.attrib">
    <empty/>
  </define>
  <define name="SVG.XLinkReplace.attrib" combine="interleave">
    <optional>
      <attribute name="xlink:type" a:defaultValue="simple">
        <value type="string">simple</value>
      </attribute>
    </optional>
    <interleave>
      <optional>
        <attribute name="xlink:href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
      <optional>
        <attribute name="href">
          <ref name="URI.datatype"/>
        </attribute>
      </optional>
    </interleave>
    <optional>
      <attribute name="xlink:role">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:arcrole">
        <ref name="URI.datatype"/>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:title"/>
    </optional>
    <optional>
      <attribute name="xlink:show" a:defaultValue="replace">
        <choice>
          <value type="string">new</value>
          <value type="string">replace</value>
        </choice>
      </attribute>
    </optional>
    <optional>
      <attribute name="xlink:actuate" a:defaultValue="onRequest">
        <value type="string">onRequest</value>
      </attribute>
    </optional>
    <ref name="SVG.XLinkReplace.extra.attrib"/>
  </define>
</grammar>
