<?xml version="1.0" encoding="UTF-8"?>
<!-- datatypes w = "http://whattf.org/datatype-draft" -->
<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
  <a:documentation>
    SVG 1.1 Datatypes Module
    file: svg-datatypes.mod

    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-2012 Mozilla Foundation

    $Id$
  </a:documentation>
  <a:documentation>
    Datatypes

    This module declares common data types for properties and attributes.
  </a:documentation>
  <a:documentation>
    feature specification
  </a:documentation>
  <define name="Boolean.datatype">
    <choice>
      <value>false</value>
      <value>true</value>
    </choice>
  </define>
  <define name="ClipFillRule.datatype">
    <a:documentation>
      'clip-rule' or 'fill-rule' property/attribute value
    </a:documentation>
    <choice>
      <value>nonzero</value>
      <value>evenodd</value>
      <value>inherit</value>
    </choice>
  </define>
  <define name="ContentType.datatype">
    <a:documentation>
      media type, as per [RFC2045]
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Coordinate.datatype">
    <a:documentation>
      a &lt;coordinate&gt;
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Coordinates.datatype">
    <a:documentation>
      a list of &lt;coordinate&gt;s
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Color.datatype">
    <a:documentation>
      a &lt;color&gt; value
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Integer.datatype">
    <a:documentation>
      a &lt;integer&gt;
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="LanguageCode.datatype">
    <a:documentation>
      a language code, as per [RFC3066]
    </a:documentation>
    <choice>
      <data type="language"/>
      <value type="string" datatypeLibrary=""/>
    </choice>
  </define>
  <define name="LanguageCodes.datatype">
    <a:documentation>
      comma-separated list of language codes, as per [RFC3066]
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Length.datatype">
    <a:documentation>
      a &lt;ength&gt;
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Lengths.datatype">
    <a:documentation>
      a list of &lt;length&gt;s
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Number.datatype">
    <a:documentation>
      a &lt;number&gt;
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Numbers.datatype">
    <a:documentation>
      a list of &lt;number&gt;s
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="OpacityValue.datatype">
    <a:documentation>
      opacity value (e.g., &lt;number&gt;)
    </a:documentation>
    <data type="string"/>
  </define>
  <!--    PathData.datatype = w:svg-pathdata -->
  <define name="PathData.datatype">
    <a:documentation>
      a path data specification
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="PreserveAspectRatioSpec.datatype">
    <a:documentation>
      'preserveAspectRatio' attribute specification
    </a:documentation>
    <data type="string">
      <param name="pattern">([ \t\r\n])*(defer([ \t\r\n])+)?(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)(([ \t\r\n])+(meet|slice))?([ \t\r\n])*</param>
    </data>
  </define>
  <define name="Script.datatype">
    <a:documentation>
      script expression
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="SVGColor.datatype">
    <a:documentation>
      An SVG color value (RGB plus optional ICC)
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="Text.datatype">
    <a:documentation>
      arbitrary text string
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="TransformList.datatype">
    <a:documentation>
      list of transforms
    </a:documentation>
    <data type="string"/>
  </define>
  <define name="URI.datatype">
    <a:documentation>
      a Uniform Resource Identifier, see [URI]
    </a:documentation>
    <data type="anyURI"/>
  </define>
  <define name="ViewBoxSpec.datatype">
    <a:documentation>
      'viewBox' attribute specification
    </a:documentation>
    <data type="string"/>
  </define>
</grammar>
