Введение

диалект XML для управления телескопом

RTML — это запатентованный язык программирования, используемый исключительно в сервисах Yahoo! Store и веб-хостинга Yahoo! Site.

История

Язык возник в Viaweb, компании, основанной в 1995 году Полом Грэмом и Робертом Т. Моррисом, как язык шаблонов для их платформы электронной коммерции. RTML расшифровывается как "Язык Роберта Т. Морриса". Редактор RTML предлагался клиентам (как правило, малым предприятиям) в качестве опции для более глубокой настройки своих интернет-магазинов, чем это позволяли встроенные шаблоны. Встроенные шаблоны также были написаны на RTML и служили отправной точкой для большинства пользователей языка. В 1998 году Yahoo! приобрела Viaweb за 49,6 миллиона долларов и переименовала сервис в Yahoo! Store. Позже Yahoo! предложила систему управления контентом на основе RTML на хостинговой платформе без корзины покупок под названием Yahoo! Site. В 2003 году Yahoo! переименовала сервис Yahoo! Store в Yahoo! Merchant Solutions (входящий в состав Yahoo! Small Business) и одновременно начала предлагать новым клиентам выбор более стандартной среды веб-хостинга PHP/MySQL вместо редактора магазинов на основе RTML. По состоянию на 2006 год многие новые сайты Yahoo! Merchant Solutions и существующие Yahoo! Stores продолжали создаваться с использованием редактора магазинов и RTML.

Язык

Хотя в документации Yahoo! об этом не упоминается, RTML фактически реализован на основе системы Lisp. Язык несколько необычен тем, что программист не может редактировать исходный код непосредственно как текст. Вместо этого ключевые слова представлены в виде гиперссылок в HTML-интерфейсе браузера. При нажатии на ключевое слово оно выделяется, и его атрибуты можно редактировать. Блоки кода можно помещать в буфер обмена и извлекать из него, используя метафору стека. Редактор автоматически поддерживает структуру s-выражений кода и визуально отображает её в веб-интерфейсе, используя отступы вместо скобок Lisp. Большинство ключевых слов соответствуют элементам HTML, но также присутствуют условные операторы, рекурсия и другие средства управления потоком выполнения, что делает его полноценным языком программирования. Шаблоны RTML динамически вычисляются при каждом просмотре страницы в режиме редактирования, но для рабочей версии сайта процесс "публикации" генерирует из них статические HTML-файлы.

Сокращение

Yahoo! в своей документации ранее утверждала, что RTML — это аббревиатура от "Real Time Markup Language", но Грэм признался, что "мы придумывали разные расшифровки для RTML, но на самом деле я назвал его в честь Роберта Морриса, другого основателя Viaweb, чей никнейм — rtm".