⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlpullparseres.h

📁 xml解析器(在niosII环境下用C语言开发的)
💻 H
字号:

#define  input_buf_size    1024
#define  pc_buf_size   256

#define  FEATURE_PROCESS_NAMESPACES    " process-namespaces"
#define  FEATURE_REPORT_NAMESPACE_ATTRIBUTES    " report-namespace-prefixes"
#define  FEATURE_PROCESS_DOCDECL    " process-docdecl"
#define  FEATURE_VALIDATION    " validation"
#define XML_URI  "http://www.w3.org/XML/1998/namespace"
#define XMLNS_URI  "http://www.w3.org/2000/xmlns/"
#define  false   0
#define  true    1

static char NO_NAMESPACE[] = "";
 
static const  char* TYPES []= {
		"START_DOCUMENT",
        "END_DOCUMENT",
        "START_TAG",
        "END_TAG",
        "TEXT",
        "CDSECT",
        "ENTITY_REF",
        "IGNORABLE_WHITESPACE",
        "PROCESSING_INSTRUCTION",
        "COMMENT",
        "DOCDECL"
};

enum EventTypes {START_DOCUMENT,
		END_DOCUMENT,
		START_TAG,
		END_TAG,
		TEXT,
		CDSECT,
		ENTITY_REF,
		IGNORABLE_WHITESPACE,
		PROCESSING_INSTRUCTION ,
		COMMENT,
		DOCDECL};
 // extern char    **namespacePrefix;
  void initialParser();
  int setFeature(char* name_, int  state_) ;
  void Reader( char * inputStream_);
  int read(unsigned char* read_buf_, int off_, int len_);
  int setInput( char* in_);
  int getEventType();
  int next(); 
  int nextToken();
  int nextImpl();
  int parseProlog();
  int parseEpilog();
  int parseStartTag() ;
  int parseEndTag() ;
  char parseAttribute() ;
  int parseComment();
  int parsePI();
  int parseXmlDecl(char ch);
  int parseXmlDeclWithVersion(int versionStart_, int versionEnd_);
  int parseDocdecl();
  int parseCDSect(int hadCharData);
  int fillBuf() ;
  char more() ;
  int checkOutOfBound(int index, int attributeCount);
  int getFeature(char* name) ;
  char * getProperty(char* name) ;
  void reset() ;
  char* getInputEncoding() ;
  int getNamespaceCount(int depth_);
  char* getNamespacePrefix(int pos_);
  char* getNamespaceUri(int pos_);
   char* getNamespace_from_pre(char* prefix_);
// void getNamespace_from_pre(char* prefix_,char*uri_);
  int   getLevel();
  int getLineNumber() ;
  int getColumnNumber() ;
  int isWhitespace(); 
  char* getText() ;
  char* getTextCharacters(int* holderForStartAndLength) ;
  char* getNamespace() ;
  char* getName() ;
  char* getPrefix() ;
  int isEmptyElementTag();
int getAttributeCount();
char* getAttributeNamespace(int index);
char* getAttributeName(int index); 
char* getAttributePrefix(int index); 
char* getAttributeType(int index); 
int isAttributeDefault(int index); 
char* getAttributeValue(int index); 
char* getAttrVal_from_name(char* ns, char* name); 
char* nextText(); 
int nextTag(); 
void ensureElementsCapacity() ;
void ensureAttributesCapacity(int size) ;
void ensureNamespacesCapacity(int size); 
void ensureEntityCapacity() ;
void ensurePC(int end); 
void joinPC() ;
char requireInput(char ch, const char* input);
char requireNextS();
char skipS(char ch);
int isNameStartChar(char ch); 
int isNameChar(char ch); 
int  isS(char ch) ;
char*  string_to_charArray(char* str_);
char* printable(char ch); 
void defineEntityReplacementText(char* entityName_, char* replacementText_);
char* parseEntityRef();
char* lookuEntityReplacement(int entitNameLen);
void nomalizeInput();
  
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -