Ово је српски превод документа под насловом: 'XHTML 1.0: The Extensible HyperText Markup Language (Second Edition)'. Оригинални и нормативни текст документа налази се на адреси http://www.w3.org/TR/xhtml1/. Све напомене у тексту односе се на оригинални документ, не на овај превод. Сва права задржава W3C.

Превод на српски: Лука Станисављевић, контакт: luka [на] cincplug [тачка] com. Словне и језичке грешке и недоследности у преводу су могуће.

ћирилица - latinica

W3C

XHTML™ 1.0 Отворени хипертекстуални знаковни језик (друго издање)

Реформулација HTML 4 у XML 1.0

W3C препорука од 26. јануара 2000., ревизија од 1. августа 2002.

Ова верзија:
http://www.w3.org/TR/2002/REC-xhtml1-20020801
Последња верзија:
http://www.w3.org/TR/xhtml1
Претходна верзија:
http://www.w3.org/TR/2000/REC-xhtml1-20000126
Верзија са означеним разликама:
http://www.w3.org/TR/2002/REC-xhtml1-20020801/xhtml1-diff.html
Аутори:
Види обавештења.

Молимо погледајте ерату везану за овај документ, она можда укључује и исправке нормативног типа. Погледајте и преводе.

Овај документ је расположив и у следећим не-нормативним форматима: Вишеделна XHTML датотека, PostScript верзија , PDF верзија, ZIP архива и Gzip'd TAR архива.


Апстрактно

Ова спецификација дефинише друго издање XHTML 1.0, реформулације HTML 4 као XML 1.0 апликације, и три ДТД који одговарају онима дефинисаним у HTML 4. Семантика елемената и њихових атрибута дефинисани су у W3C препоруци за HTML 4. Ова семантика чини темељ будуће растегљивости XHTML-а. Компатибилност са постојећим HTML корисничким агентима је могућа ако се прати неколико мањих смерница.

Статус овог документа

Овај део описује статус овог документа и време његовог објављивања. Други документи могу да дођу на његово место. Најновији статус овог низа докумената одржава се на W3C.

Овај документ је друго издање спецификације XHTML 1.0 које укључује и промене у ерати од 1. августа 2002. Разлике између ове верзије и претходне Препоруке илустроване су у верзији са означеним разликама.

Ово друго издање није нова верзија XHTML 1.0 (прво издање је из 26. јануара 2000.). Измене у овом документу одражавају исправке примењене као плод коментара од стране заједнице и као резултат текућег рада Радне групе за HTML. Нема суштинских измена у овом документу - само су обједињене различите ерате.

Листа познатих грешака у овој спецификацији расположива је на http://www.w3.org/2002/08/REC-xhtml1-20020801-errata.

Молимо пријавите грешке у овом документу на www-html-editor@w3.org (архива), односно на адресу: luka [на] cincplug [тачка] com (ако уочите грешку у овом српском преводу). Јавна расправа о HTML питањима одвија се на мејлинг листи www-html@w3.org (архива).

Овај документ је произведен као део W3C HTML делатности. Циљеви Радне групе за HTML (само за чланове) објашњени су у Статуту Радне групе за HTML.

У време објављивања, радна група верује да није било патената релевантних за ову спецификацију. Тренутна листа патената релевантних за ову спецификацију може се наћи на страни за патенте Радне групе.

Листа тренутних препорука W3C и осталих техничких докумената може се наћи на http://www.w3.org/TR.

Кратак садржај

Потпун садржај

1. Шта је XHTML?

Ово поглавље је информативно.

XHTML је породица садашњих и будућих типова и модула докумената који репродукују, разврставају и проширују HTML 4 [HTML4]. XHTML породица типова докумената се заснива на XML-у, и у крајњој линији су и замишљени да раде у споју са корисничким агентима који се заснивају на XML-у. О детаљима везаним за ову породицу и њен развој расправља се подробније на [XHTMLMOD].

XHTML 1.0 (ова спецификација) је први тип документа у XHTML породици. То је реформулација три HTML 4 типа документа у виду апликација XML 1.0 [XML]. Намера је да се користи као језик за садржај који задовољава стандарде XML, а уз придржавање неколико једноставних смерница које следе, ради и на корисничким агентима који задовољавају HTML 4. Они који пребаце садржај у XHTML 1.0 схватиће следеће предности:

XHTML породица је следећи корак у развоју Интернета. Преласком на XHTML данас, они који раде на садржају могу да уђу у свет XML-а са свим његовим садашњим предностима, а да и даље остану уверени да ће њихов садржај остати компатибилан уназад и унапред.

1.1. Шта је HTML 4?

HTML 4 [HTML4] је SGML (Стандардни уопштени знаковни језик) апликација која задовољава Међународни стандард ISO 8879, и широко је прихваћен као стандардни језик за објављивање на Светској мрежи.

SGML је језик који описује знаковне језике, посебно оне који се користе у електронској размени докумената, управљању документима и њиховом објављивању. HTML је пример језика дефинисаног у SGML-у.

SGML је ту од средине 80-их година прошлог века и остао је прилично постојан. Та постојаност проистиче добрим делом из чињенице да је овај језик богат својствима и флексибилан. Та флексибилност, наравно, има своју цену, а та цена је у нивоу сложености који је спречио његово прихватање у мноштву окружења, укључујући Светску Мрежу.

