fm version is "15.0";

#include "isoall.rw"

/* Preserve some element definitions for assorted reasons:
   - Navigation components have different models in the FrameMaker+SGML and SGML
      views.
   - Instead of DocBooks unlimited possible values for the Mark attribute of ItemizedList
     (and the corresponding Override attribute of ListItem), this implementation allows only
    an enumerated list of possibilities
  - Use the Role attribute on Graphic and InlineGraphic to control the initial
    object format; provide an explicit choice of values
  - Store Comments in FM Type 18 Markers (hence do not allow subelements)
  - Set order of attributes for XRef
  - The name token "faxtile" appears in the declared value of some notation attributes
    even though it is not a declared notation type
 */
reader preserve fm element definition "Graphic", "Index", "IndexTerm",
  "InlineGraphic", "ItemizedList", "ListItem", "LoT", "ModeSpec", "SetIndex", 
  "ToC", "XRef";

/* Book structure */
reader generate book for  doctype "set", "book", "part"
  {
    put element "appendix" in file "app.fm";
    put element "article" in file "art.fm";
    put element "bibliography" in file "biblio.fm";
    put element "bookinfo" in file "info.fm";
    put element "chapter" in file "chap.fm";
    put element "colophon" in file "colo.fm";
    put element "dedication" in file "dedicate.fm";
    put element "glossary" in file "gloss.fm";
    put element "index" in file;
    put element "lot" in file;
    put element "part" in file;
    put element "preface" in file "preface.fm";
    put element "refentry" in file "refent.fm";
    put element "reference" in file "ref.fm";
    put element "setindex" in file "setind.fm";
    put element "setinfo" in file "info.fm";
    put element "title" in file;
    put element "titleabbrev" in file "titlea.fm";
    put element "toc" in file "toc.fm";
 }
writer do not output book processing instructions;

/* Rules for case in tokens of name token groups used in declared values in attribute
    definitions. */
value "added" is fm value "Added";
value "CDRom" is fm value "CDRom";
value "CGM-BINARY" is fm value "CGM-BINARY";
value "CGM-CHAR" is fm value "CGM-CHAR";
value "CGM-CLEAR" is fm value "CGM-CLEAR";
value "changed" is fm value "Changed";
value "deleted" is fm value "Deleted";
value "DITROFF" is fm value "DITROFF";
value "DVI" is fm value "DVI";
value "EnvironVar" is fm value "EnvironVar";
value "EPS" is fm value "EPS";
value "EQN" is fm value "EQN";
value "FAX" is fm value "FAX";
value "genentity" is fm value "GenEntity";
value "GIF" is fm value "GIF";
value "IGES" is fm value "IGES";
value "MenuItem" is fm value "MenuItem";
value "none" is fm value "None";
value "nuber" is fm value "Number";
value "off" is fm value "Off";
value "osname" is fm value "OSname";
value "ParamEntity" is fm value "ParamEntity";
value "PIC" is fm value "PIC";
value "PS" is fm value "PS";
value "qanda" is fm value "QandA";
value "refentry" is fm value "RefEntry";
value "systemname" is fm value "SystemName";
value "TBL" is fm value "TBL";
value "TEX" is fm value "TEX";
value "TIFF" is fm value "TIFF";

