WML — язык разметки


Оглавление (нажмите, чтобы открыть):

WML — язык разметки

* MathML поддерживается браузером Mozilla: пример MathML-страницы (а также браузером/редактором Amaya от w3.org, который настоятельно не рекомендую к использованию.— Svarga )
* Проверка поддержки MathML: тестовая страница.

* Русские переводы спецификаций и других документов W3C также смотрите здесь, здесь и здесь

* https://html2wml.sourceforge.net/ —библиотека для динамического перевода HTML-страниц в WML.

* Пример браузерного wap-эмулятора: https://wapsilon.com/main.html
* Оперы 6+ поддерживают WML, поэтому WAP-сайты в них можно смотреть непосредственно из браузера без эмуляторов
* Пример wap-сайта: https://wap.mail.ru/ рекомендую оперовцам-пользователям mail.ru— чтоб трафик лишний не мотать — Svarga

Темы по другим языкам разметки, стилей, программирования под web:

PHP
Perl
Cascading Style Sheets (CSS)
JavaScript/JScript и VBScript
SSI
Virtual Reality Modeling Language (VRML)
HTML и XHTML Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 08:19 24-06-2003 | Исправлено: Cheery, 19:52 08-05-2013

Lechii

Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Svarga,
в коллекцию

extensinet — world’s largest XML and Web Services resource page — https://www.extensinet.com/

The Cover Pages Web Site — a comprehensive Web-accessible reference collection supporting the SGML/XML family of (meta) markup language standards and their application — https://www.oasis-open.org/cover/

PerfectXML.com — provides the best collection of information on all things XML — https://www.perfectxml.com/ (ed. — там же раздел Free Library , где можно загрузить sample chapters книг по тематике)

sub- projects :
# Xerces — XML parsers in Java, C++ (with Perl and COM bindings)
# Xalan — XSLT stylesheet processors, in Java and C++
# Cocoon — XML-based web publishing, in Java
# AxKit — XML-based web publishing, in mod_perl
# FOP — XSL formatting objects, in Java
# Forrest — XML/XSLT-based framework for project documentation and website development, based on Cocoon
# Xang — Rapid development of dynamic server pages, in JavaScript
# SOAP — Simple Object Access Protocol
# Batik — A Java based toolkit for Scalable Vector Graphics (SVG)
# Crimson — A Java XML parser derived from the Sun Project X Parser.
# Xindice — A native XML database.
# XML Commons — focussed on common code and guidelines for xml projects

XMLPitstop.com — https://www.xmlpitstop.com/ — XML and .NET useful resources and demos

ZVON.org — The Guide to the XML Galaxy- https://www.zvon.org/ —

там же материал на русском :
# CSS tutorial (Yuri Atanov)
# DTD Tutorial (Vasil Yaroshevich, Pavel Golovin)
# Namespace Tutorial (Andrey Serov)
# XML Tutorial (Grigory Statsenko)
# XPath Tutorial (Vasil Yaroshevich)
# XSLT Tutorial (Vasil Yaroshevich)

Всего записей: 273 | Зарегистр. 26-12-2002 | Отправлено: 16:09 24-06-2003 | Исправлено: Lechii, 16:11 24-06-2003
Svarga

Moderator

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Lechii
спасибо, перекопаю— добавлю

———-
away.
Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 16:48 24-06-2003
HeaRtLy

Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору А вот здесь вот тоже неплохо: https://xml.nsu.ru

———-
SharePoint по-русски
Записки истеричной блондинки
Всего записей: 231 | Зарегистр. 13-03-2003 | Отправлено: 04:41 17-07-2003
dmkov

Junior Member

Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору И здесь не хреново . https://****

Слушай, хватит спамить!

Всего записей: 97 | Зарегистр. 16-01-2004 | Отправлено: 17:55 25-03-2004 | Исправлено: Svarga, 04:29 26-03-2004
Terabyte

Advanced Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот на PHP написал двиг для ВАП-новостей сайта — https://wap.web-hack.ru/news/
переименовал в .wml расширения файлы и добавил в .htaccess строчку:

AddType application/x-httpd-php .wml

Но почему то выдает ошибку.

Если сохранить результат выданный скриптов в обычный файл и зайти на него, то никакх ошибок не выдает. Уже все голову свернул в поисках причины.

Добавлено
Все. сам разобрался, оказывается нехватало в скриптах:

header(«Content-Type: text/vnd.wap.wml»);

Всего записей: 1325 | Зарегистр. 09-09-2002 | Отправлено: 21:59 18-09-2004
Infection

iB3 PostgreSQL Coder

Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Где можно почитать обо всех тегах WML и примеры их использования?
А то найти ничего толкового не могу.

Везде скудная и бедная информация.

Всего записей: 348 | Зарегистр. 21-12-2001 | Отправлено: 07:56 10-01-2005
GhostOld

Full Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Да дествительно видимо совсем мало информации по поводу создания сайтов для сотовых телефонов. И никто не видел программ типа Фронт Пейджа для создания WAP или плагинов для них?

Добавлено:
сорри попал не в тот раздел

Введение. Таблицы, изображения и ссылки


Что такое WAP?

WAP — это протокол сетевого общения, который применяется для передачи информационного содержания Интернет беспроводным клиентам, таким, как мобильные телефоны.

WML — это язык разметки текста, который позволяет создавать страницы, выводимые WAP-браузером.

Используя данное руководство, Вы научитесь создавать страницы WML . Для изучения этого курса необходимо иметь базовые представления о WWW, HTML, основах создания Web-страниц, JavaScript, XML.

WAP возник благодаря развитию беспроводной связи. Создателями данного стандарта руководило желание предоставить доступ к информационному содержимому Интернет беспроводным клиентам — обладателям мобильных телефонов.

  1. является сокращением от Wireless Application Protocol (протокол беспроводных приложений);
  2. является протоколом прикладного уровня;
  3. применяется для доступа к сервисам и информации;
  4. опирается на стандарты Интернет;
  5. предназначен для небольших устройств, например, для мобильных телефонов;
  6. является протоколом, созданным для микро-браузеров;
  7. позволяет создавать Web-приложения для мобильных устройств;
  8. использует язык разметки WML (а не HTML);
  9. определяется как приложение XML 1.0.
Протокол беспроводных приложений

Протокол WAP является ведущим стандартом информационных служб беспроводных терминалов, чаще всего цифровых мобильных телефонов, и опирается на стандарты Интернет (HTML, XML и TCP/IP). Его составные части:

  • спецификация языка WML ;
  • спецификация WMLScript;
  • спецификация WTAI (Wireless Telephony Application Interface — Интерфейс приложений беспроводного телефона).

В 1997 г. компаниями Ericsson, Motorola, Nokia и Unwired Planet был основан консорциумом WAP Forum, который разработал и опубликовал спецификацию WAP. Члены консорциума представляют сейчас более 90% глобального рынка мобильных телефонов, а также ведущих сетевых провайдеров, разработчиков программного обеспечения и других организаций. WAP Forum со временем объединился с организацией Open Mobile Alliance ( OMA ), созданной в 2002 г., и больше не существует в качестве независимой организации.

Работа над спецификацией WAP продолжается в рамках OMA , и с ней можно ознакомиться по адресу: https://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html

Микро-браузеры WAP

Данные браузеры используются для работы с небольшими беспроводными терминалами WAP и представляют собой небольшую программу с минимальными требованиями к оборудованию, памяти и процессору. Они могут выводить на экран устройства информацию, записанную с помощью WML — языка разметки с ограниченными возможностями, а также интерпретировать сокращенную версию языка JavaScript, называемую WMLScript.

Что такое WML?

WML — язык разметки, родственный HTML (но существенно строже, так как в его основе лежит XML) и предназначенный для создания страниц, которые выводит браузер WAP.

WML является сокращением от Wireless Markup Language (язык разметки для беспроводных устройств).

В языке WML используется метафора «колоды игральных карт» (card/ deck ). Страницы в WML называются колодами ( deck ) или деками, а колоды создаются как наборы карт (card).

Что такое WMLScript?


WMLScript является облегченным языком JavaScript, который WML использует для выполнения простого кода на терминале клиента. Однако сценарии WML не встроены в страницы WML — эти страницы содержат только ссылки на URL-адреса сценариев.

Сценарий WML необходимо скомпилировать на сервере в байт-код, прежде чем браузер сможет его выполнить.

Во-первых, старые языки

