Где я могу найти примеры исходных кодов XHTML5? - PullRequest
11 голосов
/ 02 июня 2010

Где я могу найти образец X HTML 5 страниц? В основном я хочу знать, возможно ли смешивать и сопоставлять XHTML 5 с другими языками XML, такими как XHTML 1, или нет. Например, что-то вроде этого действительно в XHTML 5?

<!DOCTYPE html PUBLIC "WHAT SHOULD BE HERE?" 
          "WHAT SHOULD BE HERE?">
<html xmlns="WHAT SHOULD BE HERE?"
      xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
  <title><ui:insert name="title">Default title</ui:insert></title>
  <link rel="stylesheet" type="text/css" href="./css/main.css"/>
</head>

<body>

<div id="header">
    <ui:insert name="header">
        <ui:include src="header.xhtml"/>
    </ui:insert>
</div>


<div id="left">
  <ui:insert name="navigation" >
    <ui:include src="navigation.xhtml"/>
  </ui:insert>
</div>


<div id="center">
  <br />
  <span class="titleText"> <ui:insert name="title" /> </span>
  <hr />
  <ui:insert name="content">
    <div>
    <ui:include src="content.xhtml"/>  
    </div>
  </ui:insert>
</div>

<div id="right">
  <ui:insert name="news">
    <ui:include src="news.xhtml"/>
  </ui:insert>
</div>

<div id="footer">
  <ui:insert name="footer">
    <ui:include src="footer.xhtml"/>  
  </ui:insert>
</div>

</body>

</html>

Заранее спасибо.

Ответы [ 5 ]

7 голосов
/ 03 июня 2010

Вам не нужен тип документа вообще. Они не предназначены для работы с пространствами имен и не служат какой-либо полезной цели в XML. (В HTML они необходимы для перехода в режим стандартов.) Если вы действительно настаиваете на том, чтобы его по какой-то причине использовали просто <!DOCTYPE html>.

Что касается пространства имен:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets">

как вы уже используете, я полагаю.

Как видите, информации о версии, которую вы используете, нет. Это потому что тебе это не нужно. Для проверки вы можете выбрать свою цель в пользовательском интерфейсе, и браузеры никогда не смотрели версии. То есть в браузерах нет такой вещи как HTML3.2 или HTML4.01 или HTML5, только «HTML», и нет XHTML1.0, XHTML1.1 или XHTML5, только «XHTML». Сегодня они состоят в основном из HTML4.01 / XHTML1.0 и некоторых частей HTML5, а также некоторых проприетарных частей (хотя HTML5 определил большинство из них).

2 голосов
/ 05 ноября 2012

Это очень хороший вопрос, охватывающий нерешенные вопросы, над которыми W3C все еще работает на конец 2012 года:

Что касается вопроса DOCTYPE, могут быть новые разработки по вопросу DOCTYPE : по состоянию на ноябрь. 12 декабря 2012 года , Последний проект HTML5 редактора , касающийся синтаксиса HTML, в разделе "8.1.1 DOCTYPE" гласит:

  1. "DOCTYPE - обязательная преамбула [...]" => <!DOCTYPE html>
  2. "Для генераторов HTML, которые не могут выводить разметку HTML с [этим] коротким DOCTYPE, можно вставить унаследованную строку DOCTYPE [...]" => <!DOCTYPE html SYSTEM "about:legacy-compat">, если это абсолютно необходимо (например, Генератор XML)
  3. "Чтобы помочь авторам перейти с HTML4 и XHTML1, можно вставить устаревшую разрешенную строку DOCTYPE [...]" => например, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> (или любой из 5 других, см. Ниже)

Насколько я понимаю:

  • все 3 формы имеют одно и то же значение: «этот документ - HTML5», независимо от того, какой конкретный, допустимый , устаревший тип документа PUBLIC, используемый в целях обратной совместимости
  • и при использовании одного из них требуется (т. Е. Используйте первый, если у вас нет действительно веских причин не делать этого)

Если не произойдет редактирование в последнюю минуту, это должно быть включено в Рекомендацию кандидата W3C HTML5 от 8 ноября 2012 года.

Синтаксис XHTML остается неизменным по этому вопросу: «XML-документы могут содержать DOCTYPE, если это необходимо, но это не обязательно для соответствия этой спецификации.»


Подводя итог, начиная с 8 ноября 2012 года, будет допустимо любое из следующих действий :

<!DOCTYPE html>
<!DOCTYPE html SYSTEM "about:legacy-compat">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

И

  • любой другой тип документа недействителен ,
  • вообще без учёта, недопустимый HTML
  • и без типа документа по-прежнему опция для XML ...
1 голос
/ 02 июня 2010

Например, допустимо ли что-то подобное в XHTML 5?

Нет, и вы не могли бы сделать это с XHTML 1. Когда вы начинаете делать документы FOO + BAR, они не являются действительными FOO или действительными BAR, а представляют собой некоторую комбинацию из двух (которые могут соответствовать DTD и, следовательно, могут быть действительными FOO + BAR)

<!DOCTYPE html PUBLIC "WHAT SHOULD BE HERE?" 
      "WHAT SHOULD BE HERE?">

Пользовательский DTD, который описывает комбинацию языков разметки, которые вы используете.

Когда вы смешиваете пространства имен, обычно лучше забыть о DTD. В любом случае, он не будет совместим с HTML, поэтому о text/html не может быть и речи

<html xmlns="WHAT SHOULD BE HERE?"
       xmlns:ui="http://java.sun.com/jsf/facelets">

Пространство имен XHTML не изменилось. Это то же самое, что и любая другая версия XHTML.

1 голос
/ 02 июня 2010

Лучшим вариантом для вас, вероятно, является раздел спецификации HTML5 на XHTML , который в основном обращается к спецификации XML 1.0 5-го издания и спецификации пространств имен . Как там говорится, в XML нет определенного DOCTYPE для HTML5, что является ответом на часть DOCTYPE вашего вопроса. В нем, в частности, упоминается о смешивании HTML5 с другим содержимым в документах XML, так что это должно быть ответом на эту часть вашего вопроса.

0 голосов
/ 16 декабря 2013

Боюсь, что такого понятия, как XHTML5, не существует.

У вас может быть либо настоящий XHTML с одним из классических XHTML DOCTYPE (см. Другие ответы), либо вы можете добавить <!DOCTYPE html>, и тогда он в основном проверяется, но тогда он уже не полностью XHTML. Это будет работать, только если вы относитесь к нему как к HTML.

Например, этот файл

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
   <head><title>test</title></head>
   <body><p>&nbsp;</p></body>
</html>

будет работать, только если вы дадите ему расширение .html. С .xhtml, никак.

Вы можете подумать, что сохранение как .html не представляет особой проблемы, но тогда это HTML, независимо от того, что говорится в содержимом файла. Затем вы также можете выбросить декларацию XML, атрибут xmlns и все другие функции XHTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...