/*
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
See the file COPYING for copying permission.
*/
static char RCSId[]
= "$Header: /home/cvs/apr-util/xml/expat/lib/xmlparse.c,v 1.4 2001/08/30 05:44:18 wrowe Exp $";
#ifdef COMPILED_FROM_DSP
# include "winconfig.h"
# define XMLPARSEAPI __declspec(dllexport)
# include "expat.h"
# undef XMLPARSEAPI
#else
#include <config.h>
#ifdef HAVE_STRING_H
# include <string.h>
#endif
#ifndef __CYGWIN__
#ifdef __declspec
# define XMLPARSEAPI __declspec(dllexport)
#endif
#endif
#include "expat.h"
#ifdef __declspec
# undef XMLPARSEAPI
#endif
#endif /* ndef COMPILED_FROM_DSP */
#include <stddef.h>
#ifdef XML_UNICODE
#define XML_ENCODE_MAX XML_UTF16_ENCODE_MAX
#define XmlConvert XmlUtf16Convert
#define XmlGetInternalEncoding XmlGetUtf16InternalEncoding
#define XmlGetInternalEncodingNS XmlGetUtf16InternalEncodingNS
#define XmlEncode XmlUtf16Encode
#define MUST_CONVERT(enc, s) (!(enc)->isUtf16 || (((unsigned long)s) & 1))
typedef unsigned short ICHAR;
#else
#define XML_ENCODE_MAX XML_UTF8_ENCODE_MAX
#define XmlConvert XmlUtf8Convert
#define XmlGetInternalEncoding XmlGetUtf8InternalEncoding
#define XmlGetInternalEncodingNS XmlGetUtf8InternalEncodingNS
#define XmlEncode XmlUtf8Encode
#define MUST_CONVERT(enc, s) (!(enc)->isUtf8)
typedef char ICHAR;
#endif
#ifndef XML_NS
#define XmlInitEncodingNS XmlInitEncoding
#define XmlInitUnknownEncodingNS XmlInitUnknownEncoding
#undef XmlGetInternalEncodingNS
#define XmlGetInternalEncodingNS XmlGetInternalEncoding
#define XmlParseXmlDeclNS XmlParseXmlDecl
#endif
#ifdef XML_UNICODE_WCHAR_T
#define XML_T(x) L ## x
#else
#define XML_T(x) x
#endif
/* Round up n to be a multiple of sz, where sz is a power of 2. */
#define ROUND_UP(n, sz) (((n) + ((sz) - 1)) & ~((sz) - 1))
#include "xmltok.h"
#include "xmlrole.h"
typedef const XML_Char *KEY;
typedef struct {
KEY name;
} NAMED;
typedef struct {
NAMED **v;
size_t size;
size_t used;
size_t usedLim;
XML_Memory_Handling_Suite *mem;
} HASH_TABLE;
typedef struct {
NAMED **p;
NAMED **end;
} HASH_TABLE_ITER;
#define INIT_TAG_BUF_SIZE 32 /* must be a multiple of sizeof(XML_Char) */
#define INIT_DATA_BUF_SIZE 1024
#define INIT_ATTS_SIZE 16
#define INIT_BLOCK_SIZE 1024
#define INIT_BUFFER_SIZE 1024
#define EXPAND_SPARE 24
typedef struct binding {
struct prefix *prefix;
struct binding *nextTagBinding;
struct binding *prevPrefixBinding;
const struct attribute_id *attId;
XML_Char *uri;
int uriLen;
int uriAlloc;
} BINDING;
typedef struct prefix {
const XML_Char *name;
BINDING *binding;
} PREFIX;
typedef struct {
const XML_Char *str;
const XML_Char *localPart;
int uriLen;
} TAG_NAME;
typedef struct tag {
struct tag *parent;
const char *rawName;
int rawNameLength;
TAG_NAME name;
char *buf;
char *bufEnd;
BINDING *bindings;
} TAG;
typedef struct {
const XML_Char *name;
const XML_Char *textPtr;
int textLen;
const XML_Char *systemId;
const XML_Char *base;
const XML_Char *publicId;
const XML_Char *notation;
char open;
char is_param;
} ENTITY;
typedef struct {
enum XML_Content_Type type;
enum XML_Content_Quant quant;
const XML_Char * name;
int firstchild;
int lastchild;
int childcnt;
int nextsib;
} CONTENT_SCAFFOLD;
typedef struct block {
struct block *next;
int size;
XML_Char s[1];
} BLOCK;
typedef struct {
BLOCK *blocks;
BLOCK *freeBlocks;
const XML_Char *end;
XML_Char *ptr;
XML_Char *start;
XML_Memory_Handling_Suite *mem;
} STRING_POOL;
/* The XML_Char before the name is used to determine whether
an attribute has been specified. */
typedef struct attribute_id {
XML_Char *name;
PREFIX *prefix;
char maybeTokenized;
char xmlns;
} ATTRIBUTE_ID;
typedef struct {
const ATTRIBUTE_ID *id;
char isCdata;
const XML_Char *value;
} DEFAULT_ATTRIBUTE;
typedef struct {
const XML_Char *name;
PREFIX *prefix;
const ATTRIBUTE_ID *idAtt;
int nDefaultAtts;
int allocDefaultAtts;
DEFAULT_ATTRIBUTE *defaultAtts;
} ELEMENT_TYPE;
typedef struct {
HASH_TABLE generalEntities;
HASH_TABLE elementTypes;
HASH_TABLE attributeIds;
HASH_TABLE prefixes;
STRING_POOL pool;
int complete;
int standalone;
#ifdef XML_DTD
HASH_TABLE paramEntities;
#endif /* XML_DTD */
PREFIX defaultPrefix;
/* === scaffolding for building content model === */
int in_eldecl;
CONTENT_SCAFFOLD *scaffold;
unsigned contentStringLen;
unsigned scaffSize;
unsigned scaffCount;
int scaffLevel;
int *scaffIndex;
} DTD;
typedef struct open_internal_entity {
const char *internalEventPtr;
const char *internalEventEndPtr;
struct open_internal_entity *next;
ENTITY *entity;
} OPEN_INTERNAL_ENTITY;
typedef enum XML_Error Processor(XML_Parser parser,
const char *start,
const char *end,
const char **endPtr);
static Processor prologProcessor;
static Processor prologInitProcessor;
static Processor contentProcessor;
static Processor cdataSectionProcessor;
#ifdef XML_DTD
static Processor ignoreSectionProcessor;
#endif /* XML_DTD */
static Processor epilogProcessor;
static Processor errorProcessor;
static Processor externalEntityInitProcessor;
static Processor externalEntityInitProcessor2;
static Processor externalEntityInitProcessor3;
static Processor externalEntityContentProcessor;
static enum XML_Error
handleUnknownEncoding(XML_Parser parser, const XML_Char *encodingName);
static enum XML_Error
processXmlDecl(XML_Parser parser, int isGeneralTextEntity, const char *, const char *);
static enum XML_Error
initializeEncoding(XML_Parser parser);
static enum XML_Error
doProlog(XML_Parser parser, const ENCODING *enc, const char *s,
const char *end, int tok, const char *next, const char **nextPtr);
static enum XML_Error
processInternalParamEntity(XML_Parser parser, ENTITY *entity);
static enum XML_Error
doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc,
const char *start, const char *end, const char **endPtr);
static enum XML_Error
doCdataSection(XML_Parser parser, const ENCODING *, const char **startPtr, const char *end, const char **nextPtr);
#ifdef XML_DTD
static enum XML_Error
doIgnoreSection(XML_Parser parser, const ENCODING *, const char **startPtr, const char *end, const char **nextPtr);
#endif /* XML_DTD */
static enum XML_Error storeAtts(XML_Parser parser, const ENCODING *, const char *s,
TAG_NAME *tagNamePtr, BINDING **bindingsPtr);
static
int addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, const XML_Char *uri, BINDING **bindingsPtr);
static int
defineAttribute(ELEMENT_TYPE *type, ATTRIBUTE_ID *,
int isCdata, int isId, const XML_Char *dfltValue,
XML_Parser parser);
static enum XML_Error
storeAttributeValue(XML_Parser parser, const ENCODING *, int isCdata, const char *, const char *,
STRING_POOL *);
static enum XML_Error
appendAttributeValue(XML_Parser parser, const ENCODING *, int isCdata, const char *, const char *,
STRING_POOL *);
static ATTRIBUTE_ID *
getAttributeId(XML_Parser parser, const ENCODING *enc, const char *start, const char *end);
static int setElementTypePrefix(XML_Parser parser, ELEMENT_TYPE *);
static enum XML_Error
storeEntityValue(XML_Parser parser, const ENCODING *enc, const char *start, const char *end);
static int
reportProcessingInstruction(XML_Parser parser, const ENCODING *enc, const char *start, const char *end);
static int
reportComment(XML_Parser parser, const ENCODING *enc, const char *start, const char *end);
static void
reportDefault(XML_Parser parser, const ENCODING *enc, const char *start, const char *end);
static const XML_Char *getContext(XML_Parser parser);
static int setContext(XML_Parser parser, const XML_Char *context);
static void normalizePublicId(XML_Char *s);
static int dtdInit(DTD *, XML_Parser parser);
static void dtdDestroy(DTD *, XML_Parser parser);
static int dtdCopy(DTD *newDtd, const DTD *oldDtd, XML_Parser parser);
static int copyEntityTable(HASH_TABLE *, S
没有合适的资源?快使用搜索试试~ 我知道了~
log4cxx-0.10.0-vc2008-June2008.rar
共1524个文件
h:365个
c:315个
cpp:242个
5星 · 超过95%的资源 需积分: 0 70 下载量 192 浏览量
2011-03-12
11:34:28
上传
评论
收藏 7.18MB RAR 举报
温馨提示
log4cxx-0.10.0-vc2008-June2008.rar 可直接编译。很好
资源详情
资源评论
资源推荐
收起资源包目录
log4cxx-0.10.0-vc2008-June2008.rar (1524个子文件)
filterBased-test1.0 110B
filterBased-test2.0 100B
sizeBased-test5.0 100B
sizeBased-test2.0 100B
manual-test5.0 100B
sbr-test2.0 100B
sizeBased-test1.0 50B
manual-test1.0 50B
tbr-test4.0 0B
tbr-test1.0 0B
tbr-test2.0 0B
tbr-test5.0 0B
temp.xmlLayout.1 3KB
filtered.xmlLayout.1 3KB
xmlLayout.1 3KB
socketServer.1 2KB
l7d.1 891B
dom.A1.1 455B
dom.A2.1 446B
NDC.1 415B
temp.xmlLayout.mdc.1 312B
filtered.xmlLayout.mdc.1 296B
xmlLayout.mdc.1 288B
customLogger.1 282B
customLevel.1 210B
patternLayout.1 180B
filterBased-test1.1 110B
manual-test2.log.1 100B
sizeBased-test2.1 100B
filterBased-test2.1 100B
sizeBased-test1.1 100B
manual-test1.1 100B
obsoleteRFA-test1.log.1 100B
manual-test5.1 100B
obsoleteRFA-test2.log.1 100B
sizeBased-test5.1 100B
sbr-test2.1 100B
tbr-test5.1 66B
tbr-test1.1 66B
tbr-test4.1 66B
tbr-test2.1 66B
patternLayout.mdc.1 45B
hierarchyThreshold.1 0B
patternLayout.10 489B
patternLayout.11 384B
patternLayout.12 489B
temp.xmlLayout.2 5KB
filtered.xmlLayout.2 4KB
xmlLayout.2 4KB
socketServer.2 2KB
temp.A2.2 746B
patternLayout.mdc.2 483B
patternLayout.mdc.2 471B
filtered.A1.2 470B
temp.A1.2 470B
filtered.A2.2 456B
dom.A1.2 455B
dom.A2.2 446B
temp.xmlLayout.mdc.2 372B
patternLayout.2 370B
filtered.xmlLayout.mdc.2 356B
xmlLayout.mdc.2 348B
customLevel.2 210B
sizeBased-test1.2 100B
manual-test1.2 100B
manual-test2.log.2 100B
tbr-test1.2 66B
tbr-test4.2 66B
tbr-test2.2 66B
tbr-test5.2 66B
customLogger.2 47B
hierarchyThreshold.2 38B
sizeBased-test5.2 0B
manual-test5.2 0B
obsoleteDRFA-test2.log.2008-06-20-00_46_20 60B
obsoleteDRFA-test2.log.2008-06-20-00_46_21 120B
obsoleteDRFA-test1.log.2008-06-20_00_46_17 0B
obsoleteDRFA-test1.log.2008-06-20_00_46_18 120B
obsoleteDRFA-test1.log.2008-06-20_00_46_19 120B
socketServer.3 2KB
temp.xmlLayout.3 778B
filtered.xmlLayout.3 688B
xmlLayout.3 678B
patternLayout.3 369B
hierarchyThreshold.3 76B
customLevel.3 42B
tbr-test5.3 33B
tbr-test4.3 33B
tbr-test1.3 33B
tbr-test3.3 33B
tbr-test2.3 33B
tbr-test6.3 33B
sizeBased-test5.3 0B
manual-test5.3 0B
socketServer.4 2KB
patternLayout.4 369B
customLevel.4 210B
hierarchyThreshold.4 113B
socketServer.5 2KB
patternLayout.5 369B
共 1524 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
lhsxsh
- 粉丝: 73
- 资源: 84
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现多车辆车辆路径问题,用遗传算法编程,保证可用.rar
- 基于matlab实现多层极限学习机实现手写体识别,准确率超过99%.rar
- 基于matlab实现电力系统最优潮流程序,可以应用于电力市场下的最优潮流计算 适合电力系统专业的同仁使用.rar
- 串行通信的通信协议串口协议串行通信的通信协议串口协议
- Vue构建交互式的单页面应用程序Vue构建交互式的单页面应用程序
- Spring Boot快速搭建和部署应用程序
- Redis开源的高性键值存储系统广泛应用于缓存、实时消息传递
- Qt跨平台的应用程序开发框架Qt跨平台的应用程序开发框架
- 单片机是集成处理器、存储器和输入输出设备
- 深度学习机器习方法模仿人脑神经网络深度学习机器习方法模仿人脑神经网络
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论12