#include #include #include #include #include "xmldocbook_generator.h" #include "globals.h" #include "util.h" char *RB_XMLDB_Get_Default_Extension( void ) { return ".xml"; } void RB_XMLDB_Generate_String( FILE *dest_doc, char *a_string ) { int i; int l = strlen( a_string ); unsigned char c; for ( i = 0; i < l; ++i ) { c = a_string[i]; RB_XMLDB_Generate_Char( dest_doc, c ); } } /* TODO Documentation */ void RB_XMLDB_Generate_Label( FILE *dest_doc, char *name ) { int i; int l = strlen( name ); unsigned char c; fprintf( dest_doc, "\n" ); } /****f* Generator/RB_XMLDB_Generate_Char * NAME * RB_XMLDB_Generate_Char * SYNOPSIS * void RB_XMLDB_Generate_Char( FILE * dest_doc, int c ) * FUNCTION * Switchboard to RB_XMLDB_Generate_Char * SOURCE */ void RB_XMLDB_Generate_Char( FILE *dest_doc, int c ) { switch ( c ) { case '\n': assert( 0 ); break; case '\t': assert( 0 ); break; case '<': fprintf( dest_doc, "<" ); break; case '>': fprintf( dest_doc, ">" ); break; case '&': fprintf( dest_doc, "&" ); break; default: // All others are printed literally fputc( c, dest_doc ); } } /*****/ void RB_XMLDB_Generate_Header_Start( FILE *dest_doc, struct RB_header *cur_header ) { fprintf( dest_doc, "
\n" ); /* fprintf( dest_doc, "
\n", cur_header->unique_name ); */ fprintf( dest_doc, "\n" ); RB_XMLDB_Generate_String( dest_doc, cur_header->name ); fprintf( dest_doc, "\n" ); } void RB_XMLDB_Generate_Header_End( FILE *dest_doc, struct RB_header *cur_header ) { USE( cur_header ); fprintf( dest_doc, "
\n" ); } void RB_XMLDB_Generate_Link( FILE *dest, char *dest_name, char *filename, char *labelname, char *linkname ) { USE( dest_name ); USE( filename ); fprintf( dest, "", labelname ); RB_XMLDB_Generate_String( dest, linkname ); fprintf( dest, "" ); } void RB_XMLDB_Generate_Doc_Start( struct RB_Document *document, FILE *dest_doc, char *charset ) { if ( course_of_action.do_headless ) { /* The user does not want the document head. */ } else { fprintf( dest_doc, "\n", charset ? charset : DEFAULT_CHARSET ); if ( document->doctype_name && document->doctype_location ) { fprintf( dest_doc, "\n", document->doctype_name, document->doctype_location ); fprintf( dest_doc, "%s", "
\n" ); } else { fprintf( dest_doc, "%s", "\n" "
\n" ); } fprintf( dest_doc, "\n %s\n\n", document_title ? document_title : DEFAULT_DOCTITILE ); } } void RB_XMLDB_Generate_Doc_End( FILE *dest_doc, char *name ) { USE( name ); if ( course_of_action.do_footless ) { /* The user does not want the foot of the * document. */ } else { fprintf( dest_doc, "%s", "
\n" ); } } void RB_XMLDB_Generate_Item_Name( FILE *dest_doc, char *name ) { fprintf( dest_doc, "" ); RB_XMLDB_Generate_String( dest_doc, name ); fprintf( dest_doc, "\n" ); } void RB_XMLDB_Generate_Item_Begin( FILE *dest_doc ) { USE( dest_doc ); /* Empty */ } void RB_XMLDB_Generate_Item_End( FILE *dest_doc ) { USE( dest_doc ); /* Empty */ } void RB_XMLDB_Generate_BeginSection( FILE *dest_doc, int depth, char *name ) { USE( depth ); fprintf( dest_doc, "%s", "
\n" ); RB_XMLDB_Generate_String( dest_doc, name ); fprintf( dest_doc, "%s", "\n" ); } void RB_XMLDB_Generate_EndSection( FILE *dest_doc, int depth, char *name ) { USE( depth ); USE( name ); fprintf( dest_doc, "%s", "
\n" ); } void RB_XMLDB_Generate_False_Link( FILE *dest_doc, char *name ) { RB_XMLDB_Generate_String( dest_doc, name ); } void XMLDB_Generate_Begin_Paragraph( FILE *dest_doc ) { fprintf( dest_doc, "%s", "\n" ); } void XMLDB_Generate_End_Paragraph( FILE *dest_doc ) { fprintf( dest_doc, "%s", "\n" ); } void XMLDB_Generate_Begin_Preformatted( FILE *dest_doc ) { fprintf( dest_doc, "%s", "\n" ); } void XMLDB_Generate_End_Preformatted( FILE *dest_doc ) { fprintf( dest_doc, "%s", "\n" ); } void XMLDB_Generate_Begin_List( FILE *dest_doc ) { fprintf( dest_doc, "%s", "" ); } void XMLDB_Generate_End_List( FILE *dest_doc ) { fprintf( dest_doc, "%s", "" ); } void XMLDB_Generate_Begin_List_Item( FILE *dest_doc ) { fprintf( dest_doc, "%s", "" ); } void XMLDB_Generate_End_List_Item( FILE *dest_doc ) { fprintf( dest_doc, "%s", "" ); }