Наконец мы добрались до самой интересной части: написания кода! Если вы сразу начали читать эту главу и пропустили предыдущие, я настоятельно рекомендую вернуться и прочесть их. Мобильная веб-разработка это не только кодинг, важно понять всю экосистему, в том числе какие на рынке есть браузеры и устройства, знать последние тенденции в мобильном дизайне и юзабилити. Тем не менее, давай рассмотрим доступные для разработки языки и соответствующие стандарты.

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

Одним из первый языков разметки, который применялся в мобильной разработке был HDML (Handheld Device Markup Language). Как и HTML, этот язык был создан компанией Unwired Planet (эта компания со временем стала называться Openwave, а еще позже была поглощена Myriad Group). И хоть этот язык так и не стал стандартом, он значительно помог в создании WML.

Почему сразу не HTML?

HDML — первый специализированный язык для мобильной разработки появился в 1996 году. Так почему сразу не пользовались уже известным тогда HTML? Здесь было несколько нюансов. Во-первых, мобильные устройства были настолько функционально ограниченны в своей возможности работы с Вебом, возможностях CPU и ресурсах памяти, что требовались такие решения, которые бы требовали минимального рендеринга со стороны устройства. Мобильный браузер тех времен просто не смог бы обработать разметку с ошибками и решить, что делать, если бы разработчик, например, забыл закрыть тег. Во-вторых, стоял вопрос отображения в разметке специфических для мобильных устройств функций, например сочетания клавиш. Со временем мобильные устройства развивались и стали такими, какими мы их знаем сегодня. Сейчас некоторые мобильные устройства более функциональны и уже используют HTML 5.0, еще до завершения работы над стандартом.

WML был включен в стандарт WAP 1.1 и это был первый стандарт для мобильной разработки. WML был стандартизирован не привычной нам организацией World Wide Web Consortium (W3C), а WAP Forum (теперь это Open Mobile Alliance) — организацией, которая была организованна сообща многими игроками мобильного рынка и занимается вопросами стандартизации в мобильном Вебе.

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

А вообще, браузеры с движком WebKit (iPhone, Android, Palm) уже не читают этот формат (рисунок 5.2). WML использовался для разметки во времена стандарта WAP 1.1 и его первая (и она же последняя) версия была создана в 1998 году. Вспомни, какими были телефоны в то время. Но, тем не менее, если забить в поиск Google фразу «filetype:wml», то получишь более 2 миллионов результатов в выдаче. И это при том, что Google не индексирует большую часть WAP 1.1 мобильного Интернета.

Я спрашивал разработчиков некоторых крупных мобильных порталов об их опыте использовании WML. Я получил отличный ответ от представителя Weather Channel (https://m.weather.com) Cathy Rohrl, Product Manager:

WML-сайт сегодня это не такая уж и большая проблема. Его было легко и просто сделать. Но самое важное в WML сегодня то, что он поддерживает концепцию доступа «всем и везде». Таким образом вы привлекаете в к своему сайту людей с со старыми мобильными телефонами. Возможно еще год-другой и мы законсервируем сайт, но, даже в таком случае не думаю, что мы сразу «убьем» его. Просто сайт больше не будет активно поддерживаться.

Частные доклады U.S. traffic по поводу мобильнго сайта The Weather Channel показывают, что в 2008 году доля WML-трафика составляла 5%, в 2009 она упала до 2%, а в начале 2010 еще уменьшилась.

WML-файл — это файл XML, для которого обычно используется расширение .wml. В нем есть что-то общее с HTML, но в тоже время во многих моментах он сильно отличается. Давай посмотрим на типичный WML-файл:

В этом примере можно увидеть стандартные HTML-теги p, b и a и выполняют они здесь точно такие же функции. Также для обоих стандартов общими являются теги img, br и input.

В XHTML-файлах сегодня распространено использование самозакрывающегося (selfclosed) тега
вместо классического
без закрытого тега. WML, как один из первых языков разметки на основе XML, был пионером в использовании самозакрывающегося тега.

WML сегодня

WML был заменен стандартом WAP в 2002 году, но при этом продолжал оставаться резервным вариантом разметки для старых устройств. Сегодня только очень немногие компании вынуждены делать WML-версии сайтов для совместимости со всеми мобильными устройствами на рынке. Для некоторых крупных сайтов тоже доступны WML-версии, но вот если посмотреть на два всем известных сайта Twitter и Facebook, то они как раз не предоставляют WML-версий для своих популярных сервисов.

В 2009 году доля WML-трафика составляла меньше 2%, а на сейчас, думаю, уже меньше 1%.

Тем не менее, между WML и HTML есть различия. Во-первых, WML-файл начинается с корневого тега wml после идет декларации DOCTYPE. Документ WML также называют декой (deck). В каждой деке может быть много карт (card). Карта, которая идентифицируется тегом с таким же названием — это одна видимая страница в браузере, похоже на содержание тега body в HTML. Таким образом в WML файле в одном документе могло быть несколько страниц (рисунок 5.3). В целом, в начале 2000-х это было отличное решение для улучшения производительности мобильного Веба.

Document Type Declaration (или DOCTYPE) это инструкция в XML-документе (или SGML документе, например HTML), которая показывает браузеру, как этот документ сопоставить с Document Type Definition (DTD) и, таким образом, как «понимать» этот документ.

WML был создан для мобильных устройств, а, значит, мы можем найти здесь теги и атрибуты, поддерживающие специфические мобильные функции (например, голосовой вызов, поддержка клавиатуры, функция добавления контакта в телефонную книгу, доступ к SIM-карте). Самое лучшее здесь то, что мы можем использовать хорошо знакомый тег ссылки (anchor) для создания абсолютных ссылок, ссылок на относительный документ или же на другую карту в этом же документе используя #card_name URL.

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

О WML можно говорить очень долго. У меня вообще-то на полке стоит книга о WML и в ней 600 страниц. Но честно говоря, для современного разработчика страницы на WAP 1.1 настолько просты, что для понимания сути WML тебе хватит и такого краткого вступления.

WML не совместим с СSS, а в качестве минимальной поддержки дизайна доступны теги big, small, b и i, использующий механизм «best effort» (лучшего восприятия). Во многих старых WML-браузерах был вообще только один шрифт, причем без поддержки полужирного варианта или курсива.

Если тебе все еще интересны возможности WML, то можешь для создания WML-файла воспользоваться Adobe Dreamweaver с поддержкой подсказок. При выборе File→New, тип WML найдешь в разделе «Other». Конечно, для создания WML-документа можно также воспользоваться любым текстовым редактором и WML-совместимым эмулятором: сегодня самым лучшим считается эмулятор для Nokia Series 40 (работает только на ОС Windows), потому что он эмулирует реальный механизм рендеринга и, кроме того, работает на современных декстопных компьютерах с ОС Windows Vista или 7.

WML не был одинок

В WML не поддерживались GIF, JPG или PNG изображения (хотя, некоторые браузеры с появлением цветных экранов уже могли принимать изображения в формате GIF и JPG). В файлах WML изображения обычно были в формате WBMP (Wireless Bitmap). Скрипты поддерживались благодаря использованию языка WMLScript (был разработан на базе ECMAScript). Эти языки нет смысла обсуждать, просто знай что они были. Можешь, конечно, рассказать о них своим внукам. WBMP — растровый монохромный (черный и белый цвет) файл с минимальным размером изображения.

Также часто встречается скомпилированный WML и файлы WMLScript. Эти файлы компилируются разработчиком, прокси или шлюзом WAP, который стоит между пользователем и веб-сервером. Для компиляции файлов WMLScript есть бесплатный инструмент Nokia Mobile Internet Toolkit и он даже сегодня доступен для скачивания.

Обеспечение работы WML

Для обеспечения корректной работы WML тебе нужно настроить сервер (или свой динамический код), чтобы установить правильный тип MIME. В таблице 5.1 приведен список совместимых с WAP 1.0 типов MIME, а в таблице 5.2 — информации о совместимости этих файлов с современными устройствами.

Расширенный язык разметки гипертекста (XHTML) (стр. 1 из 5)


Реферат

Пояснительная записка содержит: 33 стр., 8 литературных источников.

Объект исследования — расширенный язык разметки гипертекста (XHTML).

Предмет исследования — принципы построения XHTML для работы в интернет.

Цель курсовой работы — дать оценку языку разметки гипертекста XHTML.

Методы исследования — литературные источники и интернет.

КОНФОРМНОСТЬ, ВАЛИДАЦИЯ, БРАУЗЕР, СКРИПТ, АППЛЕТ, ФРЕЙМ, ТЕГ, XHTML, XML, HTML, CSS.

1. Сущность XHTML

2. Валидация XHTML документов

2.1 Строго конформные документы

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

2.3 Конформность пользовательских агентов

Список использованной литературы

Введение

Развитие HTML в определенном смысле зашло в тупик — новые теги уже не нужны, поскольку хватает существующих, к тому же акцент разработки веб-страниц сместился на стили, которые расширяют возможности по оформлению документов. Естественно, CSS никак не подменяет HTML, но зато позволяет использовать ограниченный набор тегов, а вид элементов, их положение и различные параметры задавать через стили.

Определенным ограничением HTML является и то, что он относится к формальным языкам, в том смысле, что теги и их иерархическая структура жестко описаны в спецификации. Поэтому популярность набирает XML, с помощью которого можно создавать собственные теги и формировать их структуру. Разница между HTML и XML состоит не только в тегах, но и правилах написания кода. Браузер при работе с HTML «закрывает глаза» на разные мелкие огрехи и недочеты в структуре или тому, что не корректно указан параметр. С XML такие фокусы не проходят, поэтому браузер выдаст ошибку о том, что документ неверно сформирован.

Чтобы научить разработчиков «правильному» мышлению, изменить их стиль написания кода, а также сократить разрыв между HTML и XML, и был разработан XHTML, как промежуточный этап между ними.

XHTML (EXtensible HyperText Markup Language, Расширенный язык разметки гипертекста) предназначен для замены HTML и считается его более строгой версией. Вообще,W3C определяет XHTML как последнюю версию HTML, которая постепенно его вытеснит. Так ли это будет обстоять на самом деле, покажет только время.

Если рассуждать о некотором идеальном коде веб-страницы, то его можно сравнить с программой, которая не будет скомпилирована до тех пор, пока все ошибки не исправлены. Браузер выступает в роли компилятора и не отображает документ, если он не соответствует спецификации. XHTML, сохраняя все особенности HTML, вносит более строгие правила создания страниц, чтобы приблизиться к «идеальному» коду. Это позволяет делать сайты независимыми от устройства отображения и браузера. Иными словами, сайт будет корректно показываться во всех современных браузерах и платформах вроде компьютеров, смартфонов, наладониках и т.д.

На деле все обстоит не так прозаично. Разработчики браузеров не могут позволить себе, чтобы их детище работало только с «правильным» кодом. А все из-за того, что большая часть сайтов в мире просто не будет отображаться в таком браузере. Виноваты в таком положении вещей и разработчики и пользователи. Первые не обеспечили должную поддержку спецификации в своих браузерах, а вторые не потрудились ей следовать.

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

1. Сущность XHTML

XHTML (англ. Extensible Hypertext Markup Language — Расширяемый язык разметки гипертекста) — язык разметки веб-страниц, по возможностям сопоставимый с HTML, однако является подмножеством XML. Как и HTML, XHTML соответствует спецификации SGML. Вариант XHTML 1.1 одобрен в качестве Рекомендации Консорциума Всемирной паутины (W3C) 31 мая 2001 года.

XHTML представляет собой семейство имеющихся на данный момент и могущих появиться в будущем типов документов и модулей, являющихся копиями, подмножествами или расширениями языка HTML 4. Семейство типов документов XHTML базируется на XML и предназначено для работы с пользовательскими агентами на базе. Более подробную информацию об этом семействе и его эволюции можно найти в разделе «Направления развития».

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

Документы XHTML соответствуют XML. Как таковые они без труда просматриваются, редактируются и проверяются на корректность стандартными средствами XML.

Документы XHTML могут работать лучше, чем они работали в существующих пользовательских агентах, соответствующих HTML 4, а также в новых пользовательских агентах, соответствующих XHTML 1.0.

Документы XHTML могут использовать прикладные программы (например, скрипты и апплеты), базирующиеся на HTML Document Object Model или XML Document Object Model [DOM] .

По мере расширения семейства XHTML документы, соответствующие XHTML 1.0, будут с большей вероятностью совместимы с различными средами XHTML.

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

Для XHTML можно применять множество технологий разработанных для XML. Например, XSLT и XPath.

Анализ XHTML проще и быстрее, чем HTML. Поскольку синтаксис XML строже, чем SGML, обработка XHTML возможна даже на мобильных телефонах с малыми ресурсами.


Различия между XHTML и HTML.

Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, или
) должны иметь на конце / (например,
).

