ИНФОРМАЦИЯ,    ДИЗАЙН,    ПЕРЕВОДЫ,    РЕКЛАМА   .   .   .
w a p - с а й т
Информационный портал
Сегодня:  
admin@aranea.ru
+79068922256

  aranea.ru || XHTML™ 1.0 | 3. Нормативное определение XHTML 1.0

3. Нормативное определение XHTML 1.0

Этот раздел - нормативный.

   3.1. Согласование документов
      3.1.1. Строго согласованные документы
      3.1.2. Использование XHTML с другими пространствами имен
   3.2. Согласование устройства вывода

3.1. Согласование документов

Эта версия языка XHTML предоставляет определение документов, строго согласованных с XHTML 1.0, и которые ограничены элементами и атрибутами из пространства XML и XHTML 1.0. Смотрите раздел 3.1.2. для получения информации об использовании XHTML с другими пространствами имен, например, с включением метаданных, выраженных в RDF внутри XHTML-документов.

3.1.1. Строго согласованные документы

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

  1. Он должен согласовываться с ограничениями, выраженными в одном из трех файлов DTD, расположенных в приложении В.
  2. Корневой элемент документа должен быть html.
  3. Корневой элемент документа должен содержать объявление xmlns для пространства имен XHTML [XMLNS]. Пространство имен для XHTML определено по адресу http://www.w3.org/1999/xhtml. Пример корневого элемента может выглядеть следующим образом:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  1. Декларация DOCTYPE в документе должна располагаться перед корневым элементом. Общедоступный идентификатор, включенный в декларацию DOCTYPE, должен ссылаться на один из трех DTD, находящийся в файлах DTD, использующих соответствующий формальный общедоступный идентификатор (Formal Public Identifier). Идентификатор системы может меняться для отражения соглашений локальной системы.
<!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.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  1. Подмножество DTD не должно использоваться для преодоления любых примитивов для параметров в DTD.

Декларация XML не обязательна для всех XML-документов, но авторам XHTML-документов строго рекомендуется использовать объявление XML во всех своих документах. Такая декларация обязательна, когда кодировка символов отличается от UTF-8 или UTF-16, установленной по умолчанию, и кодировка не установлена протоколом, более высокого уровня. Ниже приводится пример XHTML-документа. В этом примере включена декларация XML.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <p>Moved to <a href="http://example.org/">example.org</a>.</p>
  </body>
</html>

3.1.2. Использование XHTML с другими пространствами имен

Пространство имен XHTML может использоваться с другими пространствами имен XML, как в [XMLNS], хотя такие документ не согласуются строго с документами на языке XHTML 1.0, как определено выше. Работа консорциума W3C обращается к способам определения согласования документов, включенных во множество пространств имен. Например, смотрите [XHTML+MathML].

Следующий пример показывает способ, которым может использоваться XHTML 1.0 вместе с рекомендацией MathML:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>A Math Example</title>
  </head>
  <body>
    <p>The following is MathML markup: </p>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <apply> <log/>
        <logbase>
          <cn> 3 </cn>
        </logbase>
        <ci> x </ci>
      </apply>
    </math>
  </body>
</html>

Следующий пример показывает способ, которым разметка XHTML 1.0 может инкорпорироваться в другое поле имен XML:

<?xml version="1.0" encoding="UTF-8"?>
<!-- initially, the default namespace is "books" -->
<book xmlns='urn:loc.gov:books'
    xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en">
  <title>Cheaper by the Dozen</title>
  <isbn:number>1568491379</isbn:number>
  <notes>
    <!-- make HTML the default namespace for a hypertext commentary -->
    <p xmlns='http://www.w3.org/1999/xhtml'>
        This is also available <a href="http://www.w3.org/">online</a>.
    </p>
  </notes>
</book>

3.2. Согласование устройства вывода

Согласующееся устройство вывода должно соответствовать всем следующим критериям:

  1. Чтобы быть совместимым с рекомендациями XML 1.0 [XML], устройство вывода должно анализировать и оценивать XHTML-документ для правильного формирования. Если устройство вывода претендует на то, чтобы быть проверяющим на правильность, оно должно также проверять документы по отношению к указанному файлу DTD в соответствии с [XML].
  2. Когда устройство вывода претендует на поддержку возможностей, определенных в этой спецификации или требуемых этой спецификацией через нормативную ссылку, оно должно делать так способом, совместимым с определением возможностей.
  3. Когда устройство вывода обрабатывает XHTML-документ, как общий XML-документ, оно должно только распознавать атрибуты типа ID (т.е. атрибут id для большинства элементов XHTML), как идентификаторы фрагментов.
  4. Если устройство вывода обнаруживает элемент, который оно не признает, то оно должно обрабатывать содержание элемента.
  5. Если устройство вывода обнаруживает атрибут, который оно не признает, то должно игнорировать всю спецификацию атрибута (т.е. атрибут и его значение).
  6. Если устройство вывода обнаруживает значение атрибута, которое оно не признает, то оно должно использовать значение атрибута по умолчанию.
  7. Если оно обнаруживает ссылку на примитив (отличную от примитивов, определенных в этой рекомендации или в рекомендации для XML), для которого устройство вывода не обрабатывает декларацию (что может случится, если объявление находится во внутреннем подмножестве, которое устройство вывода не прочитало), ссылка на примитив должна обрабатываться как символы (начиная с амперсанда и заканчивая точки с запятой), которые размечают ссылку на примитив.
  8. При обработке содержания, устройства вывода, которые встречают символы или ссылки на символьные примитивы, которые распознаются, но не выводятся, могут заменить на другой, выводимый, которые даст то же самое значение, или должно выводить на экран документ таким образом, чтобы было ясно пользователю, что вывод не нормальный.
  9. Пробелы обрабатываются в соответствии со следующими правилами. Следующие символы определены в [XML] как пробельные символы:
    • SPACE (& # x 0 0 2 0 ;)
    • HORIZONTAL TABULATION (& # x 0 0 0 9 ;)
    • CARRIAGE RETURN (& # x 0 0 0 D ;)
    • LINE FEED (& # x 0 0 0 A ;)
    Процессор XML нормализирует коды конца строки (line end) разных систем в один простой символ LINE FEED, который передается приложению.

    Устройство вывода должно использовать определение для CSS для обработки пробельных символов [CSS2]. Обратите внимание на то, что рекомендации CSS2 не обращаются точно к вопросу обработки пробелов для наборов не латинских символов. К этому будет адресовано в будущих версиях CSS, ко времени которых эта ссылка будет модернизироваться.

Обратите внимание на то, что для производства канонического XHTML-документа, должны применяться выше указанные правила, а также правила в [XMLC14N].


← Назад | Вперед →
Copyright © 2006 -  aranea.ru