:JSP定製標記:我寫具有以下TLD我的JSP定製標記缺少DTD/XML模式
<?xml version="1.0" encoding="UTF-8"?>
<taglib
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.1">
<tlibversion>1.0</tlibversion>
<jspversion>2.1</jspversion>
...
現在Eclipse的赫利俄斯抱怨說「沒有語法限制(DTD或XML模式)的檢測文件。」
我知道如何禁用警告,但我想知道如何通過提供DTD或模式信息來解決問題。
通過上面這段XML的方式,我有:
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd"
,但它似乎並沒有幫助。彼得的建議
UPDATE我就在我的窗口>首選項> XML> XML目錄來檢查,我發現可能適合以下情況:
Entry element: Public
Location: dtdsAndSchemas/web-jsptaglibrary_1_2.dtd in jar file
usr/local/eclipse/plugins/org.eclipse.jst.standard.schemas_1.1.0.v201003031644.jar
URI: jar:file:/usr/local/eclipse/plugins/org
.eclipse.jst.standard.schemas_1.1.0.v201003031644.jar!/dtdsAndSchemas
/web-jsptaglibrary_1_2.dtd
Key type: Public ID
Key: -//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN
於是,我就在下面添加到我的TLD :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd">
現在我以下錯誤:在該行發現
多個批註:
- 必須爲元素類型「taglib」聲明屬性「xsi:schemaLocation」。
- 必須爲元素類型「taglib」聲明屬性「版本」。
值爲「http://java.sun.com/xml/ns/javaee」的屬性「xmlns」必須具有值「http://java.sun.com/JSP/ TagLibraryDescriptor」。
schema_reference.4:無法讀取模式文檔 '網絡jsptaglibrary_2_1.xsd',因爲
1)找不到文檔; 2)文件不能被讀取; 3)文檔的根元素不是。
元素類型「taglib」的內容必須匹配「(tlib版本,jsp版本,短名稱,uri?,顯示名稱?,小圖標?,大圖標?,描述?驗證?,監聽器*,標籤+)」。
- 必須爲元素類型「taglib」聲明屬性「xmlns:xsi」。
我的第一個問題是,你使用Eclipse的Java EE開發人員? – 2011-05-26 06:16:51
是的,我下載了Java EE的包。 – stivlo 2011-05-26 07:32:39