00001 /* -*- Mode: C -*- 00002 * referenceTables.h 00003 * Copyright © 2002-03 Laboratoire de Biologie Informatique et Théorique 00004 * Université de Montréal. 00005 * Author : Martin Larose 00006 * Created On : Mon Mar 18 15:51:25 2002 00007 * $Reference$ 00008 * $Id: referenceTables.h,v 1.12 2003/07/23 21:07:25 larosem Exp $ 00009 * 00010 * This file is part of xmlcpg. 00011 * 00012 * xmlcpg is free software; you can redistribute it and/or modify it under 00013 * the terms of the GNU Lesser General Public License as published by the Free 00014 * Software Foundation; either version 2 of the License, or (at your option) 00015 * any later version. 00016 * 00017 * xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY 00018 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00019 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 00020 * more details. 00021 * 00022 * You should have received a copy of the GNU Lesser General Public License 00023 * along with xmlcpg; if not, write to the Free Software Foundation, Inc., 00024 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00025 */ 00026 00027 00028 #ifndef _xmlcpg_referenceTables_h_ 00029 #define _xmlcpg_referenceTables_h_ 00030 00031 00032 #include "xmlcpg.h" 00033 00034 00035 /* TO COMPLETE 00036 * 00037 * o There should be an external entity reference table separated from the 00038 * internal entity reference table so that validation can be done on 00039 * attributes. 00040 */ 00041 00042 00043 00054 extern xmlcpgMap *staticDTDTable; 00055 00073 extern xmlcpgMap *validatorStructure; 00074 00078 extern ReferenceTable *PERTable; 00079 00083 extern ReferenceTable *GERTable; 00084 00088 extern ReferenceTable *EAITable; 00089 00093 extern xmlcpgMap *UETable; 00094 00099 extern xmlcpgMap* xmlcpgnewStaticDTDTable (); 00100 00109 extern void xmlcpgputStaticDTDTable (xmlcpgObject *n, xmlcpgObject *v, xmlcpgObject *vs, xmlcpgObject *gert, xmlcpgObject *uet); 00110 00116 extern xmlcpgObject* xmlcpggetStaticDTD (xmlcpgObject *n); 00117 00122 extern void xmlcpgsetReferenceTables (xmlcpgObject *rfs); 00123 00128 extern ReferenceTable* xmlcpgnewGEReferenceTable (); 00129 00134 extern ReferenceTable* xmlcpgnewPEReferenceTable (); 00135 00141 extern char xmlcpggetCharacterReferenceTable (int val); 00142 00149 extern const char* xmlcpggetGEntity (const char *str); 00150 00156 extern void xmlcpgputGEntity (const char *key, const char *value); 00157 00164 extern const char* xmlcpggetPEntity (const char *str); 00165 00171 extern void xmlcpgputPEntity (const char *key, const char *value); 00172 00177 extern ReferenceTable* xmlcpgnewEAIDTable (); 00178 00182 extern void xmlcpgclearEAIDTable (); 00183 00190 extern void xmlcpgputEAIDTable (xmlcpgElement *e, const char *id); 00191 00199 extern xmlcpgMap* xmlcpggetValidatorStructure (const char *n, const char *v); 00200 00201 #endif