Какие они, semi-valid?

20 июня 2008 года, 08:44

Очень часто в нашей повседневной жизни мы слышим слова с приставкой «полу-». Очевидно, что с этой приставкой слово приобретает оттенок чего-то сделанного на 50 процентов от возможного результата. В большинстве случае с этой приставкой связаны негативные ассоциации, но не всегда стоит связывать такие ассоциации с контекстом.

Переходя от лирики к сухой теории, хочется напомнить, что валидация документа — это один из ключевых этапов при разметке документа. Но раз есть такой этап, то есть и промежуточные, ведь так? Именно поэтому я позволю себе представить читателям небольшую теорему по поводу документов с верификацией «semi-valid».

Что за концерт?

Документы называются semi-valid, если они проходят обработку XML-парсером.

Что значит это загадочное словосочетание? Давайте-ка расшифруем это немедленно! Semi-valid документами называются такие документы, у которых верна собственная структура. Грубо говоря, это такой документ, который проходит обработку XML-парсером (или XML-валидатором, но так как он, естественно, включает в себя этот самы парсер, то под первым подразумевается и второе) и, возможно, проходит обработку SGML-парсером, к примеру, на уровне XHTML. Очевидно, что если структура документа не была грубо нарушена, то он будет semi-valid, а если он соответствует необходимым правилам определённого языка разметки, основанного на SGML, то он является валидным с точки зрения этого языка.

Приведу пример одного лилипутных размеров документа, в качестве примера semi-valid документа:

<html> <head> <title>Мой документ</title> </head> <body> <div> <p>Параграф один</p> <p>Параграф уже не один</p> </div> <img src="/images/img.png" /> </body> </html>

Сразу видно, что документ не пройдёт обработку в нашем любимом валидаторе, оттого, что хотя бы у него нет декларации типа документа (загадка: что ещё помешает валидатору?). Но от этого данный документ не потерял маркировку semi-valid! Следующий же документ не является правильным с точки зрения структуры (эта неправильность видна даже невооружённым глазом):

<head> <title>Мой документ</title> </head> <body> <img src="/images/img.png" /> </body>

Афиша развязки

Вот такая вот незатейливая µ-теоремка. Использовать на практике это выражение имеет смысл, думаю, лишь в технической литературе и неслабых технических, «гиковских», речах, однако данное определение является очень узкоспециализированным.

Несмотря на то, что документы являются semi-valid, никогда не пренебрегайте валидацией ваших документов валидатором от W3. Удачи вам и вашей домашней вёрстке.

Мнения (4)

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

  • Mischka

    23 июня 2008 г.18:04

    > загадка: что ещё помешает валидатору?

    Заголовок Content-Type: application/xhtml+xml обязателен для использования сокращенных тэгов типа <img … />. При заголовке Content-Type: text/html нужно юзать <img …>

  • Mischka

    23 июня 2008 г.18:10
    <img src="/images/img.png" />

    Должен присутствовать атрибут alt

  • Дин автор

    23 июня 2008 г.22:22

    Молодец, держи Валидаторову Печеньку (или что-то другое оранжевое, я не помню). :-)

    Про Content-Type — верно не во всех случаях, но об этом мы с тобой уже говорили в приватной беседе.

  • Mischka

    24 июня 2008 г.11:06

    Да. При Content-Type: text/html достаточно указать DOCTYPE в первой строке, соответствующий xhtml.

Я тоже знаю!

Для обращения к человеку используйте символ @, после которого следует имя того, к кому обращаетесь (пробелы заменяются на знак подчёркивания). Если вам интересно, можете подписаться на комментарии по RSS или по эл. почте. Ведите себя достойно, вы же не роботы, правда?

Вы можете использовать следующие XHTML-элементы в разметке комментария: strong, em, span[class=crossline], a[href=uri], code[type=язык], blockquote, ul и ol. В качестве языка кода может быть указан, например, javascript или css.