В компьютерных технологиях принцип «Что вы видите, то и имеете в виду» ( WYSIWYM, / ˈ w ɪ z i w ɪ m / ) — это парадигма редактирования структурированного документа . Это дополнение к более известной парадигме WYSIWYG («Что видишь, то и получаешь»), которая отображает результат форматирования документа так, как он появится на экране или в печати, без показа описательного кода под ним. [1]
В редакторе WYSIWYM пользователь структурирует содержимое, отмечая его в соответствии с его значением, его значением в документе, а его окончательный вид оставляет на усмотрение одной или нескольких отдельных таблиц стилей . По сути, он направлен на точное отображение передаваемого содержимого, а не на фактическое форматирование, связанное с ним. [2]
Например, в документе WYSIWYM можно вручную пометить текст как заголовок документа, имя раздела, подпись, связанную с рисунком, или имя автора; это, в свою очередь, позволит отображать один элемент, например заголовки разделов, как большой жирный текст в одной таблице стилей или как текст, выровненный по красному центру в другой, без дальнейшего ручного вмешательства. [3] Чаще всего для этого необходимо заранее определить смысловую структуру документа, еще до его написания. Редактору также необходима система экспорта структурированного контента для создания окончательного формата документа в соответствии с указанной структурой.
Основным преимуществом этой системы является полное разделение содержания и представления : пользователи могут структурировать и писать документ один раз, вместо того, чтобы постоянно переключаться между двумя режимами представления — подход, который сопряжен с собственными затратами на переключение . А поскольку обработка форматирования остается на усмотрение системы экспорта, это также упрощает достижение единообразия в дизайне.
В отличие от неструктурированного документа с фиксированным представлением, для WYSIWYM необходимо использовать процессор документов , а не текстовый процессор . Первым процессором документов, который сформулировал себя [4] через термин WYSIWYM, был процессор документов LyX , хотя аналогичные концепции можно проследить до более ранних издательских систем, таких как LaTeX , TPS (по образцу новаторских экспериментов в Xerox PARC ) и FrameMaker .
Например, в FrameMaker документ можно создавать (т. е. просматривать и редактировать) с использованием двух возможных представлений страницы: теги стиля (называемые «форматами») и содержимое документа находятся на «основных страницах», а структура и представление определяются. определяется «главными страницами». [a] Несколько таких документов могут быть связаны вместе и условно запрограммированы для различных приложений. Эти элементы затем можно экспортировать в соответствующие теги, которые сохраняют некоторые или все свои функциональные возможности в языке разметки , таком как XML / HTML / CSS и PDF , или напрямую визуализировать для окончательного представления в любом формате, от PostScript до необработанного текста.
Другой подход к философии WYSIWYM используется в GNU TeXmacs , который сочетает в себе экранное представление структуры документа с почти точным рендерингом WYSIWYG. [6]
Крупные поставщики программного обеспечения интегрировали функции создания веб-страниц в свои популярные продукты WYSIWYG , чтобы повысить их полезность. Пользователи могут создавать веб-страницы HTML в текстовом процессоре, не зная HTML, но, как и почти все веб-разметки, созданные в среде IDE или написанные вручную, автоматический анализ исходного формата этими инструментами редко учитывает различие между содержимым HTML и его представлением с помощью средств. например CSS во время вывода.
Такие генераторы HTML с фиксированным представлением подвергались критике, в первую очередь, из-за раздутости и низкого качества их кода, [7] [8] [9] и есть голоса, выступающие за изменения в модели WYSIWYM. [10] [11] [12]
Одним из примеров редактора веб-страниц WYSIWYM является WYMeditor . [13] В этом редакторе структура документов определяется атрибутами классов HTML-элементов. Эти классы также позволяют применить окончательный внешний вид документа. Хотя WYMeditor следует модели WYSIWYM, формат документа всегда является HTML, поэтому определяемые новые структуры ограничиваются новыми классами, а окончательный документ всегда будет создаваться путем применения презентационных элементов к этим классам.
Другие CMS движутся в направлении предоставления пользователям интерфейса WYSIWYM для редактирования контента.