HTML5 直通元素导致日食警告'Unknown tag'



我的JSF 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抱怨

未知标记(main)。

我想知道是我的文件格式不正确,还是Eclipse无法正确验证这一点。

这不是JSF的问题。当删除passthrough元素触发器jsf:id时,您仍然会遇到完全相同的问题。如果不在XHTML文件中的任何位置使用JSF标记/属性,您甚至仍然会遇到完全相同的问题。

<main>标签在HTML5中相对较新(它只是在2013年8月的HTML5CR中添加的)。XHTML文档中当前的其他HTML5标记已经存在更长的时间(早在2008年)。Eclipse根本不将<main>识别为在默认XML名称空间中注册的标记(由http://www.w3.org/1999/xhtml标识)。Eclipse拥有一个注册标签的内部列表。如果升级到最新的Eclipse(SR)版本并不能解决问题,那么您最好将此问题报告给Eclipse人员。同时,只需选择快速修复选项"忽略HTML5验证中的'main'元素"


与具体问题无关,XML prolog不属于那里。摆脱它。此外,我还想知道";标题"nav"主";以及";页脚";是整个JSF组件。我真的没有看到任何有用的现实世界电器与此。你最好保持它们的纯HTML格式。这样可以节省不必要的开销。

另请参阅:

  • XML prolog/指令未从XHTML输出中删除
  • JavaServer Faces2.2和HTML5支持,为什么XHTML仍在使用

相关内容

  • 没有找到相关文章