Како је првобитно замишљен, HTML је требало да буде језик за размену научних и других техничких докумената, подесан да га користе они који нису стручњаци за израду докумената. HTML се опходио према проблему сложености SGML-а одређујући мали низ структурних и семантичких етикета погодних да се створе релативно једноставни документи. Поред поједностављивања структуре докумената, HTML је додао подршку за хипертекст. Мултимедијалне могућности су додате касније.

За заиста кратко време, HTML је постао широко популаран и брзо је прерастао своју првобитну намену. Од зачетка HTML-а, брзо су уведени нови елементи за употребу унутар HTML-а (као стандард) и за прилагођавање HTML-а вертикалним, високо специјализованим тржиштима. Ово преобиље нових елемената довело је до проблема са могућношћу докумената да раде једни с другима на различитим платформама.

1.2. Шта је XML?

XML™ је скраћеница за Отворени знаковни језик [XML].

XML је замишљен као начин да се поново достигне моћ и флексибилност SGML-а а да се избегне његова сложеност. Премда је он ограничена форма SGML-а, XML и даље задржава највећи део моћи и богатства SGML-а и све његове уобичајено коришћене могућности.

Задржавајући та корисна својства, XML уклања многа сложенија својства SGML-а која чине стварање и развој погодног софтвера како тешким тако и скупим.

1.3. Зашто је потребан XHTML?

Предности преласка на XHTML 1.0 су описане раније. Уопштено, неке од предности преласка на XHTML јесу:

2. Дефиниције

Ово поглавље је нормативно.

2.1. Терминологија

Следећи изрази користе се у овој спецификацији. Ови изрази проширују дефиниције из [RFC2119], засноване на сличним дефиницијама у ISO/IEC 9945-1:1990 [POSIX.1]:

Може
У односу на примену, реч "може" треба схватити као својство по избору које се не захтева у овој спецификацији али се може ставити на располагање. У односу на Прихватљивост докумената, реч "може" значи да се својство по избору не мора користити. Израз "по избору" има исто значење као и "може".
Мора
У овој спецификацији, реч "мора" треба схватити као треба схватити као обавезујући захтев за Строго задовољавајуће XHTML документе, или за њихову примену, зависно од контекста. Израз "ће" има исту дефиницију као и "мора".
По избору
Види "Може".
Резервисан
Вредност или понашање је неодређено, али није дозвољено да га користе Задовољавајући документи нити да га подржавају Задовољавајући кориснички агенти.
Ће
Види "мора".
Треба
У односу на примену, реч "треба" треба схватити као нешто што се у примени препоручује, али не захтева. У односу на документе, реч "треба" треба схватити као препоручену навику у програмирању а као захтев за Строго задовољавајуће XHTML документе.
Подржано
Нека својства у овој спецификацији могу се примењивати по избору. Ако је својство подржано, понаша се како је одређено у овој спецификацији.
Неодређено
Кад је вредност или понашање неодређено, спецификација не дефинише захтеве везане за преносивост својства у примени, чак и кад је суочено са документом који користи то својство. Документ који изискује посебно понашање у таквом случају, пре него да одобрава ма какво понашање кад користи то својство, није Строго задовољавајући XHTML документ.

2.2. Општи изрази

Атрибут
Атрибут је параметар елемента декларисаног у ДТД. Тип и опсег вредности атрибута, укључујући и могућу стандардну вредност, дефинисани су у ДТД.
ДТД
ДТД, или Дефиниција типа документа, је збир XML знаковних декларација које, као целина, дефинишу законску структуру, елементе и атрибуте који су расположиви за коришћење у документу који задовољава дату ДТД.
Документ
Документ је низ података који, пошто се сложи са другим низовима на које указује, бива устројен тако да садржи информацију садржану унутар елемената који су организовани како је дефинисано у придруженој ДТД. Види Прихватљивост докумената за више информација.
Елемент
Елемент је јединица структуре документа декларисана у ДТД. Модел садржаног елемента дефинисан је у ДТД, а додатна семантика може бити дефинисана у обичном опису елемента.
Својства
Својства су елементи, атрибути, и семантика везана за те елементе и атрибуте.
Примена
Види Кориснички агент.
Ишчитавање
Ишчитавање је чин којим се документ скенира, а информација садржана унутар документа бива филтрирана у контекст елемената у којима је информација садржана.
Приказивање
Приказивање је чин којим се информација у документу представља. То представљање се врши у облику најприкладнијем за дато окружење (нпр. аудитивно, визуелно, у штампи).
Кориснички агент
Кориснички агент је систем који процесира XHTML документе у сагласности са овом спецификацијом. Види Прихватљивост корисничких агената за више информација.
Провера
Провера је процес којим се документи у односу на придружену ДТД, ради сигурности да су структура, употреба елемената и употреба атрибута сагласни дефиницијама у датој ДТД.
Ваљано обликовано
Документ је ваљано обликован кад је кад је устројен према правилима дефинисаним у Поглављу 2.1 Препоруке за XML 1.0 [XML].

3. Нормативна дефиниција XHTML 1.0

Ово поглавље је нормативно.

3.1. Прихватљивост докумената

Ова верзија XHTML-а даје дефиницију Строго задовољавајућих XHTML 1.0 докумената, који су ограничени на атрибуте и елементе из именског простора XML и XHTML 1.0. Види Поглавље 3.1.2 ради информације о употреби XHTML-а са другим именским просторима, на пример како укључити мета-податке изражене у RDF формату у XHTML документе.

3.1.1. Строго прихватљиви документи