/* Rules for case of attribute names. */
attribute "arch" is fm attribute "Arch";
attribute "audience" is fm attribute "Audience";
attribute "condition" is fm attribute "Condition";
attribute "conformance" is fm attribute "Conformance";
attribute "defaultlabel" is fm attribute "DefaultLabel";
attribute "fpi" is fm attribute "FPI";
attribute "id" is fm attribute "Id";
attribute "inheritnum" is fm attribute "InheritNum";
attribute "lang" is fm attribute "Lang";
attribute "levle" is fm attribute "Level";
attribute "linkmode" is fm attribute "LinkMode";
attribute "localinfo" is fm attribute "LocalInfo";
attribute "moreinfo" is fm attribute "MoreInfo";
attribute "origin" is fm attribute "Origin";
attribute "os" is fm attribute "OS";
attribute "otherterm" is fm attribute "OtherTerm";
attribute "pagenum" is fm attribute "Pagenum";
attribute "parentbook" is fm attribute "ParentBook";
attribute "relation" is fm attribute "Relation";
attribute "remap" is fm attribute "Remap";
attribute "revisionflag" is fm attribute "RevisionFlag";
attribute "role" is fm attribute "Role";
attribute "security" is fm attribute"Security";
attribute "sortas" is fm attribute "SortAs";
attribute "spanend" is fm attribute "SpanEnd";
attribute "srccredit" is fm attribute "SrcCredit";
attribute "tgroupstyle" is fm attribute "TGroupStyle";
attribute "targetdocent" is fm attribute "TargetDocEnt";
attribute "url" is fm attribute "URL";
attribute "weight" is fm attribute "Weight";
attribute "userlevel" is fm attribute "UserLevel";
attribute "vendor" is fm attribute "Vendor";
attribute "xreflabel" is fm attribute "XRefLabel";

/* Element rules. Many of these rules simply capitalize letters other than the 	   initial one in
   FrameMaker+SGML element tags.*/

element "abbrev"
{
  is fm element "Abbrev";
}
element "abstract"
{
  is fm element "Abstract";
}
element "accel"
{
  is fm element "Accel";
}
element "acronym"
{
  is fm element "Acronym";
}
element "action"
{
  is fm element "Action";
}
element "address"
{
  is fm element "Address";
}
element "affiliation"
{
  is fm element "Affiliation";
}
element "alt"
{
  is fm element "Alt";
}
element "anchor"
{
  is fm element "Anchor";
}
element "answer" 
{
  is fm element "Answer";
}
element "appendix"
{
  is fm element "Appendix";
}
element "appendixinfo"
{
  is fm element "AppendixInfo";
}
element "application"
{
  is fm element "Application";
}

element "area" drop;

element "areaset" drop;

element "areaspec" drop;

element "article"
{
  is fm element "Article";
}
element "articleinfo"
{
  is fm element "ArticleInfo";
}
element "artpagenums"
{
  is fm element "ArtPageNums";
}
element "attribution"
{
  is fm element "Attribution";
}

element "audiodata" drop;

element "audioobject" drop;

element "author"
{
  is fm element "Author";
}
element "authorblurb"
{
  is fm element "AuthorBlurb";
}
element "authorgroup"
{
  is fm element "AuthorGroup";
}
element "authorinitials"
{
  is fm element "AuthorInitials";
}

/*
 * B 
 */

element "beginpage"
{
  is fm element "BeginPage";
}
element "biblioentry"
{
  is fm element "BiblioEntry";
}
element "bibliodiv"
{
  is fm element "BiblioDiv";
}
element "bibliography"
{
  is fm element "Bibliography";
}
element "bibliographyinfo"
{
  is fm element "BibliographyInfo";
}
element "bibliomisc"
{
  is fm element "BiblioMisc";
}
element "bibliomixed"
{
  is fm element "BiblioMixed";
}
element "bibliomset"
{
  is fm element "BiblioMSet";
}
element "biblioset"
{
  is fm element "BiblioSet";
}
element "blockquote"
{
   is fm element "BlockQuote";
}
element "bookinfo"
{
  is fm element "BookInfo";
}
element "bridgehead"
{
  is fm element "BridgeHead";
}

/*
 * C
 */

element "callout" 
{
  is fm footnote element "Callout";
}

element "calloutlist" drop;

element "caption"
{
  is fm element "Caption";
}
element "caution"
{
  is fm element "Caution";
}
element "chapter"
{
  is fm element "Chapter";
}
element "chapterinfo"
{
  is fm element "ChapterInfo";
}
element "citation"
{
  is fm element "Citation";
}
element "citerefentry"
{
  is fm element "CiteRefEntry";
}
element "citetitle"
{
  is fm element "CiteTitle";
}
element "classname"
{
  is fm element "Classname";
}
element "classsynopsis"
{
  is fm element "ClassSynopsis";
}
element "classsynopsisinfo"
{
  is fm element "ClassSynopsisInfo";
}
element "cmdsynopsis"
{
  is fm element "CmdSynopsis";
}

