WTP TLD内容模型介绍
前面的系列文章中,我们已经分析了WTP的语法Document(IStructuredDocument)和语义Documnt (ICSSDocument或者IDOMDocument)以及和二者密切相关的IStructuredModel,并在这基础之上对WTP默 认提供的StructuredTextEditor进行了部分功能定制。
开发】基于WTP开发自定义的JSP编辑器(十)-eclipse jsp编辑器">
问题出现了,我们想要的信息全部包含在IStructuredDocument、IDOMDocument(ICSSDocument)或 IStructuredModel中吗? 没有。例如,如果我们需要访问上图JSP文档TLD相关信息(例如:判断当前JSP 文档中使用的特定标签在TLD中是如何声明的、和当前JSP文档想关联的TLD是怎样定义的、、、),这些 信息并不是直接放置于语法Document(IStructuredDocument)或者语义Document(IDOMDocument或者 ICSSDocument)中的。除了TLD相关的信息外,我们需要的还有其他的描述信息,所有这些信息可以看做 元数据信息,WTP将其称为content model(直译为内容模型吧^_^)。在本节中我们就先介绍一种内容模 型:TLD内容模型(TLD Content Model),在后面紧接下来的章节中,我们会基于本节介绍的TLD内容模 型开发一个自动编辑策略(auto edit strategy)。
【TLD Content Document】
所谓的TLD Content Document,从字面上就可以猜测出来是对某一TLD的描述文档。那我们就先看一个 TLD定义文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web- jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.0</jspversion>
<shortname>test1</shortname>
<uri>http://www.blogjava.net/zhuxing/tags/test1</uri>
<tag>
<name>test</name>
<tagclass>any</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>scope</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>