Строго прихватљиви XHTML документ је XML документ који изискује једино својства описана као обавезна у овој спецификацији. Такав документ мора да поштује сва следећа мерила:

  1. Мора да поштује ограничења изражена у једној од ДТД које се могу наћи међу ДТД и у Додатку B.

  2. Коренски елемент документа мора бити html.

  3. Коренски елемент документа мора да садржи xmlns декларацију за именски простор XHTML [XMLNS]. Именски простор за XHTML је дефинисан као: http://www.w3.org/1999/xhtml. Пример коренског елемента могао би да изгледа овако:

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr">
    
  4. Мора да постоји DOCTYPE декларација (декларација типа документа) у документу пре коренског елемента. Јавни идентификатор укључен у DOCTYPE декларацију мора да указује на једну од три ДТД које се могу наћи у ДТД уз употребу одговарајућег Формалног Јавног Идентификатора. Системски идентификатор може се променити да одрази локалне системске конвенције.

    <!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">
    
  5. Подниз ДТД не сме се користити да би се превазишли параметарски ентитети у ДТД.

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="sr" lang="sr">
  <head>
    <title>Виртуелна библиотека</title>
  </head>
  <body>
    <p>Пресељена на <a href="http://example.org/">example.org</a>.</p>
  </body>
</html>

3.1.2. Употреба XHTML са другим именским просторима

Именски простор XHTML може се користити са осталим именским просторима XML namespaces as per [XMLNS], премда такви документи нису Строго задовољавајући XHTML 1.0 документи по горњој дефиницији. W3C ради на томе да допре до начина да се одреди прихватљивост докумената који укључују више именских простора. На пример, види [XHTML+MathML].

Следећи пример показује начин на који XHTML 1.0 може да се користи у споју са Препоруком за MathML:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sr" lang="sr">
  <head>
    <title>Пример из рачуна</title>
  </head>
  <body>
    <p>Следе MathML знаци:</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"?>
<!-- у почетку, стандардни именски простор је "books" -->
<book xmlns='urn:loc.gov:books'
    xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="sr" lang="sr">
  <title>Јефтиније за туце</title>
  <isbn:number>1568491379</isbn:number>
  <notes>
    <!-- чини HTML стандардним именским простором за хипертекстуални коментар -->
    <p xmlns='http://www.w3.org/1999/xhtml'>
        Ово се може наћи и <a href="http://www.w3.org/">на мрежи</a>.
    </p>
  </notes>
</book>

3.2. Прихватљивост корисничких агената

Прихватљиви кориснички агент мора да поштује сва следећа мерила:

  1. Како би био у складу са Препоруком за XML 1.0 [XML], кориснички агент мора да ишчита и провери да ли је XHTML документ ваљано формиран. Ако кориснички агент представља као као кориснички агент мериторан за проверу, он мора и да провери документе у односу на наведену ДТД према [XML].
  2. Ако кориснички агент тврди да подржава својства дефинисана у овој спецификацији или обавезна према овој спецификацији кроз нормативни указ, он то мора чинити на начин који је у складу са дефиницијом својства.
  3. Кад кориснички агент обрађује XHTML документ као генерички XML, он ће распознати једино атрибуте типа ID (нпр. id атрибут већине XHTML елемената) као фрагментске идентификаторе.
  4. Ако кориснички агент наиђе на елемент који не препознаје, он мора да обради садржај елемента.
  5. Ако кориснички агент наиђе на атрибут који не препознаје, он мора да игнорише целокупно одређење атрибута (нпр., атрибут и његову вредност).
  6. Ако кориснички агент наиђе на вредност атрибута коју не препознаје, он мора да користи стандардну вредност тог атрибута.
  7. Ако наиђе на указ на ентитет (а ако тај ентитет није дефинисан у овој препоруци или у препоруци за XML) за који кориснички агент није обрадио декларацију (што може да се деси ако је декларација у спољном поднизу који кориснички агент није прочитао), указ на ентитет треба да се обради у виду знакова (почевши амперсандом и завршавајући се знаком тачка-зарез) који чине указ на ентитет.
  8. При обради садржаја, кориснички агент који наиђе на знакове или указе на ентитете знакова које препознаје али не може да их прикаже, може да их замени другачијим приказом са истим значењем, или мора да прикаже документ на такав начин да је кориснику очигледно да није дошло до нормалног приказа.
  9. Проредом се рукује према следећим правилима. Следећи знакови су дефинисани као [XML] знакови за проред:

    XML процесор нормализује различите знаке за крај реда између различитих система у јединствени знак за НОВИ РЕД, који се предаје апликацији..

    Кориснички агент мора да користи дефиницију из CSS-а за обраду знакова за проред [CSS2]. Имајте на уму да препорука о CSS2 не обрађује експлицитно тему руковања проредом у нелатиничним знаковним низовима. Ово ће се обрадити у будућој верзији CSS, а тада ће се овај указ освежити.

Имајте на уму да би, ради стварања Канонског XHTML документа, горе наведена правила морала да се поштују и да и правила у [XMLC14N] морају да се примене у документу.

4. Разлике у односу на HTML 4

Ово поглавље је информативно.

Због чињенице да је XHTML једна XML апликација, неке навике које су биле савршено легалне у HTML 4 [HTML4], који се заснивао на SGML-у, сада морају да се мењају.

4.1. Документи морају бити ваљано обликовани

Ваљана обликованост је нови концепт уведен од стране [XML]-а. У суштини, то значи да сви елементи морају или да имају затварајуће етикете или да буду написани у посебном облику (као што је доле описано), и да сви елементи морају да се уклопе како треба.

Премда је преклапање илегално и у SGML-у, постојећи браузери га махом допуштају.

ПРАВИЛНО: уклопљени елементи.

