<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
         xmlns:x="http://www.w3.org/1999/xhtml">

<x:h1>Bi-directional Text Module</x:h1>

<define name="bdo">
  <element name="bdo">
    <ref name="bdo.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="bdo.attlist">
  <ref name="Core.attrib"/>
  <!-- xml:lang is missing in the spec, this must be an oversight -->
  <ref name="lang.attrib"/>
  <ref name="dir.attrib"/>
</define>

<define name="dir.attrib">
  <attribute name="dir">
    <choice>
      <value>ltr</value>
      <value>rtl</value>
    </choice>
  </attribute>
</define>

<define name="I18n.attrib" combine="interleave">
  <optional>
    <ref name="dir.attrib"/>
  </optional>
</define>

<define name="Inline.class" combine="choice">
  <ref name="bdo"/>
</define>

</grammar>