The binding element allows to specify a binding which is specific to a given document type. A binding element binds a user input, for example a sequence of key strokes, to a command.
Excerpts from rng_section_config/common.incl (same file for all variants):
<property name="$c blockList">
  {http://www.xmlmind.com/ns/sect}paragraph=paragraph
</property>
<binding>
  <keyPressed code="ENTER" /> <command name="insertNewlineOrSplitBlock" />
</binding>
...
<binding>
  <keyPressed code="DELETE" />
  <command name="deleteSelectionOrJoinBlockOrDeleteChar" />
</binding>
<binding>
  <keyPressed code="BACK_SPACE" />
  <command name="deleteSelectionOrJoinBlockOrDeleteChar" 
           parameter="backwards" />
</binding>
...
<binding>
  <keyPressed code="ENTER" modifiers="shift" />
  <command name="insertNewlineOrSplitBlock" />
</binding>
...
<binding>
  <keyPressed code="DELETE" />
  <command name="deleteSelectionOrJoinBlockOrDeleteChar" />
</binding>
<binding>
  <keyPressed code="BACK_SPACE" />
  <command name="deleteSelectionOrJoinBlockOrDeleteChar" 
           parameter="backwards" />
</binding>
...
<binding>
  <keyPressed code="ENTER" modifiers="shift" /> <command name="sect.insertBreak" />
</binding>
  <command name="sect.insertBreak" />
</binding>| When a user presses the ENTER, DELETE, or BACK_SPACE key while the caret is found inside a  <property name="$c blockList">
  {http://www.xmlmind.com/ns/sect}paragraph=paragraph
</property>Notice " | |
| When the user presses Shift+ENTER, we want XXE to add a  |