Булевы атрибуты записываются в развёрнутой форме. Например, следует писать или

.

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

Имена тегов и атрибутов должны быть записаны строчными буквами (например, вместо ).

XHTML гораздо строже относится к ошибкам в коде;

XHTML 1.0 Transitional

XHTML 1.0 Frameset

Самыми распространёнными ошибками в XHTML-разметке являются:

Языки разметки

Краткий путеводитель по современному «пространству языков разметки»

В 1969 году три научных сотрудника компании IBM разработали GML, язык форматирования для публикации документов. GML — это не только аббревиатура от Generalized Markup Language, но также инициалы его создателей — Чарлз Гольдфарб, Эдвард Мошер и Реймонд Лорье.

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

Основные компоненты GML были реализованы в издательских системах для мэйнфреймов, и сам язык пользуется большой популярностью в отрасли. GML применяется в IBM, причем с его помощью создается более 90% документов компании.

За счет расширения GML такими концепциями, как короткие сноски, обработка ссылок и параллельные типы документов, был создан язык Standard Generalized Markup Language. SGML стал активно применяться в издательском бизнесе, к тому же был принят к использованию в Государственном издательстве США и в 1986 году получил статус международного стандарта.

Тем не менее SGML был малоизвестен до 1990 года, когда Тим Бернерc-Ли, автор идеи World Wide Web, создал Hypertext Markup Language, который является подмножеством SGML. Вскоре после этого все виды документов и данных в начале и в конце каждого текстового элемента стали содержать тэги в стиле и . В конце 1990-х годов появился Extensible Markup Language (XML). и вселенная ИТ необратимо изменилась.

Фактически создается впечатление, что не проходит и дня без известия о создании или описании нового языка разметки. Действительно, Computerworld в разделе Quick Study опубликовал уже 10 статей, посвященных описанию различных языков разметок, и то лишь самых основных. Поиск в Google выражения markup language дает ссылки на более чем 6 млн. страниц. Ниже предлагается краткий «путеводитель» по современному «пространству языков разметки». Безусловно, он не претендует на полноту, но дает представление о гибкости и возможностях этой концепции, а также о том, как они используются. Большинство этих языков представляют собой расширения XML или определения типов документов, предназначенных для конкретной сферы деятельности, хотя некоторые из них достаточно сложны.

Языки