<p>ово је курзивом написано <em>поглавље</em>.</p>

НЕПРАВИЛНО: преклопљени елементи

<p>ово је курзивом написано <em>поглавље.</p></em>

4.2. Имена елемената и атрибута морају се писати малим словима

XHTML документи морају да користе мала слова за сва имена HTML елемената и атрибута. Ова разлика је неопходна јер је XML прави разлику између великих и малих слова, нпр. <li> и <LI> су различите етикете.

4.3. За елементе који нису празни, потребне су затварајуће етикете

У HTML 4 који се заснивао на SGML-у, код неких елемената било је дозвољено да се прескочи завршна етикета; елементи који би следили имплицирали би њихово затварање. XML не дозвољава да се завршне етикете прескоче. Сви елементи сем оних који су у ДТД декларисани као EMPTY, морају да имају завршну етикету. Елементи који су у ДТД декларисани као EMPTY могу да имају завршну етикету или могу да користе скраћеницу за празне елементе (види Празне елементе).

ПРАВИЛНО: завршени елементи

<p>ово је поглавље.</p><p>ово је друго поглавље.</p>

НЕПРАВИЛНО: незавршени елементи

<p>ово је поглавље.<p>ово је друго поглавље.

4.4. Вредности атрибута морају увек бити под наводницима

Све вредности атрибута морају бити под наводницима, чак и оне које су нумеричке.

ПРАВИЛНО: вредности атрибута под наводницима

<td rowspan="3">

НЕПРАВИЛНО: вредности атрибута нису под наводницима

<td rowspan=3>

4.5. Минимизација атрибута

XML не подржава минимизацију атрибута. Парови вредности атрибута морају се написати потпуно. Имена атрибута као што су compact и checked не могу да се појављују у елементима без одређене вредности.

ПРАВИЛНО: атрибути нису минимизовани

<dl compact="compact">

НЕПРАВИЛНО: атрибути су минимизовани

<dl compact>

4.6. Празни елементи

Празни елементи морају или да имају завршну етикету или или почетна етикета мора да се заврши са />. На пример, <br/> или <hr></hr>. Види Смернице за компатибилност са HTML-ом ради информације о начинима да се обезбеди да ово буде компатибилно са старијим HTML 4 корисничким агентима.

ПРАВИЛНО: завршени празни елементи

<br/><hr/>

НЕПРАВИЛНО: незавршени празни елементи

<br><hr>

4.7. Баратање проредом у вредностима атрибута

Кад кориснички агенти обрађују атрибуте, они то чине у складу са Поглављем 3.3.3 у [XML]:

4.8. Script и Style елементи

У XHTML-у, script и style елементи су декларисани да имају #PCDATA садржај. Као резултат, < и & ће бити третирани као почетак ознаке, а ентитети као што су &lt; и &amp; ће бити препознати као укази на ентитете од стране XML процесора за < и &, зависно од случаја. Убацивање садржаја script или style елемената у део означен као CDATA, избегавамо ширење ових ентитета.

<script type="text/javascript">
<![CDATA[
... садржај скрипте који није избегнут ...
]]>
</script>

CDATA делове распознаје XML процесор и појављују се као спојеви у Document Object Model, види Поглавље 1.3 Препоруке DOM ниво 1 [DOM].

Друго решење је да се користе спољни script и style документи.

4.9. SGML искључења

SGML даје оном ко пише ДТД могућност да искључи неке елементе као садржај елемента. Такве забране (зване "искључења") нису могуће у XML-у.

На пример, Строга ДТД у HTML 4 забрањује уклапање 'a' елемента унутар другог 'a' елемента до ма какве даље дубине. Немогуће је срочити такве забране у XML-у. Без обзира што такве забране не могу да се дефинишу у ДТД, неке елементе не би требало уклапати. Листа таквих елемената и елемената који не треба да се уклапају унутар њих налази се у нормативним Забранама елемената .

4.10. Елементи са 'id' и 'name' атрибутима

HTML 4 је дефинисао name атрибут за елементе a, applet, form, frame, iframe, img и map. HTML 4 је такође увео id атрибут. Оба ова атрибута замишљена су да се користе као фрагментски идентификатори.

У XML-у, фрагментски идентификатори су типа ID, у може да постоји само један атрибут типа ID по елементу. Зато, у XHTML 1.0, id атрибут се дефинише као атрибут типа ID. Да би се обезбедило да XHTML 1.0 документи буду ваљано устројени XML документи, XHTML 1.0 документи МОРАЈУ да користе id атрибут кад дефинишу фрагментске идентификаторе у горе набројаним елементима. Види Смернице за компатибилност са HTML-ом ради информације како обезбедити да ово буде компатибилно уназад кад се XHTML документи сервирају као тип text/html.

Имајте на уму да се, у XHTML 1.0, name атрибут ових елемената формално гледа као застарео, и да ће бити уклоњен из наредне верзије XHTML-а.

4.11. Атрибути са пре-дефинисаним низовима вредности

И HTML 4 и XHTML имају неке атрибуте са пре-дефинисаним и ограниченим низовима вредности (нпр. type атрибут елемента input). У SGML-у и XML-у, они се зову набројани атрибути. Под HTML 4, тумачење ових вредности није водило рачуна о великим и малим словима, па је вредност TEXT била истоветна вредности text. Под XML-ом, тумачење ових вредности води рачуна о великим и малим словима, и у XHTML 1 су све ове вредности дефинисане малим словима.

4.12. Укази на ентитете са хексадецималним вредностима

