<?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>Edit Module</x:h1>

<div>
<x:h2>del</x:h2>

<define name="del-block">
  <element name="del">
    <ref name="del.attlist"/>
    <ref name="Flow.model"/>
  </element>
</define>

<define name="del-inline">
  <x:p>Only allow inline content when used inline</x:p>
  <element name="del">
    <ref name="del.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="del.attlist">
  <ref name="Common.attrib"/>
  <ref name="Edit.attrib"/>
</define>
</div>

<div>
<x:h2>ins</x:h2>

<define name="ins-block">
  <element name="ins">
    <ref name="ins.attlist"/>
    <ref name="Flow.model"/>
  </element>
</define>

<define name="ins-inline">
  <x:p>Only allow inline content when used inline</x:p>
  <element name="ins">
    <ref name="ins.attlist"/>
    <ref name="Inline.model"/>
  </element>
</define>

<define name="ins.attlist">
  <ref name="Common.attrib"/>
  <ref name="Edit.attrib"/>
</define>
</div>

<define name="Edit.attrib">
<!--
  <optional>
    <attribute name="cite">
      <ref name="URI.datatype"/>
    </attribute>
  </optional>
-->
  <optional>
    <attribute name="datetime">
      <ref name="Datetime.datatype"/>
    </attribute>
  </optional>
</define>

<define name="Edit-block.class">
  <choice>
    <ref name="del-block"/>
    <ref name="ins-block"/>
  </choice>
</define>

<define name="Edit-inline.class">
  <choice>
    <ref name="del-inline"/>
    <ref name="ins-inline"/>
  </choice>
</define>

<define name="Block.class" combine="choice">
  <ref name="Edit-block.class"/>
</define>

<define name="Inline.class" combine="choice">
  <ref name="Edit-inline.class"/>
</define>

</grammar>
