HTML5 Pass-Through 元素导致 Eclipse 警告“未知标签”

2024-01-05

My 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 抱怨

未知标签(主要)。

我想知道我的文件是否存在某种格式错误,或者 Eclipse 无法正确验证该文件。


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

The <main>标签在 HTML5 中相对较新(仅在2013 年 8 月的 HTML5 CR http://www.w3.org/TR/2013/CR-html5-20130806/)。当前 XHTML 文档中的其他 HTML5 标记已经存在更长时间(早在 2008 年)。 Eclipse 根本无法识别<main>作为在默认 XML 命名空间中注册的标记,由http://www.w3.org/1999/xhtml。 Eclipse 拥有已注册标签的内部列表。如果升级到最新的 Eclipse (SR) 版本不能解决问题,那么最好的办法就是将此问题报告给 Eclipse 人员。同时,只需选择快速修复选项“忽略 HTML5 验证中的‘main’元素”.


无关对于具体的问题,XML 序言不属于那里。摆脱它。此外,我还想知道“header”、“nav”、“main”和“footer”作为整个 JSF 组件的必要性。我在现实世界中并没有真正看到任何有用的设备。您很可能只需将它们保留为纯 HTML 即可。这可以节省您不必要的开销。

也可以看看:

  • XML 序言/指令未从 XHTML 输出中删除 https://stackoverflow.com/questions/10698726/xml-prolog-instruction-not-removed-from-xhtml-output
  • JavaServer Faces 2.2 和 HTML5 支持,为什么仍然使用 XHTML https://stackoverflow.com/questions/19189372/javaserver-faces-2-2-and-html5-support-why-is-xhtml-still-being-used
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5 Pass-Through 元素导致 Eclipse 警告“未知标签” 的相关文章

随机推荐