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. Это избавляет вас от ненужных накладных расходов.

Смотрите также:

Другие вопросы по тегам