element "co" drop;

element "colophon"
{
  is fm element "Colophon";
}
element "collab"
{
  is fm element "Collab";
}
element "collabname"
{
  is fm element "CollabName";
}
element "command"
{
  is fm element "Command";
}
element "computeroutput"
{
  is fm element "ComputerOutput";
}
element "confdates"
{
  is fm element "ConfDates";
}
element "confgroup"
{
  is fm element "ConfGroup";
}
element "confnum"
{
  is fm element "ConfNum";
}
element "confsponsor"
{
  is fm element "ConfSponsor";
}
element "conftitle"
{
  is fm element "ConfTitle";
}
element "constant"
{
  is fm element "Constant";
}
element "constructorsynopsis"
{
  is fm element "ConstructorSynopsis";
}
element "contractnum"
{
  is fm element "ContractNum";
}
element "contractsponsor"
{
  is fm element "ContractSponsor";
}
element "contrib"
{
  is fm element "Contrib";
}
element "copyright"
{
  is fm element "Copyright";
}
element "corpauthor"
{
  is fm element "CorpAuthor";
}
element "corpname"
{
  is fm element "CorpName";
}

/*
 * D
 */

element "database"
{
  is fm element "Database";
}
element "date"
{
  is fm element "Date";
}
element "dedication"
{
  is fm element "Dedication";
}
element "destructorsynopsis"
{
  is fm element "DestructorSynopsis";
}

/*
 * E
 */

element "edition"
{
  is fm element "Edition";
}
element "editor"
{
  is fm element "Editor";
}
element "email"
{
  is fm element "Email";
}
element "emphasis"
{
  is fm element "Emphasis";
}
/*
 * FrameMaker+SGML does not support nested tables, so drop the element used
 * for this purpose.
 */
element "entrytbl"
{
  drop;
}
element "envar"
{
  is fm element "EnVar";
}
element "epigraph"
{
  is fm element "Epigraph";
}
element "equation"
{
  is fm element "Equation";
}
element "errorcode"
{
  is fm element "ErrorCode";
}
element "errorname"
{
  is fm element "ErrorName";
}
element "errortype"
{
  is fm element "ErrorType";
}
element "example"
{
  is fm element "Example";
}
element "exceptionname"
{
  is fm element "ExceptionName";
}

/*
 * F
 */

element "figure"
{
  is fm element "Figure";
}
element "fieldsynopsis"
{
  is fm element "FieldSynopsis";
}
element "filename"
{
  is fm element "Filename";
}
element "firstname"
{
  is fm element "FirstName";
}
element "firstterm"
{
  is fm element "FirstTerm";
}
element "footnote"
{
  is fm footnote element "Footnote";
}
element "footnoteref"
{
  is fm element "FootnoteRef";
}
element "foreignphrase"
{
  is fm element "ForeignPhrase";
}
element "formalpara"
{
  is fm element "FormalPara";
}
element "funcdef"
{
  is fm element "FuncDef";
}
element "funcparams"
{
  is fm element "FuncParams";
}
element "funcprototype"
{
  is fm element "FuncPrototype";
}
element "funcsynopsis"
{
  is fm element "FuncSynopsis";
}
element "funcsynopsisinfo"
{
  is fm element "FuncSynopsisInfo";
}
element "function"
{
  is fm element "Function";
}

/*
 * G
 */

element "glossary"
{
  is fm element "Glossary";
}
element "glossaryinfo"
{
  is fm element "GlossaryInfo";
}
element "glossdef"
{
  is fm element "GlossDef";
}
element "glossdiv"
{
  is fm element "GlossDiv";
}
element "glossentry"
{
  is fm element "GlossEntry";
}
element "glosslist"
{
  is fm element "GlossList";
}
element "glosssee"
{
  is fm element "GlossSee";
}
element "glossseealso"
{
  is fm element "GlossSeeAlso";
}
element "glossterm"
{
  is fm element "GlossTerm";
}
element "graphic"
{
  is fm graphic element "Graphic";
  attribute "fileref" is fm property file;
  attribute "entityref"
  {
    is fm property entity;
    is fm attribute;
  }
}

