fastdo  0.5.12
eienml::ElemPackage类 参考

元素包 更多...

#include <elem_package.hpp>

eienml::ElemPackage 的协作图:

Public 成员函数

 ElemPackage (void)
 元素包构造函数 更多...
 
winux::AnsiString escape (winux::AnsiString const &str) const
 对字符进行换码 更多...
 
winux::AnsiString unescape (winux::AnsiString const &str) const
 进行反换码,与escape()配套 更多...
 
winux::AnsiString addSlashes (winux::AnsiString const &str) const
 特殊字符加上反斜杠 更多...
 
winux::AnsiString stripSlashes (winux::AnsiString const &str) const
 去掉反斜杠 更多...
 
void setEntitiesTable (winux::AnsiString const &specialChar, winux::AnsiString const &specialCharEntity, winux::AnsiString const &lElemDelimEntity, winux::AnsiString const &rElemDelimEntity, winux::AnsiString const &lBlockDelimEntity, winux::AnsiString const &rBlockDelimEntity, winux::StringStringMap const *entitiesTable=NULL)
 设置实体表,entitiesTable为{文本=>实体}的映射表 更多...
 
void setDelims (winux::AnsiString const &le, winux::AnsiString const &re, winux::AnsiString const &lb="", winux::AnsiString const &rb="")
 设置定界符,调用后应立即调用setEntitiesTable()更新实体 更多...
 
TextNodeCreator setTextCreator (TextNodeCreator creator)
 设置文本节点创建器 更多...
 
void setElement (winux::AnsiString const &tagName, ElementCreator creator)
 设置元素节点创建器 更多...
 
void delElement (winux::AnsiString const &tagName)
 移除元素节点创建器 更多...
 
void setBlock (winux::AnsiString const &blockTag, BlockCreator creator)
 设置块节点创建器 更多...
 
void delBlock (winux::AnsiString const &blockTag)
 移除块节点创建器 更多...
 
ElementcreateElement (winux::AnsiString const &tagName) const
 通过已指定的元素节点创建器创建元素,如果不存在该创建器,则使用默认Element创建器。 更多...
 
BlockcreateBlock (winux::AnsiString const &blockTag) const
 通过已指定的块节点创建器创建块,如果不存在该创建器,则使用默认Block创建器。 更多...
 
TextNodecreateTextNode (winux::AnsiString const &str) const
 通过已指定的文本节点创建器文本节点,如果不存在该创建器,则使用默认TextNode创建器。 更多...
 
bool exists (winux::AnsiString const &tagName) const
 指定的元素创建器是否存在 更多...
 
bool blockExists (winux::AnsiString const &blockTag) const
 指定的块创建器是否存在 更多...
 

Public 属性

winux::AnsiString lElemDelim
 左定界符 更多...
 
winux::AnsiString rElemDelim
 右定界符 更多...
 
winux::AnsiString lBlockDelim
 左块元素定界符 更多...
 
winux::AnsiString rBlockDelim
 右块元素定界符 更多...
 

静态 Public 属性

static const char * ADDSLASHES
 要加反斜杠的字符 更多...
 

Protected 属性

TextNodeCreator textCreator
 文本节点创建函数 更多...
 
ElementCreatorTable elemTable
 元素名=>创建函数映射表 更多...
 
BlockCreatorTable blockTable
 块名=>创建块的函数映射表 更多...
 
winux::MultiMatch entities2text
 实体到文本 更多...
 
winux::MultiMatch text2entities
 文本到实体 更多...
 

详细描述

元素包

描述一套标记语言的相关信息

在文件 elem_package.hpp19 行定义.

构造及析构函数说明

eienml::ElemPackage::ElemPackage ( void  )

元素包构造函数

调用:setDelims(),setEntitiesTable(),setTextCreator(),setElement(),setBlock()完成元素包的初始化工作

成员函数说明

winux::AnsiString eienml::ElemPackage::addSlashes ( winux::AnsiString const &  str) const

特殊字符加上反斜杠

bool eienml::ElemPackage::blockExists ( winux::AnsiString const &  blockTag) const

