fm version is "15.0";

/*
 * Include all ISO entity mapping rules.
 */

#include "isoall.rw"

writer external dtd is public "-//W3C//DTD XHTML 1.0 Transitional//EN" "dtd";

element "table"
{
  is fm table element "table";
  fm property columns value is "100";

  attribute "frame"
  {
    is fm property table border ruling;
    value "void" is fm property value none;
    value "above" is fm property value top;
    value "below" is fm property value bottom;
    value "hsides" is fm property value top and bottom;
    value "lhs" is fm property value left;
    value "rhs" is fm property value right;
    value "vsides" is fm property value sides;
    value "box" is fm property value all;
    value "border" is fm property value all; 
  }
}

element "caption" is fm table title element;
element "thead" is fm table heading element;
element "tbody" is fm table body element;
element "tfoot" is fm table footing element;
element "tr" is fm table row element;
element "td" 
{
  is fm table cell element;
  attribute "colspan" is fm property horizontal straddle;
  attribute "rowspan" is fm property vertical straddle;
  attribute "align" is fm attribute;
  attribute "valign" is fm attribute;
  attribute "charoff" is fm attribute;
  attribute "char" is fm attribute;
}

element "th" 
{
  is fm table cell element;
  attribute "colspan" is fm property horizontal straddle;
  attribute "rowspan" is fm property vertical straddle;
  attribute "align" is fm attribute;
  attribute "valign" is fm attribute;
  attribute "charoff" is fm attribute;
  attribute "char" is fm attribute;
}

element "colgroup" drop;
element "col" drop;

/*
 * Graphic Image elements image and object.
 */
element "img"
{
  is fm graphic element;
  writer facet default specify size in pt;
  attribute "src" is fm property file;
  fm property import by reference or copy value is "ref";
  attribute "align"
  {
    is fm property alignment;
    value "left" is fm property value align left;
    value "middle" is fm property value align center;
    value "right" is fm property value align right;
    value "top" is fm property value top;
    value "bottom" is fm property value bottom;
  }
}

element "object" 
{
  is fm graphic element;
  attribute "data" is fm property file;
  fm property import by reference or copy value is "ref";
  attribute "align"
  {
    is fm property alignment;
    value "left" is fm property value align left;
    value "middle" is fm property value align center;
    value "right" is fm property value align right;
    value "top" is fm property value top;
    value "bottom" is fm property value bottom;
  }
}

/*
 * drop non-element markers. These are created to support hypertext
 * linking. An "a" element is converted and a "gotolink" marker are created.
 * We need to drop these markers on export to xhtml.
 */
fm marker "Hypertext", "Cross-Ref" drop;

element "title"
{
  is fm marker element "title";
  marker text is content;
}

/* 
 * We do not need to write out processing instructions so we drop them.
 */
processing instruction drop;

/*
 * Deprecated elements
 */
element "font" unwrap;
element "center" unwrap;

element "textarea"
{
	is fm element;
	attribute "cols" is fm attribute;
}