element "graphicco" drop;

element "guibutton"
{
  is fm element "GUIButton";
}
element "guiicon"
{
  is fm element "GUIIcon";
}
element "guilabel"
{
  is fm element "GUILabel";
}
element "guimenu"
{
  is fm element "GUIMenu";
}
element "guimenuitem"
{
  is fm element "GUIMenuItem";
}
element "guisubmenu"
{
  is fm element "GUISubmenu";
}

/*
 * H
 */

element "hardware"
{
  is fm element "Hardware";
}
element "highlights"
{
  is fm element "Highlights";
}
element "holder"
{
  is fm element "Holder";
}
element "honorific"
{
  is fm element "Honorific";
}

/*
 * I
 */

element "imagedata"
{
  is fm graphic element "ImageData";
  attribute "fileref" is fm property file;
  attribute "entityref" 
  {
    is fm property entity;
    is fm attribute;
  }
}
element "imageobject" 
{
  is fm element "ImageObject";
}

element "imageobjectco" drop;

element "important"
{
  is fm element "Important";
}
element "index"
{
  reader drop content;
  writer drop content;
}
element "indexdiv"
{
  drop;
}
element "indexentry"
{
  drop;
}
element "indexinfo"
{
  is fm element "IndexInfo";
}
element "indexterm"
{
  is fm marker element "IndexTerm";
}
element "informalequation"
{
  is fm element "InformalEquation";
}
element "informalexample"
{
  is fm element "InformalExample";
}
element "informalfigure"
{
  is fm element "InformalFigure";
}
element "informaltable"
{
  is fm element "InformalTable";
  attribute "colsep" is fm property column ruling;
  attribute "frame" is fm property table border ruling;
  attribute "orient" drop;
  attribute "pgwide" is fm property page wide;
  attribute "rowsep" is fm property row ruling;
  attribute "tabstyle" is fm property table format;
}
element "initializer" 
{
  is fm element "Initializer";
}
element "inlineequation"
  {
    is fm element "InlineEquation";
  }

element "inlinegraphic"
{
  is fm graphic element "InlineGraphic";
  attribute "fileref" is fm property file;
  attribute "entityref"
  {
    is fm property entity;
    is fm attribute;
  }
}
element "inlinemediaobject"
{
  is fm element "InlineMediaObject";
}
element "interfacename" 
{
  is fm element "InterfaceName";
}
element "interface" 
{
  is fm element "Interface";
}
element "invpartnumber"
{
  is fm element "InvPartNumber";
}
element "isbn"
{
  is fm element "ISBN";
}
element "issn"
{
  is fm element "ISSN";
}
element "issuenum"
{
  is fm element "IssueNum";
}
element "itemizedlist"
{
  is fm element "ItemizedList";
}
element "itermset"
{
  is fm element "ITermSet";
}

/*
 * J
 */

element "jobtitle"
{
  is fm element "JobTitle";
}

/*
 * K
 */

element "keycap"
{
  is fm element "KeyCap";
}
element "keycode"
{
  is fm element "KeyCode";
}
element "keycombo"
{
  is fm element "KeyCombo";
}
element "keysym"
{
  is fm element "KeySym";
}
element "keyword"
{
  is fm marker element "Keyword";
}
element "keywordset"
{
  is fm element "KeywordSet";
}

/*
 * L
 */

element "label" drop;

element "legalnotice"
{
  is fm element "LegalNotice";
}
element "lineage"
{
  is fm element "Lineage";
}
element "lineannotation"
{
  is fm element "LineAnnotation";
}
element "link"
{
  is fm element "Link";
}
element "listitem"
{
  is fm element "ListItem";
}
element "literal"
{
  is fm element "Literal";
}
element "literallayout"
{
  is fm element "LiteralLayout";
  preserve line breaks;
}
element "lot"
{
  is fm element "LoT";
  writer drop content;
  reader drop content;
}
element "lotentry" drop;

