Подтвердить что ты не робот

Какая проблема решена XHTML?

Я действительно не понимаю увлечения с XHTML строгим. Inline JavaScript обычно требует, чтобы у крыс было гнездо экранов, чтобы сделать его совместимым с XHTML и полу-назад совместимым с MSIE 5 и 6. Тогда возникает проблема не быть OCD достаточным для ввода пользователем, чтобы убедиться, что вы не пропустите никаких незаконных символов, Похоже, это больше усилий, чем его ценность. Неважно, что почти каждый разработчик, с которым я работал, продолжает забывать, что тип содержимого, возвращаемый с сервера, reset для XHTML-страниц из text/html в application/xhtml + xml.

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

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

4b9b3361

Ответ 1

XHTML1 vs HTML4 и Strict vs Transitional являются полностью ортогональными проблемами.

XML не может дать огромного преимущества для браузеров сегодня, но на стороне сервера проще всего обрабатывать документы с помощью XML, чем пытаться разобрать беспорядок, который является старой версией SGML-except-not-really HTML4.

Ограничение себя на [X]. HTML Strict ничего не делает сам по себе, кроме простого, что он препятствует использованию старых, менее поддерживаемых методов, которые вы не должны использовать в любом случае.

Inline javascript обычно требует, чтобы у крыс было гнездо экранов, чтобы сделать его совместимым с XHTML

Вы можете уйти без каких-либо побегов, если вы не используете символы < или &. И '//< [CDATA [не намного хуже, чем "<! - был в старые времена.

В любом случае сохранение внешнего скрипта намного более управляемо; вы не хотите делать что-то значимое.

Тогда возникает проблема не быть OCD достаточным для ввода пользователем, чтобы убедиться, что вы не пропустите никаких незаконных символов.

Внеполосные символы точно так же недействительны в HTML4 Transitional, как и в XHTML1 Strict.

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

забыв, что тип содержимого, возвращаемый с сервера, reset для XHTML-страниц из text/html в application/html + xml.

Это не "забывание, это преднамеренное: на самом деле не так много смысла в обслуживании приложения /xhtml + xml сегодня. Чтобы учесть IE, вам нужно обнюхать UA, а затем убедитесь, что вы понимаете различия в CSS и JavaScript, которые появляются в обоих режимах синтаксического анализа... вы можете сделать это, чтобы доказать свою техническую доблесть, но на самом деле это не дает вам ничего.

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

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

Ответ 2

есть отличная статья об использовании XHTML @Остерегайтесь XHTML.