Язык разметки SGML был малоизвестен до 1990 года, когда Тим Бернерc-Ли, автор идеи World Wide Web, создал Hypertext Markup Language, который является подмножеством SGML
  • Business Process Execution Language (BPEL) предназначен для выполнения серий транзакций на базе Web и/или описания интерфейсов, которые необходимы для выполнения Web-транзакций. Он используется для моделирования бизнес-процессов с помощью спецификаций на транзакции и компенсационные транзакции, потоков данных, сообщений и запланированных событий, бизнес-правил, ролей защиты и обработки исключений.
  • Cell Markup Language (CellML) служит для хранения и обмена компьютерными математическими моделями, позволяя ученым обмениваться моделями даже в том случае, если они используют разное программное обеспечение для их создания. Этот язык также позволяет им повторно использовать компоненты в одной модели при разработке другой, тем самым ускоряя процесс. CellML включает в себя математические и метаданные за счет использования существующих языков, в том числе MathML. www.cellml.org
  • Chemical Markup Language (CML) — это новый подход к управлению молекулярной информацией, который использует недавно разработанные Internet-инструменты, такие как XML и Java. Данный язык, созданный строго на базе SGML, способен поддерживать крайне сложные информационные структуры и благодаря этому действовать как механизм обмена или средство архивирования. Он легко взаимодействует с современными архитектурами баз данных, в частности с реляционными или объектно-ориентированными. Самое важное, что уже создано огромное количество программного обеспечения XML общего назначения, предназначенного для его обработки и преобразования. www.xml-cml.org
  • DARPA Agent Markup Language (XML) имеет ограниченные возможности для описания взаимосвязей между объектами. DAML расширяет XML за счет использования онтологий — четко определенных формальных спецификаций, описывающих, как представить объекты, концепции и другие элементы в конкретной предметной области, а также взаимосвязи между ними. www.daml.org/about.html
  • Dynamic Markup Language (DML) — это язык, созданный на основе XML и предназначенный специально для объектных графических структур и разработки пользовательских интерфейсов. Как и HTML, этот язык включает в себя расширения, которые поддерживают вычисления, передачу аргументов и хранение переменных. www.rocklyte.com/dml
  • Directory Services Markup Language (DSML) определяет содержимое и структуру каталога, поддерживает его на распределенных каталогах. DSML дает разработчикам простой и удобный способ для реализации XML-приложений в Internet. Такая поддержка крайне важна для приложений электронной коммерции.
  • Financial Products Markup Language (FPML) — это стандарт на обмен бизнес-информацией при электронных торгах и обработке производных финансовых инструментов. Он устанавливает протокол обмена информацией в производных и структурированных продуктах и работы с ними. www.fpml.org/index.html
  • Hypertext Markup Language (HTML), основа Web, создан на базе версии GML, которая ранее использовалась в CERN. Главное его достоинство заключалось в том, что он впервые позволил создавать простые гипертекстовые ссылки между документами. www.w3.org/MarkUp
  • Human Markup Language (HML) — это проект по созданию платформы для моделирования всего процесса человеческого общения, в том числе таких его сфер, как мышление, эмоции, поведение, мимика лица, с помощью графического или текстового представления. www.humanmarkup.org
  • Materials Markup Language (MatML) был разработан для обмена информацией о веществах. www.matml.org
  • Multimedia Retrieval Markup Language (MRML) унифицирует доступ к компонентам программного обеспечения, служащим для извлечения мультимедиа-информации и управления с целью расширения их возможностей. www.mrml.net
  • Physical Markup Language (PML) — это простой язык общего назначения для описания физических объектов и сред для промышленных, коммерческих и потребительских приложений. PML поддерживает такую модульность и гибкость, что его можно использовать при мониторинге и управлении физической средой. К числу приложений относится контроль состояния склада, автоматические транзакции, управление цепочкой поставки, машинный контроль и взаимодействие между объектами. https://web.mit.edu/mecheng/pml/index.htm
  • Security Assertion Markup Language (SAML) — это оболочка на базе XML, используемая для передачи информации об аутентификации пользователей, их правах и атрибутах. Он позволяет компаниям сообщать сведения относительно идентичности, атрибутов и прав субъекта (как правило, человека) иным субъектам, таким как партнерская компания или другое корпоративное приложение. www.oasis-open.org/committees/security/faq.php
  • Services Provisioning Markup Language (SPM) — это оболочка, служащая для обмена между приложениями и организациями информацией о пользователях, ресурсах и предоставлении услуг.
  • Speech Synthesis Markup Language (SSML) помогает при генерации искусственной речи в программном обеспечении Web и в других приложениях, предоставляя стандартный способ управления речевыми характеристиками, такими как произношение, сила, высота и скорость речи, на различных платформах. www.w3.org/TR/speech-synthesis
  • User Interface Markup Language (UIML) позволяет создавать пользовательские интерфейсы для любого устройства, языка и операционной системы на устройстве. Он описывает внешний вид интерфейса, взаимодействие пользователя с интерфейсом и то, каким образом интерфейс связан с логикой приложения. www.uiml.org
  • Voice Extensible Markup Language (VoiceXML). Приложения, управляемые голосовыми командами, становятся все популярнее, и VoiceXML описывает общие возможности, позволяя тем самым гарантировать переносимость между платформами. www.voicexml.org/
  • Wireless Markup Language (WML) описывает содержимое и форматы для представления данных на устройствах с ограниченной полосой пропускания, таких как сотовые телефоны и пейджеры. Вместо того чтобы пытаться передать все содержимое Web-страницы, которое можно увидеть на ПК, WML представляет главным образом текстовую информацию, оптимизированную для мобильных устройств.
  • Extensible Access Control Markup Language (XACML) — это схема на базе XML, которая была предназначена для создания правил и автоматизации их использования для контроля доступа к различным устройствам и приложениям в сети.
  • Extensible Markup Language (XML) объединяет масштабируемость SGML с простой и широкой поддержкой HTML. Представляя в основе своей подмножество SGML, он проще и легче в реализации, поддерживает большинство возможностей SGML. XML одобрен в качестве стандарта консорциумом World Wide Web Consortium в 1998 году.

ML — не значит «язык разметки»

Далеко не каждый язык или акроним, оканчивающийся на ML, является языком разметки. Вот наиболее известные исключения.