/*
 * M
 */

element "manvolnum"
{
  is fm element "ManVolNum";
}
element "markup"
{
  is fm element "Markup";
}
element "medialabel"
{
  is fm element "MediaLabel";
}
element "mediaobject"
{
  is fm element "MediaObject";
}
element "mediaobjectco"
{
  is fm element "MediaObjectCO";
}
element "memeber"
{
  is fm element "Member";
}
element "menuchoice"
{
  is fm element "MenuChoice";
}
element "methodname"
{
  is fm element "MethodName";
}
element "methodparam"
{
  is fm element "MethodParam";
}
element "methodsynopsis"
{
  is fm element "MethodSynopsis";
}
element "modespec"
{
  is fm element "ModeSpec";
}
element "modifier"
{
  is fm element "Modifier";
}
element "mousebutton"
{
  is fm element "MouseButton";
}
element "msg"
{
  is fm element "Msg";
}
element "msgaud"
{
  is fm element "MsgAud";
}
element "msgentry"
{
  is fm element "MsgEntry";
}
element "msgexplan"
{
  is fm element "MsgExplan";
}
element "msginfo"
{
  is fm element "MsgInfo";
}
element "msglevel"
{
  is fm element "MsgLevel";
}
element "msgmain"
{
  is fm element "MsgMain";
}
element "msgorig"
{
  is fm element "MsgOrig";
}
element "msgrel"
{
  is fm element "MsgRel";
}
element "msgset"
{
  is fm element "MsgSet";
}
element "msgsub"
{
  is fm element "MsgSub";
}
element "msgtext"
{
  is fm element "MsgText";
}
/*
 * N
 */

element "note"
{
  is fm element "Note";
}

/*
 * O
 */

element "objectinfo"
{
  is fm element "ObjectInfo";
}
element "olink"
{
  is fm element "OLink";
}
element "ooclass"
{
  is fm element "OoClass";
}
element "ooexception"
{
  is fm element "OoException";
}
element "oointerface"
{
  is fm element "OoInterface";
}
element "option"
{
  is fm element "Option";
}
element "optional"
{
  is fm element "Optional";
}
element "orderedlist"
{
  is fm element "OrderedList";
}
element "orgdiv"
{
  is fm element "OrgDiv";
}
element "orgname"
{
  is fm element "OrgName";
}
element "otheraddr"
{
  is fm element "OtherAddr";
}
element "othercredit"
{
  is fm element "OtherCredit";
}
element "othername"
{
  is fm element "OtherName";
}

/*
 * P
 */

element "pagenums"
{
  is fm element "PageNums";
}
element "para"
{
  is fm element "Para";
}
element "paramdef"
{
  is fm element "ParamDef";
}
element "parameter"
{
  is fm element "Parameter";
}
element "part"
{
  is fm element "Part";
}
element "partinfo"
{
  is fm element "PartInfo";
}
element "partintro"
{
  is fm element "PartIntro";
}
element "phrase"
{
  is fm element "Phrase";
}
element "pob"
{
  is fm element "POB";
}
element "publisher"
{
  is fm element "Publisher";
}
element "preface"
{
  is fm element "Preface";
}
element "prefaceinfo"
{
  is fm element "PrefaceInfo";
}
/* 
 * Primary is handled by the client during import
 * and export
 */
element "primaryie" drop;

element "printhistory"
{
  is fm element "PrintHistory";
}
element "procedure"
{
  is fm element "Procedure";
}
element "productname"
{
  is fm element "ProductName";
}
element "productnumber"
{
  is fm element "ProductNumber";
}
element "programlisting"
{
  is fm element "ProgramListing";
}

element "programlistingco"  drop;

element "property"
{  is fm element "Property";
}
element "prompt"
{
  is fm element "Prompt";
}
element "pubdate"
{
  is fm element "PubDate";
}
element "publisher"
{
  is fm element "Publisher";
}
element "publishername"
{
  is fm element "PublisherName";
}
element "pubsnumber"
{
  is fm element "PubsNumber";
}

/* 
 * Q
 */

