我用以下TLD编写了我的JSP自定义标记:
<?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 Helios抱怨“没有检测到文档的语法约束(DTD或XML模式).”
我知道如何禁用警告,我想知道如何通过提供DTD或架构信息来解决问题.
顺便说一句,在上面的XML中我有:
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd"
但它似乎没有帮助.
更新Peter的建议我去了我的窗口>偏好> 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
<?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”声明属性“version”.
>值为“http://java.sun.com/xml/ns/javaee”的属性“xmlns”的值必须为“http://java.sun.com/JSP/ TagLibraryDescriptor”.
> schema_reference.4:无法读取架构文档’web-jsptaglibrary_2_1.xsd’,因为
1)找不到文件;
2)文件无法阅读;
3)文档的根元素不是.
>元素类型“taglib”的内容必须匹配“(tlib-version,jsp-version,short-name,uri?,display-name ?,small-icon ?,large-icon ?,description?,validator ?,listener *,标签 )”.
>必须为元素类型“taglib”声明属性“xmlns:xsi”.