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