element "qandadiv"
{
  is fm element "QandADiv";
}
element "qandaentry"
{
  is fm element "QandAEntry";
}
element "qandaset"
{
  is fm element "QandASet";
}
element "question"
{
  is fm element "Question";
}
element "quote"
{
  is fm element "Quote";
}

/*
 * R
 */

element "refclass"
{
  is fm element "RefClass";
}
element "refdescriptor"
{
  is fm element "RefDescriptor";
}
element "refentry"
{
  is fm element "RefEntry";
}
element "refentryinfo"
{
  is fm element "RefEntryInfo";
}
element "refentrytitle"
{
  is fm element "RefEntryTitle";
}
element "reference"
{
  is fm element "Reference";
}
element "referenceinfo"
{
  is fm element "ReferenceInfo";
}
element "refmeta"
{
  is fm element "RefMeta";
}
element "refmiscinfo"
{
  is fm element "RefMiscInfo";
}
element "refname"
{
  is fm element "RefName";
}
element "refnamediv"
{
  is fm element "RefNameDiv";
}
element "refpurpose"
{
  is fm element "RefPurpose";
}
element "refsect1"
{
  is fm element "RefSect1";
}
element "refsect1info"
{
  is fm element "RefSect1Info";
}
element "refsect2"
{
  is fm element "RefSect2";
}
element "refsect2info"
{
  is fm element "RefSect2Info";
}
element "refsect3"
{
  is fm element "RefSect3";
}
element "refsect3info"
{
  is fm element "RefSect3Info";
}
element "refsynopsisdiv"
{
  is fm element "RefSynopsisDiv";
}
element "refsynopsisdivinfo"
{
  is fm element "RefSynopsisDivInfo";
}
element "releaseinfo"
{
  is fm marker element "ReleaseInfo";
  marker text is content;
}
element "remark"
{
  is fm marker element;
  marker text is content;
}
element "replaceable"
{
  is fm element "Replaceable";
}
element "returnvalue"
{
  is fm element "ReturnValue";
}
element "revdescription"
{
  is fm element "RevDescription";
}
element "revhistory"
{
  is fm element "RevHistory";
}
element "revision"
{
  is fm element "Revision";
}
element "revnumber"
{
  is fm element "RevNumber";
}
element "revremark"
{
  is fm element "Revremark";
}

/*
 * S
 */

element "sbr"
{
  is fm element "Sbr";
}
element "screen"
{
  preserve line breaks;
  is fm element "Screen";
}

element "screenco" drop;

element "screeninfo"
{
  is fm element "ScreenInfo";
}
element "screenshot"
{
  is fm element "ScreenShot";
}
/*
 * Secondary is handled by the client during import and export
 */
element "secondaryie" drop;

element "sect1"
{
  is fm element "Sect1";
}
element "sect1info"
{
  is fm element "Sect1Info";
}
element "sect2"
{
  is fm element "Sect2";
}
element "sect2info"
{
  is fm element "Sect2Info";
}
element "sect3"
{
  is fm element "Sect3";
}
element "sect3info"
{
  is fm element "Sect3Info";
}
element "sect4"
{
  is fm element "Sect4";
}
element "sect4info"
{
  is fm element "Sect4Info";
}
element "sect5"
{
  is fm element "Sect5";
}
element "sect5info"
{
  is fm element "Sect5Info";
}
element "section"
{
  is fm element "Section";
}
element "sectioninfo"
{
  is fm element "SectionInfo";
}
/*
 * See is handled by the client during import and export 
 */
/* 
 * SeeAlso is handled by the client during import and export 
 */
element "seealsoie" drop;

element "seeie" drop;

