xml.h 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /* xml.h -- xml (including Docbook) output declarations.
  2. $Id: xml.h,v 1.33 2011-04-06 21:32:42 gray Exp $
  3. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008
  4. Free Software Foundation, Inc.
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. Originally written by Philippe Martin <feloy@free.fr>. */
  16. #ifndef XML_H
  17. #define XML_H
  18. /* Currently sorting the index. */
  19. extern int xml_sort_index;
  20. /* Options. */
  21. extern int xml_no_indent;
  22. extern int xml_node_open;
  23. extern int xml_no_para;
  24. extern char *xml_node_id;
  25. extern int xml_last_section_output_position;
  26. extern int xml_in_xref_token;
  27. extern int xml_in_bookinfo;
  28. extern int xml_in_book_title;
  29. extern int xml_in_abstract;
  30. /* Non-zero if we are handling an element that can appear between
  31. @item and @itemx, @deffn and @deffnx. */
  32. extern int xml_dont_touch_items_defs;
  33. /* Non-zero if whitespace in the source document should be kept as-is. */
  34. extern int xml_keep_space;
  35. enum xml_element
  36. {
  37. TEXINFO=0, SETFILENAME, TITLEFONT, SETTITLE, DOCUMENTDESCRIPTION,
  38. /* Node */
  39. NODE, NODENEXT, NODEPREV, NODEUP,
  40. /* Structuring */
  41. CHAPTER, SECTION, SUBSECTION, SUBSUBSECTION,
  42. TOP, UNNUMBERED, UNNUMBEREDSEC, UNNUMBEREDSUBSEC,
  43. UNNUMBEREDSUBSUBSEC,
  44. APPENDIX, APPENDIXSEC, APPENDIXSUBSEC, APPENDIXSUBSUBSEC,
  45. MAJORHEADING, CHAPHEADING, HEADING, SUBHEADING, SUBSUBHEADING,
  46. /* Titlepage */
  47. TITLEPAGE, AUTHOR, BOOKTITLE, BOOKSUBTITLE,
  48. /* Menu */
  49. MENU, DETAILMENU, MENUENTRY, MENUTITLE, MENUCOMMENT, MENUNODE,
  50. NODENAME,
  51. /* -- */
  52. ACRONYM, ACRONYMWORD, ACRONYMDESC,
  53. ABBREV, ABBREVWORD, ABBREVDESC,
  54. TT, CODE, COMMAND_TAG, ENV, FILE_TAG, OPTION, SAMP, KBD, URL, KEY,
  55. VAR, SC, DFN, EMPH, STRONG, CITE, NOTFIXEDWIDTH, I, B, R, SLANTED, SANSSERIF,
  56. EXDENT,
  57. TITLE,
  58. IFINFO,
  59. SP, CENTER,
  60. DIRCATEGORY,
  61. QUOTATION, EXAMPLE, SMALLEXAMPLE, LISP, SMALLLISP, CARTOUCHE,
  62. COPYING, FORMAT, SMALLFORMAT, DISPLAY, SMALLDISPLAY, VERBATIM,
  63. FOOTNOTE, LINEANNOTATION,
  64. TIP, NOTE, IMPORTANT, WARNING, CAUTION,
  65. ITEMIZE, ITEMFUNCTION, ITEM, ENUMERATE, TABLE, TABLEITEM, TABLETERM,
  66. INDEXTERM,
  67. MATH, DIMENSION,
  68. CLICKSEQUENCE, CLICK,
  69. XREF, XREFNODENAME, XREFINFONAME, XREFPRINTEDDESC, XREFINFOFILE,
  70. XREFPRINTEDNAME,
  71. INFOREF, INFOREFNODENAME, INFOREFREFNAME, INFOREFINFONAME,
  72. UREF, UREFURL, UREFDESC, UREFREPLACEMENT,
  73. EMAIL, EMAILADDRESS, EMAILNAME,
  74. GROUP, FLOAT, FLOATTYPE, FLOATPOS, CAPTION, SHORTCAPTION,
  75. FLOATTABLE, FLOATFIGURE, FLOATEXAMPLE, FLOATCARTOUCHE,
  76. PRINTINDEX, LISTOFFLOATS,
  77. ANCHOR,
  78. IMAGE, INLINEIMAGE, IMAGEALTTEXT,
  79. PRIMARY, SECONDARY, INFORMALFIGURE, MEDIAOBJECT, IMAGEOBJECT,
  80. IMAGEDATA, TEXTOBJECT,
  81. INDEXENTRY, PRIMARYIE, SECONDARYIE, INDEXDIV,
  82. MULTITABLE, TGROUP, COLSPEC, THEAD, TBODY, ENTRY, ROW,
  83. BOOKINFO, ABSTRACT, REPLACEABLE, ENVAR, COMMENT, FUNCTION, LEGALNOTICE,
  84. CONTENTS, SHORTCONTENTS, DOCUMENTLANGUAGE,
  85. SETVALUE, CLEARVALUE,
  86. DEFINITION, DEFINITIONTERM, DEFINITIONITEM,
  87. DEFCATEGORY, DEFFUNCTION, DEFVARIABLE, DEFPARAM, DEFDELIMITER, DEFTYPE,
  88. DEFPARAMTYPE, DEFDATATYPE, DEFCLASS, DEFCLASSVAR, DEFOPERATION,
  89. FRENCHSPACING,
  90. PARA
  91. };
  92. extern void xml_add_char (int character),
  93. xml_asterisk (void),
  94. xml_insert_element (int elt, int arg),
  95. xml_insert_entity (char *entity_name),
  96. xml_insert_footnote (char *note),
  97. xml_insert_quotation (char *type, int arg),
  98. xml_insert_indexterm (char *indexterm, char *index),
  99. xml_insert_docbook_image (char *name_arg),
  100. xml_synindex (char *from, char *to),
  101. xml_start_para (void),
  102. xml_end_para (void),
  103. xml_begin_document (const char *output_basename),
  104. xml_end_document (void),
  105. xml_start_menu_entry (char *tem),
  106. xml_end_menu (void),
  107. xml_end_current_element (void),
  108. xml_open_section (int level, char *name),
  109. xml_close_sections (int level),
  110. xml_begin_node (void),
  111. xml_begin_index (void),
  112. xml_end_index (void),
  113. xml_begin_multitable (int ncolumns, int *column_widths),
  114. xml_end_multitable (void),
  115. xml_end_multitable_row (int first_row),
  116. xml_end_multitable_column (void),
  117. xml_begin_table (int type, char *item_function),
  118. xml_end_table (int type),
  119. xml_begin_item (void),
  120. xml_begin_table_item (void),
  121. xml_continue_table_item (void),
  122. xml_begin_enumerate (char *enum_arg),
  123. xml_end_enumerate (void),
  124. xml_begin_docbook_float (int elt);
  125. extern char *xml_id (char *id);
  126. extern void xml_begin_definition (void),
  127. xml_end_definition (void),
  128. xml_process_defun_args (char **defun_args, int auto_var_p),
  129. xml_begin_def_term (int base_type, const char *category,
  130. char *defined_name, char *type_name, char *type_name2),
  131. xml_end_def_term (void);
  132. extern int xml_current_stack_index (void),
  133. xml_element (char *name);
  134. void xml_insert_element_with_attribute (int elt, int arg, char *format, ...)
  135. TEXINFO_PRINTFLIKE(3,4);
  136. #endif /* XML_H */