И SGML и XML дозвољавају указе на знакове употребом хексадецималних вредности. У SGML -у, за ове указе могло се користити било &#Xnn; било &#xnn;. У XML документима, морате користити верзију писану малим словима (нпр. &#xnn;)

5. Теме везане за компатибилност

Ово поглавље је нормативно.

Премда нема обавезе да XHTML 1.0 документи буду компатибилни са постојећим корисничким агентима, у пракси је то лако постићи. Смернице за стварање компатибилних докумената могу се наћи у Додатку C.

5.1. Тип везе са Интернетом

XHTML документи који следе смернице постављене у Додатку C, "Смернице за компатибилност са HTML-ом", могу се насловити као Тип везе са Интернетом "text/html" [RFC2854], пошто су компатибилни са већином HTML браузера. Ти документи и било који други документи који задовољавају ову спецификацију, могу да се наслове и као Тип везе са Интернетом "application/xhtml+xml", као што је дефинисано у [RFC3236]. За даљу информацију о коришћењу Типова везе у XHTML-у, види информативну белешку [XHTMLMIME].

A. ДТД

Овај додатак је нормативан.

Ове ДТД и низови ентитета обликују нормативни део ове спецификације. Целокупни низ ДТД датотека заједно са XML декларацијом и Отвореним Каталогом SGML ујључен је у zip датотеку и у gzip'd tar датотеку за ову спецификацију. Корисници који траже локалне копије ДТД с којима би радили требало би да их сниме с мреже и да користе те архиве радије него да користе одређене ДТД на које је доле указано.

A.1. Дефиниције типа документа

Ове ДТД су приближне онима у HTML 4. W3C препоручује да користите ауторитативне верзије ових DTDs на њиховим СИСТЕМСКИМ идентификаторима кад проверавате садржај. Ако вам треба да користите ове ДТД локално, треба да снимите с мреже једну од архива ове верзије. Ради потпуности, нормативне верзије ДТД укључене су овде:

A.1.1. XHTML-1.0-Строга

Датотека DTD/xhtml1-strict.dtd је нормативни део ове спецификације. Садржај ове датотеке са коментарима расположив је у овом одвојеном поглављу ради потпуности.

A.1.2. XHTML-1.0-Прелазна

Датотека DTD/xhtml1-transitional.dtd је нормативни део ове спецификације. Садржај ове датотеке са коментарима расположив је у овом одвојеном поглављу ради потпуности.

A.1.3. XHTML-1.0-Оквири

Датотека DTD/xhtml1-frameset.dtd је нормативни део ове спецификације. Садржај ове датотеке са коментарима расположив је у овом одвојеном поглављу ради потпуности.

A.2. Низови ентитета

XHTML низови ентитета су исти као и за HTML 4, али су преиначени да би били валидне XML 1.0 декларације ентитета. Имајте на уму да је ентитет за знак Евро валуте (&euro; или &#8364; или &#x20AC;) дефинисан као део посебних знакова.

A.2.1. Latin-1 знакови

Датотека DTD/xhtml-lat1.ent је нормативни део ове спецификације. Садржај ове датотеке са коментарима расположив је у овом одвојеном поглављу ради потпуности.

A.2.2. Специјални знакови

Датотека DTD/xhtml-special.ent је нормативни део ове спецификације. Садржај ове датотеке са коментарима расположив је у овом одвојеном поглављу ради потпуности.

A.2.3. Symbols

Датотека DTD/xhtml-symbol.ent је нормативни део ове спецификације. Садржај ове датотеке са коментарима расположив је у овом одвојеном поглављу ради потпуности.

B. Забране везане за елементе

Овај додатак је нормативан.

За следеће елементе важе забране везане за елементе које смеју да садрже (види SGML искључења). Оваква забрана важи за све дубине уклапања, тј. садржи све даље елементе.

a
не сме да садржи друге a елементе.
pre
не сме да садржи img, object, big, small, sub или sup елементе.
button
не сме да садржи input, select, textarea, label, button, form, fieldset, iframe или isindex елементе.
label
не сме да садржи друге label елементе.
form
не сме да садржи друге form елементе.

C. Смернице за компатибилност са HTML-ом

Овај додатак је информативан.

Ово поглавље сабира дизајнерске смернице за ауторе који желе да се њихови XHTML документи приказују правилно помоћу HTML корисничких агената. Имајте на уму да ова спецификација не одређује како кориснички агенти који одговарају HTML-у треба да обрађују HTML документе. Нити одређује значење Типа везе с Интернетом text/html. За ове дефиниције, види [HTML4] и [RFC2854] зависно од случаја.

C.1. Инструкције за обраду и XML декларација

Водите рачуна да се инструкције за обраду приказују на неким корисничким агентима. Такође, неки кориснички агенти тумаче XML декларацију као да значи да је документ непознатог типа XML уместо да је HTML, и да зато можда неће приказати документ како се очекује. Ради компатибилности са овим типовима старијих браузера, можда би сте хтели да избегнете коришћење инструкција за обраду и XML декларације. Запамтите, наравно, да кад XML декларација није укључена у документ, тај документ може да користи само стандардно кодирање знакова: UTF-8 или UTF-16.

C.2. Празни елементи

Укључите проред пре завршног / и > у празним елементима, нпр. <br />, <hr /> и <img src="karen.jpg" alt="Karen" />. Такође, користите минимизовану синтаксу за етикете код празних елемената, нпр. <br />, пошто алтернативна синтакса <br></br>, која је дозвољена у XML-у, даје непредвиђене резултате код многих постојећих корисничких агената.

C.3. Минимизација елемената и садржај празних елемената

Када је елемент празан, а модел његовог садржаја није EMPTY (на пример празан наслов или поглавље) не користите минимизовани облик (нпр. користите <p> </p> а не <p />).

C.4. Дефиниције стила и скрипте унутар документа

Користите спољне дефиниције стила ако ваше дефиниције стила користе < или & или ]]> или --. Користите спољне скрипте ако ваше скрипте користе < или & или ]]> или --. Имајте на уму да XML читачима дозвољено да тихо уклоне садржај коментара. Зато, навика из прошлости да се скрипте и дефиниције стила "крију" унутар "коментара" да би се документи учинили компатибилним уназад вероватно неће радити како се очекује у корисничким агентима на бази XML-а.

