前面系列文章分析了 WTP 的語法文檔、語義文檔與結構化模型,並在此基礎上對預設 StructuredTextEditor 進行了部分功能客製化。但我們需要的資訊並不全包含於這些模型中。例如:判斷當前 JSP 文檔中使用的特定標籤在 TLD 中如何聲明、關聯的 TLD 如何定義等。這些屬於元資料資訊,WTP 稱為 Content Model(內容模型)。本節介紹其中一種:TLD 內容模型,後續章節將基於此開發自動編輯策略。
顧名思義,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" "https://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.0</jspversion>
<shortname>test1</shortname>
<uri>https://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>
WTP 會將這類 TLD 解析為內容模型,供編輯器在標籤驗證、自動提示等場景使用。