Означает ли использование "JSP Document" / "JSP в нотации XML" вывод XHTML? - PullRequest
1 голос
/ 03 июня 2010

Я действительно не уверен в этом: означает ли использование «JSP Document» / «JSP в нотации XML» вывод XHTML?

Если это так, есть ли что-то особенное, что нужно для создания "правильной" страницы XHTML?

Более конкретно: могу ли я иметь действительный «Документ JSP» (JSP в XML), который создает недопустимую страницу XHTML?

Ответы [ 2 ]

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

Я действительно не уверен в этом: означает ли использование "JSP Document" / "JSP в нотации XML" вывод XHTML?

Это по крайней мере подразумевает использование и создание правильно сформированного XML. Если вы напишете неверный XML, то при синтаксическом анализе произойдет ошибка. Если он генерирует правильно сформированный XML, то это может быть HTML4, потому что закрытие ярлыков типа br, hr, meta и link запрещено.

Что бы вы посоветовали использовать при использовании Документа JSP? переходная? строги? HTML5 XML? HTML5 HTML? (HTML5 позволяет закрывать теги вроде <br/>)

Поскольку это правильно сформированный XML, вам следует выбрать либо XHTML, либо HTML5. Хотя спецификация HTML5 все еще находится в черновом режиме, она позволяет закрывать ярлыки. Также см. Конец главы 3.2.2 Элементы :

Некоторым элементам, однако, запрещено содержать какой-либо контент вообще. Они известны как пустые элементы. В HTML приведенный выше синтаксис нельзя использовать для пустых элементов. Для таких элементов конечный тег должен быть опущен, потому что элемент автоматически закрывается анализатором. Такие элементы включают, среди прочего, br, hr, link и meta

HTML Пример:

<link type="text/css" rel="stylesheet" href="style.css">

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

Пример:

<link type="text/css" href="style.css"/>

Авторы могут дополнительно выбрать , чтобы использовать этот же синтаксис для пустых элементов в синтаксисе HTML. Некоторые авторы также предпочитают включать пробелы перед косой чертой, однако это не обязательно. (Использование пробелов таким способом является соглашением, унаследованным от рекомендаций по совместимости в XHTML 1.0, Приложение C.)


Тогда выбор между переходным и строгим зависит от степени веб-стандартов, которые вы хотели бы поддерживать. Для этого таблица внизу из на этом сайте дает отличный обзор.

Для начала вы должны как можно больше избегать режима Quirks , так как это вызывает ошибку box box в браузере MSIE, которая вызывает неудобства в полях, отступах, размерах элементов, если указано CSS. Отсутствие или неправильный тип документа активируют этот режим.

Я настоятельно рекомендую выбрать Strict doctype, поскольку блочная модель и поведение будут максимально согласованы между различными веб-браузерами, о которых знает мир. Любой из следующих типов документов подходит, в зависимости от того, какие элементы / атрибуты вы хотите поддерживать / vaildate.

XHTML 1.0 строгий :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

или новее XHTML 1.1 (строгий, на основе модулей) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

или (все еще в черновом режиме) HTML5 doctype :

<!DOCTYPE html>

Обратите внимание, что вам нужно убедиться, что заголовок HTTP Content-Type установлен на text/html, а не application/xml или application/xhtml+xml при переходе на XHTML, иначе MSIE все еще может сходить с ума, так как он не поддерживает это. Также см. вышеупомянутый веб-сайт Doctype для более подробной информации. В той же статье действительно упоминается, что использование XHTML в качестве text/html считается вредным , но это применимо только тогда, когда он обрабатывается с объявлением <?xml?> и / или содержит встроенные сценарии JavaScripts, не встроенные в CDATA блоках.

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

Это зависит от вашего определения XHTML. Для большинства людей XHTML просто означает HTML в правильно сформированном XML. В этом смысле JSP Document подразумевает XHTML, потому что сам JSP Document является правильно сформированным XML.

Однако сам документ JSP не применяет никаких правил XHTML. Например, вы все еще можете сгенерировать XHTML 1.0 Strict документ с устаревшими тегами, такими как

.

Также можно использовать пользовательские теги в документе JSP, который генерирует теги не-XML, что делает весь документ не XML.

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