Надеюсь, что это поможет, Бруно Фигейредо [/p >

Ответ 3

XHTML 1.0 Строгие попытки решить четыре проблемы:

  • XML - технология W3C, и HTML4 не использовал ее. Не ваша проблема.

  • Строгое стремление быть более теоретически чистым, чем переходное, когда дело доходит до презентационализма. Но это не проблема XHTML и HTML.

  • XML-парсер предположительно проще. (Не совсем верно, код для работы с частью DTD довольно сложный.) В наши дни вы получаете как XML, так и HTML-парсеры с полки, поэтому это это не ваша проблема. (Помимо этого: мобильный аргумент абсолютно фиктивный.

  • application/xhtml + xml (хотя и недействительный XHTML 1.0 Strict!) позволяет смешивать другие словари. Если вы хотите использовать встроенный MathML или SVG сегодня, это основная причина использования application/xhtml + xml сегодня. Однако направление работы HTML5 позволяет использовать MathML и SVG в тексте /html.

Ответ 4

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

Ответ 5

Вам нужно проанализировать свой HTML с помощью программы, o для некоторых тестов? Затем используйте XHTML.

Для всего остального HTML 4.01 (строгий, свободный, переходный, любой) идеально "стандартный" и менее "неприятный".

Ответ 6

XHTML позволяет вам выполнять расширенную визуализацию, такую ​​как SVG (масштабируемая векторная графика), которая сама по себе является XML, но может быть легко встроена в XHTML через расширение пространства имен XML без <embed> или <object> . К сожалению, только Firefox и Safari поддерживают его. Извините пользователей IE6.

Подробнее о SVG в http://en.wikipedia.org/wiki/Svg

Ответ 7

XHTML делает HTML ортогональным со всеми другими структурами на основе xml в нашей вселенной, что имеет два основных преимущества.

Шаблоны проектирования, которые мы используем при работе с xml, можно применить к html.

Программные средства.

Ответ 8

XHTML имеет преимущества xml. Но тогда почему строгий вариант?

Я вижу некоторое сходство с устаревшими функциями. Вы все еще можете использовать их в этой версии, но, возможно, удалена следующая версия. Поэтому я рассматриваю переходную версию как устаревшую. Он по-прежнему работает, и он будет работать для нескольких версий, но если вы хотите построить для будущего, используйте строгую версию.

Ответ 9

Strict предназначен для формализации разделения между контентом и стилем, затрудняя объединение двух. Эллиотт Расти Гарольд хорошо пишет на XHTML в одной из своих книг, здесь есть соответствующая выдержка из Почему XHTML.

Ответ 10

Единственное, что я видел, разрешенный XHTML, - это "проблема" пользователей, использующих Safari: я не знаю, есть ли ошибка там, но когда нас в последний раз просили написать в XHTML, мы столкнулись с ошибка, которая сделала XHTML непригодной для использования с Safari. В XHTML следующий URL-адрес не допускается в тегах привязки, потому что амперсанд не экранирован:

http://www.example.com/page.php?arg1=val1&arg2=val2

поэтому вам нужно заменить его на & например:

http://www.example.com/page.php?arg1=val1&amp;arg2=val2

но Safari преобразует & to & # 38; поэтому вы получите этот URL-адрес:

http://www.example.com/page.php?arg1=val1&#38;arg2=val2

... и хеш-символ заканчивает URL-адрес до PHP. Я знаю, что есть уродливые хаки, которые позволяют вам передавать две переменные другими способами, но если XHTML заставит вас использовать уродливые хаки, тогда вам будет лучше без него.

Ответ 11

Лично мне понравилась концепция XHTML: намного чище, чем большинство HTML, которые мы видим, проще разбирать и проверять. Как и все, я начал кодировать страницы XHTML. Кстати, я не вижу проблемы с встроенным JavaScript, нет необходимости в экранах, если вы поместите код в CDATA. И, к счастью, IE5 немного отличается от пейзажа браузера, например Netscape 4, который заставлял нас писать / > вместо />, что я до сих пор вижу в чистом XML...

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

Посмотрите на приведенные выше аргументы: они совершенно правильны, и очень хорошо иметь возможность напрямую размещать MathML или SVG на странице, чтобы преобразовать XML с помощью синтаксического анализатора XSLT, чтобы обрабатывать страницу с помощью парсера XML.

Но как часто вы это делаете? Разбор страницы чаще всего является проблемой конечных пользователей, которые могут использовать хороший парсер HTML. И учитывая количество браузеров, способных управлять MathML, SVG или XSLT, это больше необходимо для интрасети, чем для обширного Интернета.

У вас может быть электронная коммерция или блог или форум, который выплескивает хорошие страницы XHTML. И люди, записывающие описания, статьи или сообщения, вставляют <p><p><p>, чтобы пропустить некоторые строки, если это не <p/> или какая-либо другая экзотическая конструкция...

Я верю в XHTML, но я думаю, что больше не буду использовать его для маленьких страниц, которые я делаю для своего сайта. Я буду использовать HTML 4 с хорошо написанным кодом (цитируемые атрибуты, закрывающие теги, даже если это возможно, и т.д.).
И в конце концов, если W3C работает в HTML 5, это по какой-то причине: HTML все еще живой, иначе он был бы убит в пользу XHTML 2.

Ответ 12

XHTML по определению является XML, в отличие от HTML.

Это означает, что вы можете делать с ним забавные полезные вещи, например, легко проверять и анализировать его (поскольку вы знаете это XML и, следовательно, можете использовать множество доступных инструментов).

Кроме того, вундеркинды любят делать вещи "более правильными"; -)

Ответ 13

Это проблема глобального стандарта

Это не только xHTML, но и все стандарты в мире. Вам нужно сделать все более ясным, от версии к версии.

xHTML является квадратным и толкает кодеры для добавления семантического значения в код. Он полностью совместим с XML и поэтому более легко разбирается, стилизуется и т.д.

Помните, что код предназначен не только для кодеров, но и для машин. Через 10 лет люди, создающие браузеры или библиотеки, не захотят внедрять одни и те же правила комплексов для обработки старого HTML, но скорее ожидают чего-то как можно более чистого.

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

И я не говорю о читателях экрана...

Стандарт, прежде всего, касается перехода к одному уникальному открытому решению, которое подходит всем. Не просто добавить новые блестящие функции.