C.5. Нови редови унутар вредности атрибута

Избегавајте нове редове или више пута поновљене знакове за проред унутар вредности атрибута. Кориснички агенти их различито тумаче.

C.6. Isindex

Не укључујте више од једног isindex елемента у head део документа. isindex елемент је застарео, и заменио га је елемент input.

C.7. lang и xml:lang атрибути

Користите и lang и xml:lang атрибуте кад одређујете језик елемента. Вредност xml:lang атрибута има предност.

C.8. Фрагментски идентификатори

У XML-у, URI-укази [RFC2396] који се завршавају фрагментским идентификаторима облика "#foo" не указују на елементе са атрибутом name="foo"; они пре указују на елементе са атрибутом дефинисаним да припада типу ID, нпр., id атрибут у HTML 4. Многи постојећи HTML клијенти не подржавају употребу атррибута типа ID на овај начин, тако да за оба атрибута могу да се ставе истоветне вредности, да би се обезбедила максимална компатибилност унапред и уназад, (нпр., <a id="foo" name="foo">...</a>).

Даље, пошто је низ легалних вредности за атрибуте типа ID много мањи него код ових типа CDATA, тип name атрибута је промењен у NMTOKEN. Овај атрибут је ограничен тиме што може имати једино исте вредности као и тип ID, или као продукт Name у XML 1.0 Поглавље 2.3, продукт 5. Нажалост, ово ограничење се не може изразити у XHTML 1.0 ДТД-има. Због ове измене, мора се водити рачуна кад се конвертују постојећи HTML документи. Вредности ових атрибута морају бити јединствене унутар документа, валидне, и сви укази на ове фрагментске идентификаторе (како унутрашњи тако и спољни) морају се обновити ако се вредности промене при конверзији.

Имајте на уму да је збирка легалних вредности у XML 1.0 Поглавље 2.3, продукт 5 много већа него што је дозвољено да се користи у ID и NAME типовима дефинисаним у HTML 4. Кад се дефинишу фрагментски идентификатори тако да буду компатибилни уназад, требало би да се користе само низови који се подударају с моделом [A-Za-z][A-Za-z0-9:_.-]*. Види Поглавље 6.2 у [HTML4] за више информација.

Најзад, имајте на уму да се у XHTML 1.0 name атрибут сматра застарелим у елементима a, applet, form, frame, iframe, img и map, и да ће бити уклоњен из XHTML-а у верзијама које следе.

C.9. Кодирање знакова

Кроз историју, кодирање знакова у HTML документу је одређивао или мрежни сервер кроз charset параметар у HTTP Content-Type заглављу, или документ сам кроз meta елемент. У XML документу, кодирање знакова је одређено у XML декларацији (нпр., <?xml version="1.0" encoding="EUC-JP"?>). Како би се преносиво приказали документи са одређеним кодирањем знакова, најбољи приступ је да се обезбеди да мрежни сервер да исправна заглавља. Ако ово није могуће, документ који жели да експлицитно установи своје кодирање знакова мора да укључи и XML декларацију на декларацији кодирања и meta http-equiv изјаву (нпр., <meta http-equiv="Content-type" content="text/html; charset=EUC-JP" />). Код корисничких агената у складу са XHTML-ом, вредност декларације кодирања у XML декларацији има предност.

Имајте на уму: ако документ мора да има декларацију о кодирању у meta http-equiv изјави, тај документ може увек да се тумачи од стране HTTP сервера и/или корисничких агената као да припада типу везе са интернетом која се дефинише у тој изјави. Ако документ треба да се сервира кроз више типова везе, мора се користити HTTP сервер за одређивање кодирања у документу.

C.10. Булови атрибути

Неки HTML кориснички агенти нису способни да тумаче Булове атрибуте (атрибуте са две могуће вредности - позитивном и негативном, прим.прев.) кад се ови појављују у свом пуном (неминимизованом) облику, какав захтева XML 1.0. Имајте на уму да се овај проблем не односи на корисничке агенте у складу са HTML 4. Следећи атрибути су у питању: compact, nowrap, ismap, declare, noshade, checked, disabled, readonly, multiple, selected, noresize, defer.

C.11. Објектни модел документа и XHTML

