2016-05-24 3 views
1

У меня есть экзамен, на котором мне будет предоставлена ​​серия фрагментов кода и просят определить, являются ли они действительными или недействительными строгими XHTML1.0. Я не могу найти никаких правил или перевариваемых ресурсов в Интернете. Может ли кто-нибудь посоветовать, есть ли набор проверок, которые я могу запомнить?Написание Strict XHTML 1.0

+0

Вы проверили https://www.w3.org/TR/xhtml1/? Или это подпадает под категорию «неудобоваримая»? Думаю, он содержит всю необходимую информацию. – Erik

+0

Если вам нужно сделать вручную с листка бумаги, это очень много работы. Эти языковые спецификации большие! Итак ... с чего начать. Вы знаете синтаксис XML? Это правило №1, очевидно, хорошо сформированный XML. Тогда есть действительные элементы; как насчет этого https://www.w3.org/2010/04/xhtml10-strict.html –

+0

Вы знаете, о чем я думал.Может быть, сама тема не имеет значения, может быть, они просто пытаются выяснить, насколько хорош ваш Google-фу, спросив о предмете, который они никогда не рассматривали. –

ответ

1

Самое непосредственное, что вы можете и должны сделать, это обеспечить, чтобы файл служил application/xhtml+xml. Если вы создаете файл и не имеете доступа к серверным скриптам, вам просто нужно создать файл с расширением .xhtml и application/xhtml+xml с помощью инструментов разработчика в зависимости от того, какой браузер вы используете.

I очень рекомендуем использовать Firefox; когда вы столкнулись с ошибкой синтаксического анализа XML, вся страница будет скрыта, она будет иметь желтый фон и отображать ошибку, это номера строк и столбцов в красном тексте. Это чрезвычайно полезно для быстрого устранения ошибок в XML-анализе.

Имейте в виду, что XHTML 1 (эквивалент HTML4) устарел, и я настоятельно рекомендую использовать XHTML5. Хотя я обновил свою платформу от XHTML 1 Strict до XHTML 5 (ссылка в моем профиле), вам будет крайне сложно найти лучшие примеры более строгих кодов, которые будут придерживаться XHTML5.

Также имейте в виду, что HTML (text/html) обрабатывается HTML-парсером браузера, тогда как XHTML (application/xhtml+xml) обрабатывается синтаксическим анализатором браузера.

XML-парсер будет поймать искаженный XML, хотя он не предотвратить повторяющиеся id атрибутов из мстил в JavaScript (первый `идентификатор атрибут из двух или более одинаковых значений всегда будет направлен).

Следует также отметить, что XHTML1 определенных атрибуты, чтобы иметь одинаковое значение в качестве имени атрибута:

XHTML 1

<select> 
<option selected="selected"></option> 
</select> 

XHTML 5

<select> 
<option selected="true"></option> 
</select> 

XHTML5 определяет больше всего не все (например, атрибут autocomplete) как имеющий boolean значения (например, true или false).

Наконец вы можете иметь все, что полностью XHTML1/5 работает согласно, хотя, если тип носителя/мим является text/html тогда ваша страница не XHTML в любой форме. Одним из самых больших преимуществ XHTML является то, что имеет для обслуживания строго; строгий код можно надежно обслуживать, хотя свободный код не может быть строго отслужен, и я не говорю о доктиках.

+0

Где говорится, что значение 'selected' было изменено с' selected' на 'true' между XHTML 1 и 5? –

+0

атрибуты @MrLister Everywhere определяются как 'boolean' в фактической спецификации. https://www.w3.org/TR/2012/WD-html5-20121025/the-option-element.html#attr-option-selected --- «Атрибут' selected' является логическим атрибутом ». – John

+1

Нет, термин _boolean attribute_ не означает, что значение должно быть «истинным» или «ложным». Это означает, что сам атрибут должен отсутствовать или присутствовать! Если вы запустите файл XHTML5 через валидатор W3C, он жалуется на 'selected =" true ", но' selected = "selected" 'в порядке. https://validator.w3.org/nu/?showsource=yes&doc=http%3A%2F%2Fmrlister.1apps.com%2Ftest%2Ftest2.xhtml –

Смежные вопросы