Первоначально символы ML использовались как сокращение слова «метаязык», то есть язык программирования общего назначения, предназначенный для крупных проектов. Сейчас используется два основных диалекта этого языка. Это Standard ML (SML; см. www.dcs.ed.ac.uk/home/stg/NOTES), математически определенная версия языка, сформулированная частично разработчиками исходного языка, и Objective Caml (OCaml; см https://caml.inria.fr/), производная версия оригинального ML, к которой по желанию разработчика добавляются возможности, без их определения в стандарте. К другим известным диалектам относятся Extended ML (EML; см https://homepages.inf.ed.ac.uk/dts/eml) и Alice ML (www.ps.uni-sb.de/alice).

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

  • Unified Modeling Language (UML) — это стандартная нотация для моделирования объектов реального мира как части разработки методологии объектно-ориентированного проектирования. UML применяется для моделирования структуры приложений, их поведения и архитектуры, а также бизнес-процессов и структур данных. Этот язык поддерживают производители многих систем автоматизированного проектирования. UML был создан на основе методологий, которые также описывают процессы при разработке и использовании модели. www.uml.org
  • YAML Ain’t Markup Language (YAML) — это международный проект, посвященный созданию языка последовательного упорядочения данных, который, с одной стороны, понятен человеку, а с другой — поддерживает серьезные вычислительные возможности. www.yaml.org

Поделитесь материалом с коллегами и друзьями

WML и HTML 2020

WML vs HTML

WML (язык разметки беспроводной сети) и HTML (язык разметки гипертекста) — это языки разметки, основная функция которых заключается в обслуживании контента с веб-сайтов. Основное различие между WML и HTML — это целевые устройства, к которым они стремятся служить. HTML был создан для обслуживания контента на настольных компьютерах, которые имеют большую вычислительную мощность, чтобы сэкономить на анализе и рендеринге контента. Когда интернет начал расширяться до мобильных телефонов, стало очевидно, что мобильные телефоны не имеют вычислительной мощности, размера экрана и цветового диапазона, чтобы фактически работать с HTML. Таким образом, WML был создан как альтернатива HTML для обслуживания веб-контента на мобильные телефоны.

WML очень ограничен тем, что он может сделать. Это необходимо для упрощения потока страницы и для минимизации объема обработки, необходимой для рендеринга страницы. Также не выгодно включать много или больших изображений в WML-страницу, поскольку это, вероятно, не будет заметным на очень маленьких экранах мобильных телефонов. С другой стороны, HTML довольно полно, даже в более ранних версиях. Кодеры могут размещать на своих страницах несколько изображений, анимаций, фреймов, таблиц и многое другое. По сравнению с другими задачами, выполняемыми с компьютерами, рендеринг веб-страниц относительно прост и не слишком сильно загружает процессор.

По мере развития технологий компьютеры и мобильные телефоны также становятся все лучше и лучше. Цветные и экраны с высоким разрешением становятся все более распространенными в мобильных телефонах; особенно со смартфонами. Это улучшение означает, что больше телефонов могут обрабатывать HTML-страницы. Проблема с небольшими экранами частично решена путем предоставления пользователю возможности увеличения и уменьшения страниц. Это привело к постепенному переходу от WML к HTML.

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

1.WML используется на телефонах, в то время как HTML используется для настольных клиентов 2.HTML требует гораздо большей вычислительной мощности, чем WML 3.WML больше не используется столько, сколько HTML


WML — язык разметки

Язык разметки (текста) в компьютерной терминологии — набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках — например, указание на заголовки, выделения, списки и т. д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов.

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

HTML (от англ. HyperText Markup Language — «язык разметки гипертекста») — разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах Европейского Центра ядерных исследований в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов — дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.

Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег

, несколько раз использованный для форматирования страницы, предназначен для создания в документах самых обычных таблиц. С течением времени основная идея платформ независимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении.

XML (англ. eXtensible Markup Language — расширяемый язык разметки; произносится [экс-эм-эмл]) — рекомендованный Консорциумом Всемирной паутины (W3C) язык разметки. Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах.

XHTML (англ. Extensible Hypertext Markup Language — расширяемый язык разметки гипертекста) — семейство языков разметки веб-страниц на основе XML, повторяющих и расширяющих возможности HTML 4. Спецификации XHTML 1.0 и XHTML 1.1 являются рекомендациями консорциума Всемирной паутины, однако на данный момент его развитие остановлено с рекомендацией использовать HTML. Новые версии XHTML не выпускаются.

Главное отличие XHTML от HTML заключается в обработке документа. Документы XHTML обрабатываются своим модулем (парсером) аналогично документам XML. В процессе этой обработки ошибки, допущенные разработчиками, не исправляются.

XHTML соответствует спецификации SGML, поскольку XML является её подмножеством. HTML обладает множеством особенностей в процессе обработки и фактически перестал относиться к семейству SGML, что и закреплено в черновике спецификации HTML 5.

Браузер выбирает парсер для обработки документа на основании заголовка content-type, полученного от сервера:

· Для локального просмотра на клиенте выбор основывается на расширении файла.

· В Internet Explorer вплоть до 8-й версии парсер обработки XHTML-документов отсутствует.

WML (англ. Wireless Markup Language — «язык беспроводной разметки») — язык разметки документов для использования в сотовых телефонах и других мобильных устройствах по стандарту WAP.

По структуре напоминает несколько упрощённый HTML, но есть и ключевые отличия, поскольку WML ориентирован на устройства, не обладающие возможностями персональных компьютеров (небольшой экран, не все устройства могут отображать графику, небольшой размер памяти и т. д.): вся информация в WML содержится в так называемых «деках» (англ. deck). Дек — это минимальный блок данных, который может быть передан сервером. В деках находятся «карточки» (card) (каждая карта ограничена тегами и ). В одном деке всегда должна быть хоть одна карточка, но может быть и несколько. При этом на экране устройства в каждый момент времени отображается только одна карточка, а пользователь может переключаться между ними, переходя по ссылкам — это сделано для сокращения числа обращений за информацией к серверу; в то же время размер WML-страниц не должен превышать 1—4 килобайт.

VML (англ. Vector Markup Language — язык векторной разметки) разработан фирмой Microsoft для описания векторной графики. VML был представлен W3C в 1998 году компаниями Microsoft, Macromedia и др. Примерно в то же время Adobe, Sun и несколько других компаний подали на рассмотрение документы о языке PGML. Оба эти языка позднее стали основой для SVG.

PGML (Precision Graphics Markup Language, в вольном переводе на русский — «язык разметки прецизионной графики» ) — основанный на XML язык разметки, служащий для описания векторной графики на веб-странице (диаграмм, отдельных элементов интерфейса) в виде текста в формате XML, использует модель построения изображения, схожую с PDF и PostScript. Был представлен W3C консорциуму компаниями Adobe Systems, IBM, Netscape Communications и Sun Microsystems в 1998 году, однако не был принят, как рекомендованный. Почти одновременно компания Microsoft подала к рассмотрению свой проект VML, через год был разработан более совершенный язык SVG, основанный на идее двух технологий. SVG получил рекомендацию W3C и стал основным форматом для описания векторной графики на веб-странице.

SVG (от англ. Scalable Vector Graphics — масштабируемая векторная графика) — язык разметки масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий в подмножество расширяемого языка разметки XML, предназначен для описания двумерной векторной и смешанной векторной/растровой графики в формате XML. Поддерживает как неподвижную, так и анимированную интерактивную графику — или, в иных терминах, декларативную и скриптовую. Не поддерживает описание трёхмерных объектов. Это открытый стандарт, который является рекомендацией консорциума W3C — организации, разработавшей такие стандарты, как HTML и XHTML. В основу SVG легли языки разметки VML и PGML. Разрабатывается с 1999 года.

XBRL (англ. eXtensible Business Reporting Language, букв. «Расширяемый язык деловой отчетности») — открытый стандарт для представления финансовой отчетности в электронном виде. Формат XBRL основан на расширяемом языке разметки XML. XBRL используется синтаксис XML, а также относящиеся к XML технологии, такие как пространство имен XML, XML Schema, XLink и XPath. Одно из назначений XBRL состоит в представлении и обмене финансовой информацией, такой как финансовая отчетность компаний. Спецификация языка XBRL разрабатывается и публикуется независимой международной организацией XBRL International, Inc.

Для улучшения визуального восприятия веба стала широко применяться технология CSS, которая позволяет задавать единые стили оформления для множества веб-страниц. Ещё одно нововведение, на которое стоит обратить внимание, — система обозначения ресурсов URN (англ. Uniform Resource Name).

Популярная концепция развития Всемирной паутины — создание семантической паутины. Семантическая паутина — это надстройка над существующей Всемирной паутиной, которая призвана сделать размещённую в сети информацию более понятной для компьютеров. Семантическая паутина — это концепция сети, в которой каждый ресурс на человеческом языке был бы снабжён описанием, понятным компьютеру. Семантическая паутина открывает доступ к чётко структурированной информации для любых приложений, независимо от платформы и независимо от языков программирования. Программы смогут сами находить нужные ресурсы, обрабатывать информацию, классифицировать данные, выявлять логические связи, делать выводы и даже принимать решения на основе этих выводов. При широком распространении и грамотном внедрении семантическая паутина может вызвать революцию в Интернете. Для создания понятного компьютеру описания ресурса, в семантической паутине используется формат RDF (англ. Resource Description Framework), который основан на синтаксисе XML и использует идентификаторы URI для обозначения ресурсов. Новинки в этой области — это RDFS (англ. RDF Schema) и SPARQL (англ. Protocol And RDF Query Language) новый язык запросов для быстрого доступа к данным RDF.

Языки разметки

Язы́к разме́тки (текста) в компьютерной терминологии — набор символов или последовательностей, вставляемых в текст для передачи информации о его выводе или строении. Принадлежит классу компьютерных языков. Текстовый документ, написанный с использованием языка разметки, содержит не только сам текст (как последовательность слов и знаков препинания), но и дополнительную информацию о различных его участках — например, указание на заголовки, выделения, списки и т. д. В более сложных случаях язык разметки позволяет вставлять в документ интерактивные элементы и содержание других документов.

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

Содержание

Логическая и визуальная разметки [ | ]

Различают логическую и визуальную разметки. В первом случае речь идёт только о том, какую роль играет данный участок документа в его общей структуре (например, «данная строка является заголовком»). Во втором — определяется, как именно будет отображаться этот элемент (например, «данную строку следует отображать жирным шрифтом»). Идея языков разметки состоит в том, что визуальное отображение документа должно автоматически получаться из логической разметки и не зависеть от его непосредственного содержания. Это упрощает автоматическую обработку документа и его отображение в различных условиях (например, один и тот же файл может по-разному отображаться на экране компьютера, мобильного телефона и на печати, поскольку свойства этих устройств вывода существенно различаются). Однако это правило часто нарушается: например, создавая документ в редакторе наподобие MS Word, пользователь может выделять заголовки жирным шрифтом, но нигде не указывать, что эта строка является заголовком.

Примеры языков разметки [ | ]

Для написания исходных текстов Википедии, её участники используют особый язык разметки (см. Википедия:Как статьи), а для отображения сложных математических формул — язык TeX.

Облегчённые языки разметки [ | ]

Языки, предназначенные для простого и быстрого написания текста в простом текстовом редакторе, называются облегчёнными (en:Lightweight markup language). Особенности таких языков:

  • Минимум функций.
  • Небольшой набор поддерживаемых тегов.
  • Легки в освоении.
  • Исходный текст на таком языке читается с такой же лёгкостью, как и готовый документ.


Применяются они там, где человеку приходится подготавливать текст в обычном текстовом редакторе (блоги, форумы, вики), либо там, где важно, чтобы пользователь с обычным текстовым редактором также мог прочитать текст. Вот несколько широко распространённых облегчённых языков разметки:

История [ | ]

Термин «разметка» (как результат одноимённого процесса, англ. markup) произошёл от английского словосочетания «marking up» («разметка (как процесс)», букв. «помечивание, размечивание»), взятого из традиционной издательской практики проставления специальных условных пометок на полях и в тексте рукописи или корректуры перед передачей её в печать. Таким образом «разметчики» (markup men) указывали гарнитуру, стиль и размер шрифта для каждой части текста. В наше время разметкой текста занимаются редакторы, корректоры, графические дизайнеры — и, конечно же, сами авторы.

GenCode [ | ]

Идея использовать языки разметки в компьютерной обработке текстов, вероятнее всего, была впервые обнародована Вильямом Танниклиффом (англ. William W. Tunnicliffe ) на конференции в 1967 году. Сам он именовал своё предложение «универсальным ированием» (англ. «generic coding» ). В 1970-е годы Танниклифф руководил разработкой стандарта GenCode для издательской индустрии и позже занял пост руководителя одного из комитетов Международной организации по стандартизации (ISO, англ. International Organization for Standartization ), создавшего SGML, первый описательный язык разметки. Брайан Рэйд (англ. Brian Reid (computer scientist) ) в своей диссертации, которую он защитил в 1980 году в университете Карнеги (англ. Carnegie Mellon University ), в развитие предложенной концепции осуществил практическую реализацию описательной разметки.

Тем не менее, в настоящее время «отцом» языков разметки обычно называют исследователя IBM Чарльза Голдфарба (англ. Charles Goldfarb ). Основная концепция родилась у него в 1969 году, при работе над примитивной системой управления документами, предназначенной для адвокатских контор. В том же году он принял участие в создании языка IBM GML, который был впервые представлен в 1973 году.

В 1975 году Голдфарб переехал из Кембриджа, Массачусетс в Силиконовую долину, где стал разработчиком исследовательского центра IBM Almaden Research Center. Там он в 1978 году убедил руководство IBM использовать GML в коммерческих целях в составе разработанного компанией «средства формирования документов» (англ. Document Composition Facility ), после чего GML несколько лет широко использовался в бизнесе.

В 1978 году начались первые разработки, которые в конечном итоге привели к созданию стандарта SGML, основанного на GML и GenCode. Сам Голдфарб позднее возглавил комитет по SGML, который был принят организацией ISO в качестве стандартного в октябре 1986 года.

Некоторые ранние реализации компьютерных языков разметки можно обнаружить в типографских утилитах UNIX, таких как troff и nroff. Они позволяют вставлять команды форматирования в текст документа для его форматирования согласно требованиям редактора.

Доступность издательского софта с функцией WYSIWYG (англ. «what you see is what you get» — «что увидишь, то и получишь») вытеснила большинство этих языков среди обычных пользователей, хотя серьёзная издательская работа по-прежнему использует разметку для специфических не визуальных структур текста, а WYSIWYG-редакторы сейчас чаще всего сохраняют документы в форматах, основанных на языках разметки.

Τ Ε Χ [ | ]

Другой важный издательский стандарт — это Τ Ε Χ , созданный и впоследствии улучшенный Дональдом Кнутом в 70е-80е года двадцатого столетия. Τ Ε Χ собрал воедино высокие возможности форматирования текста и описания шрифтов, в особенности для математических книг профессионального качества. В настоящее время Τ Ε Χ является стандартом де-факто во многих научных дисциплинах. Помимо Τ Ε Χ существует LaTeX, который представляет собой широко используемую описательную систему разметки на основе Τ Ε Χ .

Scribe, GML и SGML [ | ]

Первым языком с четким и ясным различием между структурой и видом документа был Scribe [en] , который создан и описан докторской диссертацией Брайана Рейда (Brian Reid) в 1980 году. Scribe был революционным в количестве способов обработки, не в последнюю очередь из-за введённой идеи стилей, отделённых от собственно текста и грамматики и управляющих использованием описательных элементов. Scribe оказал влияние на разработку языка GML (позже SGML), а также он является прямым предком языков HTML и LaTeX.

В начале 80х идея, что разметка должна быть сфокусирована на структурных аспектах документа и должна оставить внешнее представление документа интерпретатору, привела к созданию SGML. Язык был разработан комитетом, возглавляемым Голдфарбом. Он объединил идеи из многих источников, включая Тьюнникоффликский проект, GenCode. Шэрон Адлер (Sharon Adler), Андерс Бергланд (Anders Berglund) и Джеймс А. Марк (James A.Marke) так же были ключевыми членами комитета SGML.

SGML точно определял синтаксис для включения разметки в текст, а также отдельно описывал, какие теги разрешены и где (DTD — Document Type Definition). Это давало возможность авторам создавать и использовать любую разметку, какую они захотят, выбирая теги для использования и давая им имена на нормальном языке. Таким образом, SGML следует считать метаязыком; множественные специальные языки разметок произошли от него. Поздние 80е были наиболее значимыми в появлении новых языков разметок, основанных на SGML, например TEI [en] и DocBook.

В 1986 году SGML был опубликован как международный стандарт организацией ISO под номером 8879. SGML нашёл широкое признание и широко использовался в очень больших проектах. Как бы то ни было, в целом было обнаружено, что он громоздок и труден для изучения, побочным эффектом языка было то, что он пытался сделать слишком много и быть чересчур гибким. Для примера, SGML создавал не всегда нужные закрывающие теги (или открывающие, или даже оба), потому что считал, что эта разметка будет добавлена вручную, штатом поддержки проекта, которые бы оценили экономию нажатий клавиш.

К 1991 году использование SGML было ограничено бизнес-программами и базами данных, а WYSIWYG-инструменты (которые сохраняли документы в проприетарных бинарных форматах) использовались для остальных программ обработки документов. Ситуация изменилась, когда сэр Тим Бернерс-Ли, узнав о SGML от своего коллеги Андерса Бергланда (англ. Anders Berglund ) и других сотрудников в ЦЕРНе, использовал синтаксис SGML для создания HTML. Этот язык имел сходство с другими основанными на синтаксисе SGML языками разметки, однако начать его использование было гораздо проще даже тем разработчикам, которые никогда этого не делали. Стивен ДеРоуз (Steven DeRose) убеждал, что HTML, использующий описательную разметку (и от языка SGML в частности) — это основной фактор в развитии Web, потому что в нём была заложена гибкость и расширяемость (а также другие факторы, включая понятие о URL и свободное использование браузерами).

Однако статус HTML как языка разметки оспаривается некоторыми компьютерными учёными. Их основным аргументом является то, что HTML ограничивает размещение тегов, требуя, чтобы оба тега были вложены в другие теги или в главные теги документа. Вследствие чего, эти учёные считают HTML контейнерным языком, следующим иерархической модели.

XML (расширяемый язык разметки) — это мета-язык разметки, широко используемый в настоящее время. XML разработан консорциумом World Wide Web в комитете, возглавляемом Джоном Босаком (Jon Bosak). Основное предназначение XML — быть более простым, чем SGML и сфокусироваться на специфичной проблеме — документах в интернете. XML — мета-язык как SGML, пользователям разрешается создавать любые теги, какие необходимы (отсюда «расширяемый»). Становлению XML помогли, так как каждый XML-документ мог быть написан таким же способом, как и SGML-документ, а программы и пользователи, использующие SGML, могли перейти на XML достаточно легко.

Тем не менее, XML лишился многих ориентированных на людей особенностей языка SGML, упрощавших его использование (пока не расширилось количество разметки и не восстановилась читаемость и редактируемость на прежнем уровне). Другие улучшения исправляли некоторые проблемы SGML на международном уровне и делали возможным разбор документа иерархически, даже если не был доступен DTD.

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

XHTML [ | ]

Начиная с января 2000 года, все рекомендации для W3C были основаны на XML в большей степени, чем на SGML, была предложена аббревиатура XHTML (Extensible HyperText Markup Language — Расширяемый Гипертекстовый Язык Разметки). Спецификации языка требовали, чтобы XHTML-документы были оформлены как XML-документы, это позволяет использовать XHTML для более четких и точных документов, используя теги от HTML.

Одно из самых достойных внимания различий между HTML и XHTML — это правило, гласящее, что все теги должны быть закрытыми: пустые теги, например , должны быть оба закрыты стандартным закрывающим тегом или специальной записью: (пробел перед «/» в закрывающем теге опционален, но часто используется, поскольку его используют некоторые пре-XML браузеры, также SGML-парсеры). Другие атрибуты в тегах должны быть в кавычках. Наконец, все теги и имена атрибутов должны быть написаны в нижнем регистре, чтобы восприниматься правильно; HTML невосприимчив к регистру.

Другие разработки, основанные на XML [ | ]

Особенности [ | ]

Общая особенность всех языков разметки в том, что они перемешивают текст документа с инструкциями разметки в потоке данных или файле. Это не необходимость, возможно изолировать разметку от текста, используя указатели, метки, идентификаторы или другие методы координации. Такая «отделённая разметка» характерна для внутреннего представления программ, работающих с размеченными документами. Тем не менее, внедрённая или «междустрочная» разметка более принята где бы то ни было. Вот, для примера, небольшая часть текста, размеченного при помощи HTML:

разметочных инструкций (известный как теги) обведён угловыми скобками . Текст, находящийся между этими инструкциями, является текстом документа. ы h1, p и em — примеры структурной разметки, они описывают позицию, назначение или значение текста, включённого в них.

Более точно, h1 означает «это заголовок первого уровня», p значит «это параграф», а em означает «это подчеркнутое слово или фраза». Интерпретирующая программа может применять эти правила или стили для показа различных частей текста, используя различные гарнитуры, размеры шрифта, отступы, цвет или другие стили, если это необходимо. Такой тег, как h1, может быть, например, представлен большим жирным типографским шрифтом, или в документе с моноширинным текстом (как на печатной машинке) может быть подчеркнутым, или может вообще не менять внешний вид.

Для контраста, тег i в HTML — пример визуальной разметки; обычно он используется для определения специфичных особенностей текста (в этом блоке использовать наклонную гарнитуру) без объяснения причин.

TEI (Tex Encoding Initiative) опубликовала всесторонние руководящие документы, указывающие ировать текст в интересах человечества и научных обществ. Эти руководства использовались для ирования исторических документов, специфичных работах учёных, периодике и так далее.

Альтернативное использование [ | ]


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

Использование языка XHTML также показывает, что его можно комбинировать с различными языками разметки одного профиля, например XHTML+SMIL или XHTML+MathML+SVG.

Новый облегчённый язык разметки текста на основе парных кавычек (pq)

Я не могу объяснить, откуда пришла идея такого языка разметки, но то, что получилось в итоге — весьма… занятно.

Итак, перейду к описанию самого языка. [ Если кто-то вдруг не понял, о чём вообще идёт речь, то к облегчённым языкам разметки относятся Markdown, BBCode, вики-разметка и т.п. ]

Данная разметка основана на одиночных парных кавычках — символах ‘ и ’ (вопрос выбора именно этих символов разъясняется ниже в P.S.), поэтому пока что я остановился на таком варианте названия: пк-разметка или pqmarkup (paired quotes markup).

Как же эти кавычки набирать на клавиатуре?

В ОС семейства Windows можно с помощью программы AutoHotkey назначить глобальные горячие клавиши для ввода любых спец-символов. Чтобы назначить например Alt+9 и Alt+0 для ввода одиночных парных кавычек достаточно добавить такие две строчки в файл-скрипт настроек:

Синтаксис пк-разметки

Оформление текста

‘курсив’

*‘жирный’ жирный
_‘подчёркнутый’ подчёркнутый
-‘зачёркнутый’ зачёркнутый
курсив

*‘жирный курсив’ (будет просто

жирный), пишите так:

Ссылки и всплывающие подсказки

Пк-разметка HTML Как выглядит
[https://address] https://address https://address
ссылка[https://address] ссылка ссылка
ссылка[https://address] ссылка ссылка
‘многословная ссылка’[https://address] многословная ссылка многословная ссылка
ссылка[https://address ‘текст всплывающей подсказки’] ссылка ссылка
текст[‘текст всплывающей подсказки’] текст текст

Заголовки, картинки, цвет и таблицы

Н (русская) H (английская) Название заголовка\Header
Р (русская) P (английская) Рисунок\Picture из HTML 5.1″>[почему не I(image)]
С (русская) C (английская) ц вет(Свет)\Color
Т (русская) T (английская) Таблица\Table

Примеры:
Заголовок — Н‘Название заголовка’
Картинка — Р‘https://адрес_картинки’
Текст красным цветом — С(#фф0000)‘текст’

Заголовок

Заголовок

Пк-разметка HTML Как выглядит
Заголовки\Headers
H‘Заголовок’
H(0)‘Заголовок’
H(1)‘Заголовок’

Заголовок

Заголовок

H(+1)‘Заголовок’
H(-1)‘Заголовок’

Заголовок

Заголовок

Изображения/картинки\Pictures
P‘https://. /blue_circle.png’
P‘https://. /blue_circle.png’[https://address]
P‘https://. /blue_circle.png’[‘текст всплывающей подсказки’]
P‘https://. /blue_circle.png’[https://address ‘текст всплывающей подсказки’]
Цвет текста
Цвет задаётся в формате #ККЗЗСС (Красный, Зелёный, Синий) посредством шестнадцатеричных цифр (можно использовать кириллицу: абсдеф/АБСДЕФ является аналогом abcdef/ABCDEF) или в формате КЗС посредством цифр от 0 до 8 .
С(#ff0000)‘красный текст’ красный текст красный текст
красный текст
С(800)‘тоже красный текст’ тоже красный текст тоже красный текст
тоже красный текст
С(000)‘чёрный текст’ чёрный текст чёрный текст
чёрный текст
С(4)‘серый текст’ серый текст серый текст
серый текст
С(-880)‘текст на жёлтом фоне’ текст на жёлтом фоне
Таблицы
Т‘
Н‘‘A’ ‘B’ ‘C’’
‘‘1’ ‘2’ ‘3’’

A B C
1 2 3
A B C
1 2 3
Объединение ячеек таблицы
Чтобы объединить ячейки таблицы, нужно каждую отсутствующую ячейку заменить на символ — или символ | таким образом, чтобы следуя по символу — влево и по символу | вверх можно было выйти на соответствующую значимую ячейку.
Т‘‘
‘A’ ‘B’
’‘
‘C’ —
’’

A B
C
A B
C
T‘‘
‘ ’ ‘ ’ ‘1’ ’‘
‘ ’ ‘ ’ | ’‘
‘2’ — | ’’

1
2
1
2
T‘‘
‘ ’ ‘ ’ ‘1’ ’‘
‘ ’ ‘ ’ | ’‘
‘2’ — — ’’

1
2
1
2
Для больших объединений ячеек (2х2 и более): вправо от значимой ячейки идут символы — , вниз идут символы | , а остальные отсутствующие ячейки можно заполнять либо символом — либо | , но рекомендуется всегда использовать — .
T‘‘
‘1’ — — ‘2’ ’‘
| — — ‘3’ ’‘
| — — ‘4’ ’‘
‘5’ ‘6’ ‘7’ ’’

1 2
3
4
5 6 7
1 2
3
4
5 6 7

Комментарии

Полное описание синтаксиса форматирования.

Изначально я планировал альтернативный вариант задания тегов. Вот такой:
[[H]Header/Заголовок[-H]]
или
[[H]Header/Заголовок[-]]
или
[[H]Header/Заголовок]

Соответственно, таблицы задавались тегом [[T]. ]
Разделитель столбцов был таким — []
Разделитель строк был таким — [[]]

Пример таблицы:
или так:
(Закрывающий тег [-Т] можно опустить.)


Но потом я вспомнил, что несколько вариантов выбора для одного и того же форматирования — это то, что мне не нравится в Markdown (например: __так__ или **так** ), и я решил, что оставлять два варианта форматирования в пк-разметке (

Определившись с выбором в пользу кавычек, сначала я хотел сделать такой разделитель строк — ‘’ (по аналогии с [] ), но быстро одумался (ведь тогда возникает проблема с пустыми ячейками в самой таблице) и пришёл к нынешней форме записи:
Т‘
‘‘A’ ‘B’ ‘C’’
‘‘1’ ‘2’ ‘3’’

или так:
Т‘‘
‘A’ ‘B’ ‘C’
’‘
‘1’ ‘2’ ‘3’
’’

(Разумеется, эта форма записи не самая приятная для набора и я немало думал над тем, возможно ли её как-то упростить (или хотя бы дать возможность альтернативной более простой формы записи для таблиц, как в GitHub Flavored Markdown или в Habrahabr Flavored Markdown [ к слову сказать, в большинстве реализаций Markdown не поддерживаются таблицы без заголовков ] ), но решил остановиться на нынешней форме записи, так как она итак достаточно лёгкая (по сравнению с HTML

) и при этом имеет неоспоримое преимущество [ перед более простой формой записи ] — возможность включать в ячейку таблицы всё что угодно (включая любые другие элементы разметки и даже вложенные таблицы), а также нынешняя форма записи даёт возможность использовать пробелы в начале и в конце строки любой ячейки таблицы (возможность спорная, но может пригодиться для экспорта таблиц баз данных).)

Исходник данной статьи написан на пк-разметке. Преобразован к формату Habr HTML посредством реализации на Python (c флагом командной строки —habr-html ).

Причины (впрочем, достаточно субъективные), почему я выбрал именно символы ‘’ (а не `´ или, скажем, «» или “” ):

  1. Они достаточно приятно выглядят (в соответствующем шрифте [ например, Courier New ] ). На мой взгляд, лучше, чем «» или ‹›.
  2. Они идут подряд друг за другом в любой кодировке (в отличие от `´ или «» или ‹›) [ также как и “” ] .
  3. Почему не “” — в русских текстах парным символу “ является „ (Экранная типографика. Кавычки).

Один существенный минус символов кавычек ‘ и ’ в том, что символ закрывающей одиночной кавычки ’ согласно текущему стандарту Юникод является предпочтительным символом в качестве знака апострофа, и во многих документах и веб-страницах на английском языке символ ’ действительно используется в качестве апострофа (например так: Don’t ), в том числе — в сгенерированной документации к Python, впрочем в HTML-коде там используетсяещё недавно использовался HTML entity ’ , а в исходных rst-файлах документации используется обычный апостроф ‘ — так что и html (при использовании ’ ) и rst-файлы можно заключать в ‘ такие ’ кавычки без проблем [ и, к слову, наиболее известные [ мне ] типографы (за редким исключением) вставляют HTML-entity ’ [ или ’ или ‘ или ’ ] , а не непосредственно сам символ закрывающей кавычки ’ , а если посмотреть на крупнейшие англоязычные новостные ресурсы, то можно заметить, что на многих из них в качестве апострофа используется просто символ апострофа ‘ (вопреки рекомендации Unicode Consortium) ] , но если есть такая необходимость, то пк-разметка позволяет вставить непарную открывающую ‘ и закрывающую ’ кавычку: так `‘` или так ‘‘’ (смотри Дополнительные возможности форматирования. «Сырой»\Raw HTML).

[ На мой взгляд, это просто показывает, что в целом отсутствует чёткое/однозначное представление о том, как должны выглядеть эти символы. ]

Применение XML

Начну обзор вариантов применения XML в программировании от наиболее очевидных и широко используемых к наиболее специфичным и оригинальным случаям.

Настройки программы в формате XML

Это вариант использования XML самый очевидный и широко применяемый в прикладном программировании. Хранить настройки вашей программы в формате XML очень удобно хотя бы потому, что синтаксис элементарный, для их редактирования подходит любой текстовый редактор, а библиотеки программных компонентов, выполняющие за вас синтаксический разбор есть в арсенале практически любого языка программирования. Более того, хранение настроек в отдельном файле может избавить вас от необходимости внесения изменений в программный код с целью поменять поведение программы. Этот довод революционным не назовешь, и для подобных целей еще до появления XML использовали обычный текстовый формат. Ну а если вы программируете с использованием платформы Microsoft .Net Framework, то должны быть знакомы с файлами настроек проектов App.config , Web.config и другими.

XML отчеты

XML является очень удобным инструментом для формирования данных табличных отчетов, состоящих из одной и более табличных форм. Вполне естественно, что вид, в котором этот отчет предстанет перед пользователем без дополнительного оформления — не совсем то, чего бы ему (пользователю) хотелось видеть. Содержимое отчета неплохо было бы отформатировать, и для этих целей великолепно подходит следующее XML расширение — XSL трансформация, применяя которое, вы можете настроить преобразование вашего XML отчета в XHTML документ приемлемого вида. Стоит отметить, что документы Microsoft Office можно сохранять в формате XML. Для каждого приложения из этого семейства существует отдельная XML схема документа, а следовательно, существует схема XSL трансформации, которая преобразует ваш отчет в документ Microsoft Excel или Microsoft Word в формате XML.

Если у вас есть XML документ и файл трансформации XSL, то подключение одного к другому выполняется добавлением в XML документ инструкции:

Для просмотра примера XSL трансформации XML на стороне клиента пройдите по ссылке и посмотрите исходный код страницы — там будет XML, а не HTML. Результат преобразования XML в HTML, к сожалению, браузер не показывает. Если результат трансформации может быть корректно открыт приложением из семейства Microsoft Office, например, Microsoft Excel, а вам именно это и нужно, то необходимо добавить инструкцию вида:

Современные среды разработки программных продуктов, как правило, предоставляют разработчику все необходимые библиотеки для создания, редактирования, чтения, сохранения, валидации (проверки на соответствие well-formed документа определенной схеме) и трансформации XML документов. Представление результата SQL запроса к базе данных в виде XML и приведение этого XML к нужному вам виду (формату) посредством XSL трансформации является хорошим стилем при проектировании подсистем отчетов.

Обмен данными или XML сериализация

Тут также все более или менее очевидно, поскольку XML, в первую очередь, создан для хранения и передачи наборов структурированной информации. Использовать существующие протоколы (XML — расширения), или создавать свои собственные – дело ваше, поскольку все зависит от решаемой вами задачи, но знать о существующих стандартах, чтобы в случае чего не «изобретать велосипед», я считаю необходимым. Вот некоторые из них:

  • SOAP – протокол общения с web-сервисами и общения web-сервисов между собой. В основном используется для удаленного вызовы web-методов и получения результатов этих вызовов (Remote Procedure Call).
  • WSDL – язык описания интерфейсов Web-сервисов.
  • XAML – язык разметки приложений, создаваемых по технологиям компании Microsoft: WPF и Silverlight.
  • SVG – язык разметки 2D векторной геометрии с элементами описания ее графического представления.
  • RSS – формат представления данных для интернет лент новостей.
  • WML – язык разметки документов, использующийся в мобильных устройствах.

Естественно, что это далеко не все.

XML и кэш базы данных

Как уже было сказано ранее, XML достаточно легко справляется с описанием структуры и содержимого различных табличных форм. Если ваша программа работает с базой данных, и вы можете уверенно классифицировать данные на «редко используемые» и «часто используемые», то целесообразно организовать кэш последних с использованием XML. Например, технология Microsoft ADO.NET демонстрирует этот подход введением абстракции DataSet . Также, этот кэш есть возможность в любой момент сохранить в файле и, при необходимости, передать пользователям, работающим в off-line, по отношению к основной базе данных, режиме.

Метаданные и XML

Зачем нужны метаданные, и какие преимущества дает их применение я попытался изложить в отдельной статье. Метаданные являются краеугольным камнем приложений, их использующих, и поэтому, хранение метаданных обязано быть организованным таким образом, чтобы время поиска любого их раздела было оптимальным. Использование XML для организации хранения кэша метаданных, извлеченных из базы данных, в принципе, разумно, но стоит задуматься о дополнительном индексировании отдельных его разделов с использованием хэш-таблиц. Преимущества использования XML для организации кэша метаданных те же, что и для часто используемых данных (см. выше).

В статье про метаданные я упоминал абстракцию “брокер информационных объектов”, который инкапсулирует в себе работу с хранилищами данных и предоставляет сервисы манипуляции экземплярами информационных объектов. Если вам необходимо реализовать возможность работы как с данными в базе данных, так и с кэшем в виде набора XML документов в условиях off-line режима (требования к работе программ бывают и такие), то именно эта абстракция поможет реализовать сей каприз, не затрагивая уровень бизнес-логики приложения. Ну а работу SQL, в данном случае, придется возложить на механизм XPath запросов.

Прикладной XML интерпретатор

Данное применение XML, на мой взгляд, наиболее интересное и нетривиальное. Если вспомнить тему шаблонов проектирования, то можно сказать, что с использованием XML легко реализовать шаблон проектирования “прикладной интерпретатор” из группы шаблонов поведения. Прикладным интерпретатором, в данном случае, будет интерпретатор, обеспечивающий работу “мастера настроек” (wizard) или выполнение бизнес операции в контексте текущего бизнес-процесса.

Пример описания алгоритма бизнес-сценария с использованием XML.

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

Динамический пользовательский интерфейс и его XML описание

Для программных продуктов, чья функциональность может быть расширена динамически подключаемыми компонентами – plug-in модулями, также актуальна возможность динамической настройки пользовательского интерфейса. Если ваша программа в состоянии, например, “общаться” с внешними командами, то ее пользователю необходимо дать возможность управлять этим общением. Конечно, можно сгруппировать все вызовы внешних функций в один общий пункт меню, но это не будет способствовать хорошей эргономике приложения. Стандарт XML – весьма удачное решение для описания динамически создаваемых пользовательских элементов управления и связывания их с обработчиками событий. Доказательством этому служит технология Microsoft Windows Presentation Foundation (WPF). Авторы WPF не “открыли Америки”, они просто доработали все идеи и решения (не только самой Microsoft), связанные с языками разметки приложений до уровня программной платформы и, вероятно, собираются довести все это дело до единого технологического стандарта. Пример простейшей XML схемы, призванной решать подобную задачу можно найти здесь.

Опубликовал +автор Октябрь 10 2011 13:34:13 17052 Прочтений
Компьютерные курсы и курсы программирования

Курс для начинающих программистов на C# и VB.NET.

Построение SQL запросов и работа с базой данных.

Программирование на C#. Краткое руководство.

Применение регулярных выражений.

Примеры программной Plug-in архитектуры.

Язык разметки XML и его расширения с примерами.

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна: решения типовых задач верстки.

Руководство по программированию на PHP для начинающих.

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Мастер Йода рекомендует:  SQL-инъекция в SiteMan
Добавить комментарий
Справочные материалы