Препорука за Објектни модел документа, ниво 1 [DOM] дефинише интерфејсе за Објектни модел документа у XML и HTML 4. Објектни модел документа код HTML 4 одређује да се имена HTML елемената и атрибута враћају великим словима. Објектни модел документа код XML одређује да се имена елемената и атрибута враћају онаквим словима каквим су одређена. У XHTML 1.0, елементи и атрибути су спецификовани малим словима. Ова видна разлика може се решити на два начина:

  1. Кориснички агенти који приступају XHTML документима сервираним као тип везе са Интернетом text/html преко DOM могу да користе HTML DOM, и могу да се ослоне на имена елемената и атрибута која се са ових интерфејса враћају великим словима.
  2. Кориснички агенти који приступају XHTML документима сервираним као типови везе са Интернетом text/xml, application/xml и application/xhtml+xml могу да користе и XML DOM. елементи и атрибути ће се вратити малим словима. Такође, неки XHTML елементи могу и не морају да се појаве у стаблу објекта јер су опциони у моделу садржаја (нпр. tbody елемент унутар table). Ово се дешава јер је у HTML 4 неким елементима било дозвољено да буду минимизовани тако да им се и почетне и завршне етикете изоставе (својство SGML-а). То није могуће у XML-у. Да не би изискивао да аутори докумената уносе додатне елементе, XHTML је ове елементе учинио опционим. Кориснички агенти треба да се овоме прилагоде. За више информација о овој теми, види [DOM2]

C.12. Употреба амперсанда у вредностима атрибута (и другде)

И у SGML-у и у XML-у, знак за амперсанд ("&") изјављује почетак указа на ентитет (нпр. &reg; за регистровани робни знак "®"). Нажалост, многи HTML кориснички агенти су прећутно игнорисали неправилну употребу знака за амперсанд у HTML документима - третирајући амперсанде, који не изгледају као укази на ентитет, као буквалне амперсанде. Кориснички агенти на бази XML-а неће толерисати ову неправилну употребу, и ниједан документ који неправилно користи амперсанд неће бити "валидан", а самим тим неће одговарати ни овој спецификацији. Како би обезбедили да документи буду компатибилни и са старим HTML корисничким агентима и са корисничким агентима на бази XML-а, амперсанди који се користе у документу а треба их третирати дословно као знакове морају се изразити кроз указ на ентитет (нпр. "&amp;"). На пример, кад href атрибут елемента a указује на CGI скрипту која узима параметре, мора се изразити као http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user а не као http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.

C.13. Cascading Style Sheets (CSS) и XHTML

Препорука за Cascading Style Sheets (Низове стилских таблица), ниво 2 [CSS2] дефинише својства стила која се примењују у ишчитавању HTML или XML докумената. Разлике у ишчитавању ће произвести различите визуелне и аудитивне резултате, зависно од селектора који се користе. Следећи савети ће смањити овај ефекат за документе који се сервирају без модификације за оба типа везе:

  1. CSS стилске таблице за XHTML треба да користе мала слова за имена елемената и атрибута.
  2. У табелама, HTML кориснички агент ће при ишчитавању претпоставити да постоји елемент tbody, али XML кориснички агент то неће учинити. Зато увек треба експлицитно да додате елемент tbody ако се на њега указује у CSS селектору.
  3. Within the XHTML namespace, user agents are expected to recognize the "id" attribute as an attribute of type ID. Therefore, style sheets should be able to continue using the shorthand "#" selector syntax even if the user agent does not read the DTD.
  4. Унутар именског простора XHTML-а, очекује се да кориснички агенти препознају "class" атрибут. Зато стилске таблице треба да буду способне да наставе са употребом скраћене синтаксе селектора "."
  5. CSS дефинише различита правила за прихватљивост код HTML и XML докумената; водите рачуна да се HTML правила примењују на XHTML документе предате као HTML а да се XML правила примењују на XHTML документе предате као XML.

C.14. Навођење елемената стила кад се сервира као XML

У HTML 4 и XHTML-у, елемент style може се користити да дефинише интерна правила за стил у документу. У XML-у, за одређивање правила стила користи се XML декларација за стилску таблицу . Како би били компатибилни са овом конвенцијом, style елементи треба да имају своје фрагментске идентификаторе одређене id атрибутом, а XML декларација за стилску таблицу треба да указује на овај фрагмент. На пример:

<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css"?>
<?xml-stylesheet href="#internalStyle" type="text/css"?>
<!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="sr" lang="sr">
<head>
<title>Интерни пример стилске таблице</title>
<style type="text/css" id="internalStyle">
  code {
    color: green;
    font-family: monospace;
    font-weight: bold;
  }
</style>
</head>
<body>
<p>
  Ово је текст који користи нашу
<code>интерну стилску таблицу</code>.
</p>
</body>
</html>

C.15. Прореди у HTML у односу на XML

Неки знакови који су легални у HTML документима нису легални у XML документу. На пример, у HTML-у, знак "Formfeed" (U+000C) се третира као проред, а у XHTML-у, због XML дефиниције знакова, он је илегалан.

C.16. Именовани указ на знак &apos;

Именовани указ на знак &apos; (апостроф, U+0027) је уведен у XML 1.0 али се не појављује у HTML. Аутори би зато требало да користе &#39; уместо &apos; да би радио како се очекује у HTML 4 корисничким агентима.

D. Обавештења

Овај додатак је информативан.

Ова спецификација је написана уз учешће чланова W3C HTML Радне групе.

При објављивању другог издања, чланови су били:

Steven Pemberton, CWI/W3C (председавајући Радне групе за HTML)
Daniel Austin, Grainger
Jonny Axelsson, Opera Software
Tantek Çelik, Microsoft
Doug Dominiak, Openwave Systems
Herman Elenbaas, Philips Electronics
Beth Epperson, Netscape/AOL
Masayasu Ishikawa, W3C (Шеф за HTML активности)
Shin'ichi Matsui, Panasonic
Shane McCarron, Applied Testing and Technology
Ann Navarro, WebGeek, Inc.
Subramanian Peruvemba, Oracle
Rob Relyea, Microsoft
Sebastian Schnitzenbaumer, SAP
Peter Stark, Sony Ericsson

