
<!-- ==============================================================
      SVG12-RNG | Core attributes
     ============================================================== -->

<grammar ns='http://www.w3.org/2000/svg'
         xml:lang='en'
         xmlns='http://relaxng.org/ns/structure/1.0'
         xmlns:a='http://relaxng.org/ns/compatibility/annotations/1.0'
         datatypeLibrary='http://www.w3.org/2001/XMLSchema-datatypes'
         >

  <define name='SVG.id.attrib'>
    <optional>
      <attribute name='id'>
        <data type='ID'/>
      </attribute>
    </optional>
  </define>

  <define name='SVG.base.attrib'>
    <optional>
      <attribute name='xml:base'>
        <ref name='URI.datatype'/>
      </attribute>
    </optional>
  </define>

  <define name='SVG.lang.attrib'>
    <optional>
      <attribute name='xml:lang'>
        <ref name='LanguageCode.datatype'/>
      </attribute>
    </optional>
  </define>

  <define name='SVG.space.attrib'>
    <optional>
      <attribute name='xml:space'>
        <choice>
          <value>default</value>
          <value>preserve</value>
        </choice>
      </attribute>
    </optional>
  </define>

  <define name='SVG.Core.attrib'>
    <ref name='SVG.id.attrib'/>
    <ref name='SVG.base.attrib'/>
    <ref name='SVG.lang.attrib'/>
    <ref name='SVG.space.attrib'/>
  </define>

  <define name='SVG.CorePreserve.attrib'>
    <ref name='SVG.id.attrib'/>
    <ref name='SVG.base.attrib'/>
    <ref name='SVG.lang.attrib'/>
    <optional>
      <attribute name='xml:space' a:defaultValue='preserve'>
        <value>preserve</value>
      </attribute>
    </optional>
  </define>

</grammar>
