Document划分(ContentAssist)
来源:互联网 发布:ccf工资计算java 编辑:程序博客网 时间:2024/06/05 08:59
Eclipse WTP的HTML Editor或JSP Editor,会根据鼠标所处的上下文环境,显示不同的内容助理(ContentAssist)。若需要开发一个具有类似功能的编辑器,有必要对Document的划分有个了解。
以下是开发中记录和整理的一些内容,供参考用。
JSP Document
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<%@ page contentType="text/html; charset=UTF-8" %>
<script type="text/javascript">
</script>
<style type="text/css">.r
.r
.r</style>
</head>
<body>
<!--Comment -->
</body>
</html>
例1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
名称 → 类型 : regionStartIndex- regionEndIndex/ regionEndIndex(包含空格)
ContextRegion → XML_DECLARATION_OPEN : 0-2 ⇒ [<!]
ContextRegion → XML_DOCTYPE_DECLARATION : 2-9/10 ⇒ [DOCTYPE ]
ContextRegion → XML_DOCTYPE_NAME : 10-14/15 ⇒ [html ]
ContextRegion → XML_DOCTYPE_EXTERNAL_ID_PUBLIC : 15-21/22 ⇒ [PUBLIC ]
ContextRegion → XML_DOCTYPE_EXTERNAL_ID_PUBREF : 22-56/57 ⇒ [“//W3C...” ]
ContextRegion → XML_DOCTYPE_EXTERNAL_ID_SYSREF : 57-108 ⇒ [“http...”]
ContextRegion → XML_DECLARATION_CLOSE : 108-109 ⇒ [>]
例2
<%@ page contentType="text/html; charset=UTF-8" %>
名称 → 类型
ContextRegion → JSP_DIRECTIVE_OPEN ⇒ [<%@ ]
ContextRegion → JSP_DIRECTIVE_NAME ⇒ [page ]
AttributeNameRegion → XML_TAG_ATTRIBUTE_NAME ⇒ [contentType]
AttributeEqualsRegion → XML_TAG_ATTRIBUTE_EQUALS ⇒ [=]
AttributeValueRegion → XML_TAG_ATTRIBUTE_VALUE ⇒ [“…” ]
ContextRegion → JSP_DIRECTIVE_CLOSE ⇒ [%>]
例3
<style type="text/css">
名称 → 类型 : regionStartIndex- regionEndIndex/ regionEndIndex(包含空格)
TagOpenRegion → XML_TAG_OPEN : 0-1 ⇒ [<]
TagNameRegion → XML_TAG_NAME : 1-6/8 (注:包含两个空格) ⇒ [style ]
AttributeNameRegion → XML_TAG_ATTRIBUTE_NAME : 8-12 ⇒ [type]
AttributeEqualsRegion → XML_TAG_ATTRIBUTE_EQUALS : 12-13 ⇒ [=]
AttributeValueRegion → XML_TAG_ATTRIBUTE_VALUE : 13-23 ⇒ [“text/css”]
TagCloseRegion → XML_TAG_CLOSE : 23-24 ⇒ [>]
例4
<style type="text/css">.r .r .r</style>
名称 → 类型
ForeignRegion → BLOCK_TEXT ⇒ [3个”.r”]
例5
</style>
名称 → 类型
EndTagOpenRegion → XML_END_TAG_OPEN ⇒ [</]
TagNameRegion → XML_TAG_NAME ⇒ [style]
TagCloseRegion → XML_TAG_CLOSE ⇒ [>]
例6
</style>|__此区域__| <head>
名称 → 类型
XMLContentRegion → XML_CONTENT ⇒ [文字显示的区域]
例7
<!--Comment -->
名称 → 类型
ContextRegion → XML_COMMENT_OPEN ⇒ [<!--]
ContextRegion → XML_COMMENT_TEXT ⇒ [Comment ]
ContextRegion → XML_COMMENT_CLOSE ⇒ [-->]
参考:
org.eclipse.wst.html.ui.internal.contentassist.HTMLContentAssistProcessor#computeCompletionProposals(…)
org.eclipse.wst.xml.core.internal.regions.DOMRegionContext.java
- Document划分(ContentAssist)
- eclipse contentassist快捷键
- MyEclipse ContentAssist 快捷键冲突解决
- 划分
- 划分
- document
- document
- Document
- document
- Document
- Document
- document
- Document
- document
- document
- document
- Document
- document
- 轻重缓急
- map容器简单应用
- topcoder504.5 不会作,什么都不会,好难,我还能干什么只能模拟,只能敲代码谁能告诉我该怎么作
- E c++ 笔记
- topcoder504.5 不会作,什么都不会,好难,我还能干什么只能模拟,只能敲代码谁能告诉我该怎么作
- Document划分(ContentAssist)
- 基于CAN总线智能建筑监控系统的通信协议设计(一)
- Tomcat JSP预编译(JSP Jar包实现)
- EJB延迟加载例外解决方法
- JDK JRE 的作用与区别
- 高新技术41-48
- You may get compilation errors for afxsock.h
- Triomino 拼图
- win7中安装asp.net的问题 编译器错误信息: CS0016: 未能写入输出文件