HTML5传递元素导致Eclipse警告';未知标签';
我的JSFHTML5传递元素导致Eclipse警告';未知标签';,eclipse,html,jsf,main,passthrough-elements,Eclipse,Html,Jsf,Main,Passthrough Elements,我的JSFtemplate.xhtml文件如下所示: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h=
template.xhtml
文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:jsf="http://xmlns.jcp.org/jsf">
<h:head>
...
</h:head>
<h:body>
<header jsf:id="head">
...
</header>
<nav jsf:id="nav">
...
</nav>
<main jsf:id="main">
...
</main>
<footer jsf:id="foot">
...
</footer>
</h:body>
</html>
...
...
...
...
...
Eclipse抱怨
未知标记(主)
我想知道我的文件是否存在某种形式的错误,或者Eclipse无法正确验证这一点。这不是JSF的问题。在删除passthrough元素触发器时,您仍然会遇到完全相同的问题
jsf:id
。如果不在XHTML文件中的任何位置使用JSF标记/属性,您甚至仍然会遇到完全相同的问题
标记在HTML5中相对较新(它只是在中添加的)。当前XHTML文档中的其他HTML5标记已经存在得更长了(早在2008年)。Eclipse根本无法将
识别为在默认XML命名空间中注册的标记,如http://www.w3.org/1999/xhtml
。Eclipse拥有一个已注册标记的内部列表。如果升级到最新的Eclipse(SR)版本并不能解决问题,那么最好将此问题报告给Eclipse人员。同时,只需选择快速修复选项“忽略HTML5验证中的‘main’元素”
与具体问题无关,XML prolog不属于这个问题。摆脱它。此外,我还想知道“header”、“nav”、“main”和“footer”作为整个JSF组件的必要性。我真的没有看到任何有用的现实世界的设备与此。您很可能只需要将它们保持为纯HTML。这样可以避免不必要的开销 另见:
而不是
。尽可能长时间地从最低限度开始。只有标签、输入、消息和转发器组件是必需的。其他是可选的。