При објављивању првог издања, чланови су били:

Steven Pemberton, CWI (председавајући Радне групе за HTML)
Murray Altheim, Sun Microsystems
Daniel Austin, AskJeeves (CNET: The Computer Network у јулу 1999.)
Frank Boumphrey, HTML Writers Guild
John Burger, Mitre
Andrew W. Donoho, IBM
Sam Dooley, IBM
Klaus Hofrichter, GMD
Philipp Hoschka, W3C
Masayasu Ishikawa, W3C
Warner ten Kate, Philips Electronics
Peter King, Phone.com
Paula Klante, JetForm
Shin'ichi Matsui, Panasonic (W3C инжењер у посети у септембру 1999.)
Shane McCarron, Applied Testing and Technology (The Open Group у августу 1999.)
Ann Navarro, HTML Writers Guild
Zach Nies, Quark
Dave Raggett, W3C/HP (HTML Activity Lead)
Patrick Schmitz, Microsoft
Sebastian Schnitzenbaumer, Stack Overflow
Peter Stark, Phone.com
Chris Wilson, Microsoft
Ted Wugofski, Gateway 2000
Dan Zigmond, WebTV Networks

E. Референце

Овај додатак је информативан.

[CSS2]
"Cascading Style Sheets, level 2 (CSS2) Specification", B. Bos, H. W. Lie, C. Lilley, I. Jacobs, 12 мај 1998.
Последња верзија расположива на: http://www.w3.org/TR/REC-CSS2
[DOM]
"Document Object Model (DOM) Level 1 Specification", Lauren Wood et al., 1 October 1998.
Последња верзија расположива на: http://www.w3.org/TR/REC-DOM-Level-1
[DOM2]
"Document Object Model (DOM) Level 2 Core Specification", A. Le Hors, et al., 13 November 2000.
Последња верзија расположива на: http://www.w3.org/TR/DOM-Level-2-Core
[HTML]
"HTML 4.01 Specification", D. Raggett, A. Le Hors, I. Jacobs, 24 December 1999.
Последња верзија расположива на: http://www.w3.org/TR/html401
[POSIX.1]
"ISO/IEC 9945-1:1990 Information Technology - Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language]", Institute of Electrical and Electronics Engineers, Inc, 1990.
[RFC2045]
"Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", N. Freed and N. Borenstein, November 1996. Имајте на уму да ова RFC чини застарелим RFC1521, RFC1522 и RFC1590.
[RFC2046]
"RFC2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", N. Freed and N. Borenstein, November 1996.
Расположиво на http://www.ietf.org/rfc/rfc2046.txt. Имајте на уму да ова RFC чини застарелим RFC1521, RFC1522 и RFC1590.
[RFC2119]
"RFC2119: Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, March 1997.
Расположиво на: http://www.ietf.org/rfc/rfc2119.txt
[RFC2376]
"RFC2376: XML Media Types", E. Whitehead, M. Murata, July 1998.
Овај документ је застарео због [RFC3023].
Расположиво на: http://www.ietf.org/rfc/rfc2376.txt
[RFC2396]
"RFC2396: Uniform Resource Identifiers (URI): Generic Syntax", T. Berners-Lee, R. Fielding, L. Masinter, August 1998.
Овај документ обнавља RFC1738 и RFC1808.
Расположиво на: http://www.ietf.org/rfc/rfc2396.txt
[RFC2854]
"RFC2854: The text/html Media Type", D. Conolly, L. Masinter, June 2000.
Расположиво на: http://www.ietf.org/rfc/rfc2854.txt
[RFC3023]
"RFC3023: XML Media Types", M. Murata, S. St.Laurent, D. Kohn, January 2001.
Овај документ чини застарелим [RFC2376].
Расположиво на: http://www.ietf.org/rfc/rfc3023.txt
[RFC3066]
"Tags for the Identification of Languages", H. Alvestrand, January 2001.
Расположиво на: http://www.ietf.org/rfc/rfc3066.txt
[RFC3236]
"The 'application/xhtml+xml' Media Type", M. Baker, P. Stark, January 2002.
Расположиво на: http://www.ietf.org/rfc/rfc3236.txt
[XHTML+MathML]
"XHTML plus Math 1.1 DTD", "A.2 MathML as a DTD Module", Mathematical Markup Language (MathML) Version 2.0. Расположиво на: http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd
[XHTMLMIME]
"XHTML Media Types", Masayasu Ishikawa, 1 August 2002.
Последња верзија расположива на: http://www.w3.org/TR/xhtml-media-types
[XHTMLMOD]
"Modularization of XHTML", M. Altheim et al., 10 April 2001.
Последња верзија расположива на: http://www.w3.org/TR/xhtml-modularization
[XML]
"Extensible Markup Language (XML) 1.0 Specification (Second Edition)", T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, 6 October 2000.
Последња верзија расположива на: http://www.w3.org/TR/REC-xml
[XMLNS]
"Namespaces in XML", T. Bray, D. Hollander, A. Layman, 14 January 1999.
XML именски простори обезбеђују једноставан метод за квалификовање имена коришћених у XML документима тиме што их придружује именским просторима које идентификује URI.
Последња верзија расположива на: http://www.w3.org/TR/REC-xml-names
[XMLC14N]
"Canonical XML Version 1.0", J. Boyer, 15 March 2001.
Овај документ описује метод за генерисање физичког претстављања, канонског облика, XML документа.
Последња верзија расположива на: http://www.w3.org/TR/xml-c14n

Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0