HTML5 Pass-Through элемент вызывает Eclipse предупреждение "Неизвестный тег"
Мой 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 просто не в состоянии проверить это правильно.
1 ответ
Это не проблема JSF. У вас все равно будет та же самая проблема при удалении триггера проходного элемента. jsf:id
, Вы бы даже столкнулись с точно такой же проблемой, когда не используете теги / атрибуты JSF где-либо в файле XHTML.
<main>
тег является относительно новым в HTML5 (он был добавлен только в HTML5 CR августа 2013 года). Другие теги HTML5, которые в настоящее время находятся в вашем документе XHTML, уже существуют (еще в далеком 2008 году). Затмение просто не узнает <main>
в качестве тега, зарегистрированного в пространстве имен XML по умолчанию, как http://www.w3.org/1999/xhtml
, Eclipse содержит внутренний список зарегистрированных тегов. Если обновление до последней версии Eclipse (SR) не решит проблему, то лучше всего сообщить об этом как об ошибке ребятам из Eclipse. А пока просто выберите опцию быстрого исправления "Игнорировать" главный "элемент в проверке HTML5".
Не связанный с конкретной проблемой, этот пролог XML здесь не принадлежит. Избавиться от этого. Кроме того, меня также интересует необходимость того, чтобы заголовок, навигация, основной и нижний колонтитулы были компонентами JSF. Я не вижу каких-либо полезных приборов реального мира с этим. Скорее всего, вы бы просто сохранили их в формате HTML. Это избавляет вас от ненужных накладных расходов.