head 1.4; access; symbols; locks; strict; comment @# @; 1.4 date 2002.09.07.01.50.41; author curt; state Exp; branches; next 1.3; 1.3 date 2002.08.31.19.01.59; author curt; state Exp; branches; next 1.2; 1.2 date 2002.08.31.18.54.05; author curt; state Exp; branches; next 1.1; 1.1 date 2002.02.15.17.22.03; author curt; state Exp; branches; next ; desc @@ 1.4 log @Updated doxygen docs. @ text @
Main Page Class Hierarchy Compound List File List Compound Members File Members

# xmlrole.h

    00001 /*
    00002 The contents of this file are subject to the Mozilla Public License
    00003 Version 1.1 (the "License"); you may not use this file except in
    00004 compliance with the License. You may obtain a copy of the License at
    00005 http://www.mozilla.org/MPL/
    00006
    00007 Software distributed under the License is distributed on an "AS IS"
    00008 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
    00009 License for the specific language governing rights and limitations
    00010 under the License.
    00011
    00012 The Original Code is expat.
    00013
    00014 The Initial Developer of the Original Code is James Clark.
    00015 Portions created by James Clark are Copyright (C) 1998, 1999
    00016 James Clark. All Rights Reserved.
    00017
    00018 Contributor(s):
    00019
    00020 Alternatively, the contents of this file may be used under the terms
    00021 of the GNU General Public License (the "GPL"), in which case the
    00022 provisions of the GPL are applicable instead of those above.  If you
    00023 wish to allow use of your version of this file only under the terms of
    00024 the GPL and not to allow others to use your version of this file under
    00025 the MPL, indicate your decision by deleting the provisions above and
    00026 replace them with the notice and other provisions required by the
    00027 GPL. If you do not delete the provisions above, a recipient may use
    00028 your version of this file under either the MPL or the GPL.
    00029 */
    00030
    00031 #ifndef XmlRole_INCLUDED
    00032 #define XmlRole_INCLUDED 1
    00033
    00034 #include "xmltok.h"
    00035
    00036 #ifdef __cplusplus
    00037 extern "C" {
    00038 #endif
    00039
    00040 enum {
    00041   XML_ROLE_ERROR = -1,
    00042   XML_ROLE_NONE = 0,
    00043   XML_ROLE_XML_DECL,
    00044   XML_ROLE_INSTANCE_START,
    00045   XML_ROLE_DOCTYPE_NAME,
    00046   XML_ROLE_DOCTYPE_SYSTEM_ID,
    00047   XML_ROLE_DOCTYPE_PUBLIC_ID,
    00048   XML_ROLE_DOCTYPE_CLOSE,
    00049   XML_ROLE_GENERAL_ENTITY_NAME,
    00050   XML_ROLE_PARAM_ENTITY_NAME,
    00051   XML_ROLE_ENTITY_VALUE,
    00052   XML_ROLE_ENTITY_SYSTEM_ID,
    00053   XML_ROLE_ENTITY_PUBLIC_ID,
    00054   XML_ROLE_ENTITY_NOTATION_NAME,
    00055   XML_ROLE_NOTATION_NAME,
    00056   XML_ROLE_NOTATION_SYSTEM_ID,
    00057   XML_ROLE_NOTATION_NO_SYSTEM_ID,
    00058   XML_ROLE_NOTATION_PUBLIC_ID,
    00059   XML_ROLE_ATTRIBUTE_NAME,
    00060   XML_ROLE_ATTRIBUTE_TYPE_CDATA,
    00061   XML_ROLE_ATTRIBUTE_TYPE_ID,
    00062   XML_ROLE_ATTRIBUTE_TYPE_IDREF,
    00063   XML_ROLE_ATTRIBUTE_TYPE_IDREFS,
    00064   XML_ROLE_ATTRIBUTE_TYPE_ENTITY,
    00065   XML_ROLE_ATTRIBUTE_TYPE_ENTITIES,
    00066   XML_ROLE_ATTRIBUTE_TYPE_NMTOKEN,
    00067   XML_ROLE_ATTRIBUTE_TYPE_NMTOKENS,
    00068   XML_ROLE_ATTRIBUTE_ENUM_VALUE,
    00069   XML_ROLE_ATTRIBUTE_NOTATION_VALUE,
    00070   XML_ROLE_ATTLIST_ELEMENT_NAME,
    00071   XML_ROLE_IMPLIED_ATTRIBUTE_VALUE,
    00072   XML_ROLE_REQUIRED_ATTRIBUTE_VALUE,
    00073   XML_ROLE_DEFAULT_ATTRIBUTE_VALUE,
    00074   XML_ROLE_FIXED_ATTRIBUTE_VALUE,
    00075   XML_ROLE_ELEMENT_NAME,
    00076   XML_ROLE_CONTENT_ANY,
    00077   XML_ROLE_CONTENT_EMPTY,
    00078   XML_ROLE_CONTENT_PCDATA,
    00079   XML_ROLE_GROUP_OPEN,
    00080   XML_ROLE_GROUP_CLOSE,
    00081   XML_ROLE_GROUP_CLOSE_REP,
    00082   XML_ROLE_GROUP_CLOSE_OPT,
    00083   XML_ROLE_GROUP_CLOSE_PLUS,
    00084   XML_ROLE_GROUP_CHOICE,
    00085   XML_ROLE_GROUP_SEQUENCE,
    00086   XML_ROLE_CONTENT_ELEMENT,
    00087   XML_ROLE_CONTENT_ELEMENT_REP,
    00088   XML_ROLE_CONTENT_ELEMENT_OPT,
    00089   XML_ROLE_CONTENT_ELEMENT_PLUS,
    00090   XML_ROLE_PARAM_ENTITY_REF
    00091 };
    00092
    00093 typedef struct prolog_state {
    00094   int (*handler)(struct prolog_state *state,
    00095                  int tok,
    00096                  const char *ptr,
    00097                  const char *end,
    00098                  const ENCODING *enc);
    00099   unsigned level;
    00100 } PROLOG_STATE;
    00101
    00102 void XMLTOKAPI XmlPrologStateInit(PROLOG_STATE *);
    00103
    00104 #define XmlTokenRole(state, tok, ptr, end, enc) \
    00105  (((state)->handler)(state, tok, ptr, end, enc))
    00106
    00107 #ifdef __cplusplus
    00108 }
    00109 #endif
    00110
    00111 #endif /* not XmlRole_INCLUDED */

@ 1.3 log @Oops, try again. @ text @d120 1 a120 1