public class CmsLinkProcessor extends CmsHtmlParser implements com.frameworkset.platform.cms.driver.htmlconverter.CmsLinkProcessorInf
| 限定符和类型 | 类和说明 |
|---|---|
static class |
CmsLinkProcessor.CMSCodeParser
实现内容管理中样式、script代码的分析和处理
Title: CMSCodeParser
Description:
Copyright: Copyright (c) 2006
Company: bbossgroups
|
static class |
CmsLinkProcessor.CMSLink
内容管理link信息
|
class |
CmsLinkProcessor.LinkParser |
static class |
CmsLinkProcessor.LinkTimestamp
记录文件的最后修改时间,用来识别文件是否需要发布
|
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
cmstag_pattern
内容管理系统
|
protected boolean |
containSeparatorIndexTag
判断细览模版中是否包含文档分页标签,发布分页文档时需要进行判断,
如果细览模版中没有没有分页标签则将文档作为一个文档发布
|
protected boolean |
containSeparatorToken
判断文档正文是否包含分页符,如果包含则需要进行分页处理,如果模版中没有分页标签,则需要
将文档作为单独的文档进行发布处理,否则
|
protected Context |
context |
static java.lang.String |
domainpattern
分析纯域名的的链接,并且提取域名 xxxx.xxxx.xxxx:端口
|
static java.lang.String |
HTML_END
HTML end.
|
static java.lang.String |
HTML_START
HTML start.
|
static int |
LINK_NO_PARSER_NO_DISTRIBUTE
不需要处理地址 不需要分发资源
|
static int |
LINK_PARSER
1 需要处理地址,不需要分发资源
|
static int |
LINK_PARSER_DISTRIBUTE
需要处理地址并且分发资源标识
|
protected CmsLinkTable |
m_linkTable |
protected int |
m_mode
Current processing mode.
|
protected CmsLinkTable |
m_templateLinkTable
当执行文档内容处理时,记录被处理过的_templates目录相关的资源
|
static java.lang.String |
PAGE_TAG
分页符标签
|
static java.lang.String |
PAGE_TOKEN
分页符标识
|
static java.lang.String |
PATTAERN_JSPTAG_HASBODY
JSP自定义标签带标签体匹配模式,例如
|
static java.lang.String |
PATTAERN_JSPTAG_NOBODY
JSP自定义标签不带标签体匹配模式,例如
|
static java.lang.String |
PATTERN_JSPCODE_BLOCK
jsp代码段<%.....
|
static int |
PROCESS_BACKUPCONTENT
备份文档时附件的提取
|
static int |
PROCESS_BACKUPTEMPLATE
备份模版时附件的处理
|
static int |
PROCESS_CONTENT
Processing CONTENT links".
|
static int |
PROCESS_EDITCONTENT
处理文档保存时的外部链接和内部链接
对外部链接进行记录
修改内部链接为相对地址
|
static int |
PROCESS_EDITTEMPLATE
处理模版
|
static int |
PROCESS_LINKS
Processing mode "process links".
|
static int |
PROCESS_PUBLISHRESULT
Processing PUBLISH RESULT links.
|
static int |
PROCESS_READCONTENT
处理读取文档外部链接和内部链接
对外部链接进行记录
修改内部链接为相对地址
|
static int |
PROCESS_READTEMPLATE
处理读取文档外部链接和内部链接
对外部链接进行记录
修改内部链接为相对地址
|
static int |
PROCESS_TEMPLATE
Processing TEMPLATE links".
|
static java.lang.String |
r_uripattern
分析带相对uri的链接,提取uri串 /xxx/xxxx等等
|
static int |
REPLACE_LINKS
Processing mode "replace links".
|
static java.lang.String |
simple_uripattern
分析带..
|
static java.lang.String |
uripattern
分析带绝对uri的链接,提取uri串 /xxx/xxxx等等
|
containJspTag, currentChannelDir, m_echo, m_result, TAG_ARRAY, TAG_LIST| 构造器和说明 |
|---|
CmsLinkProcessor() |
CmsLinkProcessor(Context context,
int m_mode,
java.lang.String encode)
链接处理器类型
|
CmsLinkProcessor(Context context,
int m_mode,
java.lang.String encode,
java.lang.String templatePath)
链接处理器构造函数,用于模版处理
|
CmsLinkProcessor(Context context,
int m_mode,
java.lang.String encode,
java.lang.String templatePath,
java.lang.String m_relativePath)
链接处理器构造函数,用于模版处理
|
CmsLinkProcessor(javax.servlet.http.HttpServletRequest request,
java.lang.String m_relativePath,
java.lang.String sitedir)
链接处理器构造函数,用于模版处理
|
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
containSeparatorIndexTag()
返回细览模版是否包含文档分页标签
|
boolean |
containSeparatorToken()
返回文档正文是否包含分页符
|
CmsLinkProcessor.CMSCodeParser |
create(java.io.File file) |
CmsLinkProcessor.CMSCodeParser |
create(java.lang.String code) |
CmsLinkProcessor.CMSLink |
createCMSLink(java.lang.String link,
java.lang.String relativePath)
创建link对象
|
protected CmsLinkProcessor.CMSLink |
dealStyleCMSLink(java.lang.String href,
int linkhandletype)
对样式文件链接进行内部处理
|
static java.lang.String |
escapeLink(java.lang.String source)
Escapes all
&, e.g. replaces them with a
&. |
java.lang.String |
getAbsoluteImagesRootPath()
获取图片库相对路径
|
java.lang.String |
getAbsoluteProjectRootPath() |
java.lang.String |
getAbsoluteStyleRootPath()
获取样式库相对路径
|
java.lang.String |
getAbsoluteTemplateRootPath() |
java.lang.String |
getCMSContextPath() |
CmsLinkTable |
getExternalPageLinkTable() |
int |
getHandletype() |
java.lang.String |
getImagesRootPath()
获取图片库物理路径
|
CmsLinkTable |
getOrigineDynamicPageLinkTable() |
CmsLinkTable |
getOrigineStaticPageLinkTable() |
CMSTemplateLinkTable |
getOrigineTemplateLinkTable() |
java.lang.String |
getProjectRootPath() |
java.lang.String |
getStyleRootPath() |
java.lang.String |
getTemplateRootPath() |
java.lang.String |
getWebSiteRootPath() |
protected java.lang.String |
handleStyleCode(java.lang.String styleCode)
对样式串中的链接进行处理,以便
|
protected void |
handleStyleLink(java.lang.String relativeFilePath) |
boolean |
isList() |
protected boolean |
isStyleLink(java.lang.String href)
判断当前的链接是否是一个样式链接
|
protected boolean |
isTemplateProcess()
判断当前得是否是处理模版
|
static void |
main(java.lang.String[] args) |
protected int |
needProcess(java.lang.String link,
boolean ishref)
判断是否需要处理链接,以下情况不需要处理:
链接为null
链接为""
链接为#
链接为..
|
protected int |
needProcessStyleAtrribute(java.lang.String link)
判断是否需要处理链接,以下情况不需要处理:
链接为null
链接为""
链接为#
链接为..
|
protected void |
processBackgroungPropertyOfTag(org.htmlparser.Tag tag)
处理标记的背景图片
|
protected void |
processBaseHrefTag(org.htmlparser.tags.BaseHrefTag baseTag) |
protected void |
processCFileTag(org.htmlparser.tags.ResourceTag tag)
Process a Resource tags.
|
protected void |
processCFlashplayerTag(org.htmlparser.tags.ResourceTag tag)
Process a Resource tags.
|
protected void |
processCImageTag(org.htmlparser.tags.ResourceTag tag)
Process a Resource tags.
|
protected void |
processCMediaTag(org.htmlparser.tags.ResourceTag tag)
Process a Resource tags.
|
CmsLinkProcessor.CMSLink |
processDir(org.htmlparser.Tag tag,
int linkhandletype)
处理一般的链接
|
protected void |
processEmbedTag(org.htmlparser.Tag tag)
处理嵌入式
|
protected void |
processFrameTag(org.htmlparser.tags.FrameTag tag)
处理frame,iframe标记
|
protected void |
processHrefTag(org.htmlparser.tags.LinkTag tag)
Process a link tag.
|
protected void |
processImageTag(org.htmlparser.tags.ImageTag tag)
Process an image tag.
|
protected CmsLinkProcessor.CMSLink |
processLink(java.lang.String linkurl)
Process an image tag.
|
java.lang.String |
processLinks(java.lang.String content)
Starts link processing for the given content in processing mode.
|
protected void |
processLinkTag(org.htmlparser.Tag tag)
Process a link tag.
|
protected void |
processObjectTag(org.htmlparser.tags.ObjectTag tag)
处理object标签
|
protected void |
processObjectTagParam(org.htmlparser.tags.ObjectTag tag,
java.lang.String paramName) |
protected void |
processOutlineTag(org.htmlparser.Tag tag)
处理概览标签,如果是分页概览,记录本信息,系统需要将每个页面都
发布出来,并且需要获取分页标签的相关属性,包括每页记录数
|
protected void |
processScriptTag(org.htmlparser.tags.ScriptTag tag)
处理javascript脚本标记
|
protected void |
processSrcOfTag(org.htmlparser.Tag tag)
处理标记的src属性
|
protected java.lang.String |
processStringLink(java.lang.String href_) |
protected void |
processStylePropertyOfTag(org.htmlparser.Tag tag)
处理style属性中应用的链接和图片,对于有些图片已经用
|
protected void |
processStyleTag(org.htmlparser.tags.StyleTag tag)
处理样式标记,
如果是引用的样式文件则分析处理样式文件,
从中提取包含的附件地址
|
protected void |
recordContentTemplateLink(CmsLinkProcessor.CMSLink link)
记录执行jsp标签处理过程中分析出来的超链接
|
protected void |
recordTemplateLink(CmsLinkProcessor.CMSLink link)
记录模板解析过程中相关静态链接资源
|
java.lang.String |
replaceLinks(java.lang.String content)
Starts link processing for the given content in replacement mode.
|
void |
setHandletype(int handletype) |
static java.lang.String |
unescapeLink(java.lang.String source)
Unescapes all
&, that is replaces them with a
&. |
void |
visitTag(org.htmlparser.Tag tag)
Visitor method to process a tag (start).
|
collapse, containJspTag, getConfiguration, getCurrentChannelDir, getNoAutoCloseTags, getResult, getTagHtml, process, process, setConfiguration, setCurrentChannelDir, setJspTagAware, setNoAutoCloseTags, visitEndTag, visitRemarkNode, visitStringNodebeginParsing, finishedParsing, shouldRecurseChildren, shouldRecurseSelfprotected CmsLinkTable m_linkTable
protected CmsLinkTable m_templateLinkTable
protected boolean containSeparatorToken
protected boolean containSeparatorIndexTag
public static final java.lang.String HTML_END
public static final java.lang.String HTML_START
public static final java.lang.String PATTERN_JSPCODE_BLOCK
public static final java.lang.String PATTAERN_JSPTAG_HASBODY
public static final java.lang.String PATTAERN_JSPTAG_NOBODY
public static final java.lang.String PAGE_TOKEN
public static final java.lang.String PAGE_TAG
public static final int PROCESS_LINKS
public static final int REPLACE_LINKS
public static final int PROCESS_TEMPLATE
public static final int PROCESS_CONTENT
public static final int PROCESS_PUBLISHRESULT
public static final int PROCESS_EDITCONTENT
public static final int PROCESS_EDITTEMPLATE
public static final int PROCESS_READCONTENT
public static final int PROCESS_READTEMPLATE
public static final int PROCESS_BACKUPCONTENT
public static final int PROCESS_BACKUPTEMPLATE
protected int m_mode
protected Context context
public static final int LINK_PARSER_DISTRIBUTE
public static final int LINK_PARSER
public static final int LINK_NO_PARSER_NO_DISTRIBUTE
public static final java.lang.String domainpattern
public static final java.lang.String uripattern
public static final java.lang.String r_uripattern
public static final java.lang.String simple_uripattern
public static final java.lang.String cmstag_pattern
public CmsLinkProcessor()
public CmsLinkProcessor(javax.servlet.http.HttpServletRequest request,
java.lang.String m_relativePath,
java.lang.String sitedir)
context - 内容管理上下文m_mode - 处理类型:替换链接还是处理链接encode - 链接处理字符编码templatePath - 模版对应的相对路径public CmsLinkProcessor(Context context, int m_mode, java.lang.String encode, java.lang.String templatePath)
context - 内容管理上下文m_mode - 处理类型:替换链接还是处理链接encode - 链接处理字符编码templatePath - 模版对应的相对路径public CmsLinkProcessor(Context context, int m_mode, java.lang.String encode, java.lang.String templatePath, java.lang.String m_relativePath)
context - 内容管理上下文m_mode - 处理类型:替换链接还是处理链接encode - 链接处理字符编码templatePath - 模版对应的相对路径public CmsLinkProcessor(Context context, int m_mode, java.lang.String encode)
context - 内容管理上下文m_mode - 处理模型,是替换链接,还是处理链接encode - 文档处理编码类型public java.lang.String getAbsoluteTemplateRootPath()
public java.lang.String getTemplateRootPath()
public java.lang.String getCMSContextPath()
public java.lang.String getAbsoluteStyleRootPath()
public java.lang.String getStyleRootPath()
public java.lang.String getAbsoluteProjectRootPath()
public java.lang.String getProjectRootPath()
public java.lang.String getAbsoluteImagesRootPath()
public java.lang.String getWebSiteRootPath()
public java.lang.String getImagesRootPath()
protected boolean isTemplateProcess()
public static java.lang.String escapeLink(java.lang.String source)
&, e.g. replaces them with a
&.
source - the String to escapepublic static java.lang.String unescapeLink(java.lang.String source)
&, that is replaces them with a
&.
source - the String to unescapepublic java.lang.String processLinks(java.lang.String content)
throws org.htmlparser.util.ParserException
Macros are replaced by links.
content - the content to processorg.htmlparser.util.ParserException - if something goes wrongpublic java.lang.String replaceLinks(java.lang.String content)
throws org.htmlparser.util.ParserException
Links are replaced by macros.
content - the content to processorg.htmlparser.util.ParserException - if something goes wrongpublic void visitTag(org.htmlparser.Tag tag)
visitTag 在接口中 I_CmsHtmlNodeVisitorvisitTag 在类中 CmsHtmlParsertag - the tag to processI_CmsHtmlNodeVisitor.visitTag(org.htmlparser.Tag)public CmsLinkProcessor.CMSLink processDir(org.htmlparser.Tag tag, int linkhandletype)
link - protected void processOutlineTag(org.htmlparser.Tag tag)
tag - public boolean containSeparatorToken()
public boolean containSeparatorIndexTag()
protected void processSrcOfTag(org.htmlparser.Tag tag)
tag - protected void processBackgroungPropertyOfTag(org.htmlparser.Tag tag)
tag - protected void processEmbedTag(org.htmlparser.Tag tag)
tag - protected void processObjectTagParam(org.htmlparser.tags.ObjectTag tag,
java.lang.String paramName)
protected void processObjectTag(org.htmlparser.tags.ObjectTag tag)
tag - protected void processScriptTag(org.htmlparser.tags.ScriptTag tag)
tag - protected void handleStyleLink(java.lang.String relativeFilePath)
protected void processStyleTag(org.htmlparser.tags.StyleTag tag)
tag - protected CmsLinkProcessor.CMSLink dealStyleCMSLink(java.lang.String href, int linkhandletype)
href - protected java.lang.String handleStyleCode(java.lang.String styleCode)
styleCode - protected void processStylePropertyOfTag(org.htmlparser.Tag tag)
tag - protected void processFrameTag(org.htmlparser.tags.FrameTag tag)
tag - protected void processImageTag(org.htmlparser.tags.ImageTag tag)
tag - the tag to processprotected CmsLinkProcessor.CMSLink processLink(java.lang.String linkurl)
tag - the tag to processprotected void processBaseHrefTag(org.htmlparser.tags.BaseHrefTag baseTag)
protected void recordTemplateLink(CmsLinkProcessor.CMSLink link)
protected void recordContentTemplateLink(CmsLinkProcessor.CMSLink link)
protected int needProcess(java.lang.String link,
boolean ishref)
link - protected int needProcessStyleAtrribute(java.lang.String link)
link - protected void processHrefTag(org.htmlparser.tags.LinkTag tag)
tag - the tag to processprotected void processCImageTag(org.htmlparser.tags.ResourceTag tag)
[cimage src="uploadfiles/201309/20130916033550921.jpg"][/cimage]
tag - the tag to processprotected void processCMediaTag(org.htmlparser.tags.ResourceTag tag)
[cmedia src="uploadfiles/201309/flash.flv" width="200" height="200" type="audio/x-pn-realaudio-plugin" autostart="true" controls="IMAGEWINDOW,ControlPanel,StatusBar" console="Clip1"][/cmedia]
tag - the tag to processprotected void processCFileTag(org.htmlparser.tags.ResourceTag tag)
[cfile]uploadfiles/201309/flash.flv[/cfile]
tag - the tag to processprotected void processCFlashplayerTag(org.htmlparser.tags.ResourceTag tag)
[cflashplayer pic='uploadfiles/201309/20130916033550921.jpg']uploadfiles/201309/flash.flv[/cflashplayer]
tag - the tag to processprotected java.lang.String processStringLink(java.lang.String href_)
protected void processLinkTag(org.htmlparser.Tag tag)
tag - the tag to processpublic CmsLinkProcessor.CMSCodeParser create(java.lang.String code)
public CmsLinkProcessor.CMSCodeParser create(java.io.File file)
public int getHandletype()
public void setHandletype(int handletype)
setHandletype 在接口中 com.frameworkset.platform.cms.driver.htmlconverter.CmsLinkProcessorInfpublic CMSTemplateLinkTable getOrigineTemplateLinkTable()
public CmsLinkTable getOrigineStaticPageLinkTable()
public CmsLinkTable getOrigineDynamicPageLinkTable()
public CmsLinkTable getExternalPageLinkTable()
public static void main(java.lang.String[] args)
protected boolean isStyleLink(java.lang.String href)
href - public boolean isList()
public CmsLinkProcessor.CMSLink createCMSLink(java.lang.String link, java.lang.String relativePath)
link - 原始linkrelativePath - 相对路径