<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Common Attributes Module -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
       xmlns:forms="http://bitflux.org/forms">

    <define name="id.attrib">
        <optional>
            <attribute name="id">
                <ref name="ID.datatype"/>
            </attribute>
        </optional>
    </define>

    <define name="class.attrib">
        <optional>
            <attribute name="class">
                <ref name="NMTOKENS.datatype"/>
            </attribute>
        </optional>
    </define>

    <define name="title.attrib">
        <optional>
            <attribute name="title">
                <ref name="Text.datatype"/>
            </attribute>
        </optional>
    </define>

    <define name="Core.attrib">
        <ref name="id.attrib"/>
        <ref name="class.attrib"/>
        <ref name="title.attrib"/>
        <optional>
            <attribute name="style">
                <ref name="Text.datatype"/>
            </attribute>
        </optional>
        <optional>
            <attribute name="name">
                <ref name="Text.datatype"/>
            </attribute>
        </optional>
  <!-- patforms -->
        <optional>
            <attribute name="fieldErrorID">
                <data type="NCName"/>
            </attribute>
        </optional>
<!--i18n -->
        <optional>
            <attribute name="attr">
                <data type="NCName"/>
            </attribute>
        </optional>
    </define>

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

    <define name="I18n.attrib">
        <ref name="lang.attrib"/>
    </define>

    <define name="Common.attrib">
        <ref name="Core.attrib"/>
        <ref name="I18n.attrib"/>
    </define>

    <define name="CommonIdRequired.attrib">
        <attribute name="id">
            <ref name="ID.datatype"/>
        </attribute>
        <ref name="class.attrib"/>
        <ref name="title.attrib"/>
        <ref name="I18n.attrib"/>
    </define>

</grammar>
