fastdo
0.6.8
|
元素包 更多...
#include <elem_package.hpp>
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) |
移除块节点创建器 更多... | |
Element * | createElement (winux::AnsiString const &tagName) const |
通过已指定的元素节点创建器创建元素,如果不存在该创建器,则使用默认Element创建器。 更多... | |
Block * | createBlock (winux::AnsiString const &blockTag) const |
通过已指定的块节点创建器创建块,如果不存在该创建器,则使用默认Block创建器。 更多... | |
TextNode * | createTextNode (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 |
文本到实体 更多... | |
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()配套
|
static |
要加反斜杠的字符
在文件 elem_package.hpp 第 22 行定义.
|
protected |
块名=>创建块的函数映射表
在文件 elem_package.hpp 第 82 行定义.
|
protected |
元素名=>创建函数映射表
在文件 elem_package.hpp 第 81 行定义.
|
protected |
实体到文本
在文件 elem_package.hpp 第 83 行定义.
winux::AnsiString eienml::ElemPackage::lBlockDelim |
左块元素定界符
在文件 elem_package.hpp 第 77 行定义.
winux::AnsiString eienml::ElemPackage::lElemDelim |
左定界符
在文件 elem_package.hpp 第 75 行定义.
winux::AnsiString eienml::ElemPackage::rBlockDelim |
右块元素定界符
在文件 elem_package.hpp 第 78 行定义.
winux::AnsiString eienml::ElemPackage::rElemDelim |
右定界符
在文件 elem_package.hpp 第 76 行定义.
|
protected |
文本到实体
在文件 elem_package.hpp 第 84 行定义.
|
protected |
文本节点创建函数
在文件 elem_package.hpp 第 80 行定义.