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