WYSIWYM



In computing, What You See Is What You Mean (WYSIWYM, ) is a paradigm for editing a structured document. It is an adjunct to the better-known WYSIWYG (What You See Is What You Get) paradigm, which displays the result of a formatted document as it will appear on screen or in print—without showing the descriptive code underneath.

In a WYSIWYM editor, the user writes the contents in a structured way, marking the content according to its meaning, its significance in the document, and leaves its final appearance up to one or more separate style sheets. In essence, it aims to accurately display the contents being conveyed, rather than the actual formatting associated with it.

For example, in a WYSIWYM document, one would manually mark text as the title of the document, the name of a section, the caption associated with a figure, or the name of an author; this would in turn allow one element, such as section headings, to be rendered as large bold text in one style sheet, or as red center justified text in another, without further manual intervention. More often than not, this requires the semantic structure of the document to be decided in advance before writing it. The editor also needs a system for exporting structured content to generate the document's final format, following the indicated structure.

The main advantage of this system is the total separation of content and presentation: users can structure and write the document once, rather than repeatedly alternating between the two modes of presentation—an approach which comes with its own switch cost. And since the rendering of formatting is left to the export system, this also makes it easier to achieve consistency in design as well.

Document processors
Unlike an unstructured, fixed-presentation document, a document processor rather than a word processor must be used for WYSIWYM. The first document processor which articulated itself through the WYSIWYM term was LyX document processor, although similar concepts can be traced back to earlier publishing systems such as LaTeX, TPS (modeled on pioneering experiments at Xerox PARC) and FrameMaker.

For example, in FrameMaker, a document may be authored (i.e., viewed and edited) using two possible page views, the styling tags (called "formats") and contents of a document reside in "body pages", while structure and presentation are defined by "master pages". Multiple such documents can be linked together and programmed conditionally for a variety of applications. These elements can then be exported to corresponding tags which preserve some or all of their functionality in a markup language such as XML/HTML/CSS and PDF, or directly rendered down for final presentation in anything from PostScript to raw text.

A different approach to the WYSIWYM philosophy is taken by GNU TeXmacs, which combines the on-screen representation of the document structure with an almost-faithful WYSIWYG rendering.

In web environments
Major software vendors have integrated web-page creation features into their popular WYSIWYG products to increase their utility. Users can create an HTML web page in a word processor with no knowledge of HTML, but like nearly all IDE authored or handwritten web markup, these tools' automated analysis of the source format rarely accounts for a distinction between HTML's content and its presentation through means such as CSS during output.

Such fixed-presentation HTML generators have been criticized, primarily because of the bloatedness and low quality of their code,  and there are voices advocating for changes to the WYSIWYM model.

One example of a WYSIWYM Web page editor is WYMeditor. In this editor, the structure of the documents is defined by the class attributes of HTML elements. These classes also allow the final appearance of the document to be applied. Although WYMeditor follows a WYSIWYM model, the document format is always HTML, so the new structures to be defined are limited to new classes, and the final document will always be built by applying presentational elements to these classes.

Other CMSs are moving in the direction of providing some WYSIWYM interface for their users editing content.