element "seg"
{
  is fm element "Seg";
}
element "seglistitem"
{
  is fm element "SegListItem";
}
element "segtitle"
{
  is fm element "SegTitle";
}
element "segmentedlist"
{
  is fm element "SegmentedList";
}
element "seriesvolnums"
{
  is fm element "SeriesVolNums";
}
element "set"
{
  is fm element "Set";
}
element "setindex"
{
  is fm element "SetIndex";
  reader drop content;
  writer drop content;
}
element "setindexinfo"
{
  is fm element "SetIndexInfo";
}
element "setinfo"
{
  is fm element "SetInfo";
}
element "sgmltag"
{
  is fm element "SGMLTag";
}
element "shortaffil"
{
  is fm element "ShortAffil";
}
element "shortcut"
{
  is fm element "Shortcut";
}
element "sidebar"
{
  is fm element "Sidebar";
}
element "sidebarinfo"
{
  is fm element "SidebarInfo";
}
element "simpara"
{
  is fm element "SimPara";
}
element "simplelist"
{
  is fm element "SimpleList";
}
element "simplemsgentry"
{
  is fm element "SimpleMsgEntry";
}
element "simplesect"
{
  is fm element "SimpleSect";
}
element "step"
{
  is fm element "Step";
}
element "structfield"
{
  is fm element "StructField";
}
element "structname"
{
  is fm element "StructName";
}
element "subject"
{
  is fm element "Subject";
}
element "subjectset"
{
  is fm element "SubjectSet";
}
element "subjectterm"
{
  is fm marker element;
  marker text is content;
}
element "subscript"
{  is fm element "Subscript";
}
element "substeps"
{
  is fm element "SubSteps";
}
element "subtitle"
{
  is fm element "Subtitle";
}
element "superscript"
{
  is fm element "Superscript";
}
element "surname"
{
  is fm element "Surname";
}
element "symbol"
{
  is fm element "Symbol";
}
element "synopfragment"
{
  is fm element "SynopFragment";
}
element "synopfragmentref"
{
  is fm element "SynopFragmentRef";
}
element "synopsis"
{
  is fm element "Synopsis";
}
element "systemitem"
{
  is fm element "SystemItem";
}

/*
 * T
 */

element "table"
{
  is fm element "Table";
  attribute "orient" drop;
}
element "tbody"
{
  is fm table body element "TBody";
}

element "term"
{
  is fm element "Term";
}

/* 
 * Tertiary is handled by the client during import and export
 */

element "tertiaryie" drop;

element "tfoot"
{
  is fm table footing element "TFoot";
}
element "tgroup"
{
  is fm table element "TGroup";
  attribute "tgroupstyle" is fm property table format;
}
element "thead"
{
  is fm table heading element "THead";
}
element "tip"
{
  is fm element "Tip";
}
element "title"
{
   is fm element "Title";
}
element "titleabbrev"
{
  is fm element "TitleAbbrev";
}

/*
 * exporting the ToC element to the DocBook DTD is not implemented.
 */
fm element "toc" drop;

element "toc"
{
  is fm element "ToC";
  reader drop content;
}

element "tocback" drop;

element "tocchap" drop;

element "tocentry" drop;

element "tocfront" drop;

element "toclevel1" drop;

element "toclevel2" drop;

element "toclevel3" drop;

element "toclevel4" drop;

element "toclevel5" drop;

element "tocpart" drop;

element "textobject"
{
  is fm element "TextObject";
}
element "token"
{
  is fm element "Token";
}
element "trademark"
{
  is fm element "Trademark";
}
element "type"
{
  is fm element "Type";
}

/*
 * U
 */

/*
 * ULink is handled by the client during import and export
 */

element "userinput"
{
  is fm element "UserInput";
}

/*
 * V
 */

element "varlistentry"
{
  is fm element "VarListEntry";
}
element "variablelist"
{
  is fm element "VariableList";
}
element "varname"
{
  is fm element "VarName";
}
element "varargs"
{
  is fm element "varargs";
}

element "videodata" drop;

element "videoobject" drop;

element "volumenum"
{
  is fm element "VolumeNum";
}
element "void"
{
  is fm element "void";
}
element "warning"
{
  is fm element "Warning";
}
element "wordasword"
{
  is fm element "WordAsWord";
}
element "xref"
{
  is fm cross-reference element "XRef"; 
  attribute "role" is fm property cross-reference format;
  attribute "linkend" is fm property cross-reference id;
}
element "year"
{
  is fm element "Year";
}



