Должен ли я начинать с HTML или XHTML?

Итак, с чего начать, HTML или XHTML? Я новичок и хочу иметь прочные основы языка разметки, но по мере того как я начал учиться, я обнаружил, что некоторые люди используют HTML и некоторые XHTML.

Ответ 1

XHTML похож на HTML, но не sloppy. Я даже не могу думать о причине, кроме лень, чтобы не использовать ее.

Ответ 2

Обычная мудрость пришла в этот круг по кругу. Назад, как и в 2002 году, все были gung-ho для XHTML, но многие люди (включая меня) не имели веских причин. Это была просто крутая новинка, и все вскочили на подножку, начали добавлять XHTML в свои навыки возобновления, а не только HTML, которые выглядели настолько простыми и не впечатляющими.

Что происходит сейчас, когда HTML5 закончен, люди начинают понимать, что с хорошим старомодным HTML нет ничего плохого. Это язык Интернета. Вот за и против XHTML, как я их вижу:

Pro

  • Позволяет вставлять XML файл без xhtml в вашу веб-страницу, например, элемент SVG. Это невозможно с помощью простого HTML.
  • Позволяет легко анализировать ваши документы с помощью синтаксического анализатора XML, что может устранить необходимость использования hpricot или BeautifulSoup, если вы хотите заменить все теги H1 тегами H2 в шаблонах вашего сайта.

Con

  • IE не понимает тип mime 'application/xhtml + xml', так как это касается того, что вы отправляете неверный HTML-код.
  • Это немного более подробный. <br> и <table cellspacing=0 cellpadding=0> выглядит, по-моему, более чем <br /> и <table cellspacing="0" cellpadding="0">.

Для XHTML должны быть некоторые преимущества, которые мне не хватает, но я сам использую HTML для всех в наши дни.

Ответ 3

XHTML полезен только в том случае, если вы хотите автогенерировать/управлять/проверять/etc код HTML с помощью инструмента на основе XML, такого как инфраструктура MVC на основе компонентов (например, Sun JSF, Apache Struts, Microsoft ASP.NET и т.д. ) или с XSLT. Разбор/форматирование HTML программно сложнее XML, потому что HTML позволяет здесь и там не закрывать теги, например. <br>. XML намного проще анализировать/форматировать программно, потому что требуется well-formed.

Если вы только начинаете и/или вручную пишете "plain vanilla" HTML, я бы рекомендовал использовать HTML 4.01 элементы с помощью HTML5 doctype. На самом деле нет необходимости массировать HTML-код в формате XML.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Page title</title>
    </head>
    <body>
        <h1>Heading</h1>
        <p>Paragraph</p>
    </body>
</html>

элементы HTML 5 пока не получили широкого распространения, поэтому рекомендуется придерживаться элементов HTML 4.01. Тег HTML 5 запускает режим стандартов в большинстве браузеров, включая IE6. Другое преимущество HTML5 заключается в том, что он позволяет закрывать короткие тэги, как в XHTML. Также см. глава 3.25 HTML5:

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

В принципе, даже если вы пишете чистый XHTML, использование <!DOCTYPE html> по-прежнему делает его действительным (и запускает веб-браузеры в правильном стандартном режиме).

Ответ 4

Когда дело доходит до обучения или другого, между ними действительно немного мало. XHTML - это, по сути, подмножество HTML, которое поощряет (или, скорее, требует) более строгие стандарты - в частности, это приложение стандарта XML для HTML. Таким образом, любой действительный XHTML также является допустимым HTML (по большей мере, по крайней мере).

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

Основная особенность XHTML заключается в том, что для вашего кода требуется высокий уровень качества, но это то, что вы должны делать в любом случае в HTML.

Ответ 5

XHTML предназначен для людей типа, которые считают, что XML выглядит более "опрятным", чем обычный HTML.

Но на самом деле это не имеет большого значения. Вы можете переключиться с одного на другой быстрее, чем потребуется, чтобы пообедать.

Ответ 6

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

Ответ 7

Начните с HTML, но используйте валидатор. В HTML5 все, кажется, сосредотачиваются на HTML, а не на сериализации XHTML.

  • Как я объясняю в моем ответе здесь, разработчики XML хотели обеспечить более высокие стандарты кодирования и упростить синтаксический анализ, но это работает только в том случае, если почти все переключаются. Вместо того, чтобы полагаться на свой браузер для обеспечения качества кода, полагайтесь на проверку.
  • Из-за ограниченной поддержки XHTML в Internet Explorer <= 8, почти все используют XHTML как text/html. Это фактически ограничивает вас подмножеством HTML и XHTM и требует от вас соблюдения рекомендаций по совместимости. Вы можете выбрать, какой формат будет использоваться на основе пользовательского агента, но это грязно.

Учитывая ограниченные преимущества, я настоятельно рекомендую HTML, особенно если вы новичок.

Ответ 8

HTML и XHTML - это один и тот же язык, имеющий несколько разные синтаксисы. Как только вы знаете один, вы знаете другого.

Это действительно не имеет значения.