指定的块创建器是否存在

Block* eienml::ElemPackage::createBlock ( winux::AnsiString const &  blockTag) const

通过已指定的块节点创建器创建块,如果不存在该创建器,则使用默认Block创建器。

Element* eienml::ElemPackage::createElement ( winux::AnsiString const &  tagName) const

通过已指定的元素节点创建器创建元素,如果不存在该创建器,则使用默认Element创建器。

TextNode* eienml::ElemPackage::createTextNode ( winux::AnsiString const &  str) const

通过已指定的文本节点创建器文本节点,如果不存在该创建器,则使用默认TextNode创建器。

void eienml::ElemPackage::delBlock ( winux::AnsiString const &  blockTag)

移除块节点创建器

void eienml::ElemPackage::delElement ( winux::AnsiString const &  tagName)

移除元素节点创建器

winux::AnsiString eienml::ElemPackage::escape ( winux::AnsiString const &  str) const

对字符进行换码

默认:@(at), left_elem_delim(le), right_elem_delim(re) left_block_delim(lb), right_block_delim(rb)

bool eienml::ElemPackage::exists ( winux::AnsiString const &  tagName) const

指定的元素创建器是否存在

void eienml::ElemPackage::setBlock ( winux::AnsiString const &  blockTag,
BlockCreator  creator 
)

设置块节点创建器

void eienml::ElemPackage::setDelims ( winux::AnsiString const &  le,
winux::AnsiString const &  re,
winux::AnsiString const &  lb = "",
winux::AnsiString const &  rb = "" 
)

设置定界符,调用后应立即调用setEntitiesTable()更新实体

void eienml::ElemPackage::setElement ( winux::AnsiString const &  tagName,
ElementCreator  creator 
)

设置元素节点创建器

void eienml::ElemPackage::setEntitiesTable ( winux::AnsiString const &  specialChar,
winux::AnsiString const &  specialCharEntity,
winux::AnsiString const &  lElemDelimEntity,
winux::AnsiString const &  rElemDelimEntity,
winux::AnsiString const &  lBlockDelimEntity,
winux::AnsiString const &  rBlockDelimEntity,
winux::StringStringMap const *  entitiesTable = NULL 
)

设置实体表,entitiesTable为{文本=>实体}的映射表

TextNodeCreator eienml::ElemPackage::setTextCreator ( TextNodeCreator  creator)

设置文本节点创建器

winux::AnsiString eienml::ElemPackage::stripSlashes ( winux::AnsiString const &  str) const

去掉反斜杠

winux::AnsiString eienml::ElemPackage::unescape ( winux::AnsiString const &  str) const

进行反换码,与escape()配套

类成员变量说明

const char* eienml::ElemPackage::ADDSLASHES
static

要加反斜杠的字符

在文件 elem_package.hpp22 行定义.

BlockCreatorTable eienml::ElemPackage::blockTable
protected

块名=>创建块的函数映射表

在文件 elem_package.hpp82 行定义.

ElementCreatorTable eienml::ElemPackage::elemTable
protected

元素名=>创建函数映射表

在文件 elem_package.hpp81 行定义.

winux::MultiMatch eienml::ElemPackage::entities2text
protected

实体到文本

在文件 elem_package.hpp83 行定义.

winux::AnsiString eienml::ElemPackage::lBlockDelim

左块元素定界符

在文件 elem_package.hpp77 行定义.

winux::AnsiString eienml::ElemPackage::lElemDelim

左定界符

在文件 elem_package.hpp75 行定义.

winux::AnsiString eienml::ElemPackage::rBlockDelim

右块元素定界符

在文件 elem_package.hpp78 行定义.

winux::AnsiString eienml::ElemPackage::rElemDelim

右定界符

在文件 elem_package.hpp76 行定义.

winux::MultiMatch eienml::ElemPackage::text2entities
protected

文本到实体

在文件 elem_package.hpp84 行定义.

TextNodeCreator eienml::ElemPackage::textCreator
protected

文本节点创建函数

在文件 elem_package.hpp80 行定义.


该类的文档由以下文件生成: