Export can map paragraph and character styles in any word processing format that contains styles (such as Microsoft Word, RTF, or Folio Flat File) to user-defined markup. With this feature, you can redact (hide) text in the source document, delete content, or change the overall structure of the output. You can also embed style sheet styles in the output defined in the XML.
To enable style mapping, you must indicate which paragraph and/or character styles are to be mapped, and define the starting and ending markup to be included in the XML output.
For example, if the source Microsoft Word document contains the character style "Recipe," and the content of the style in Microsoft Word is "Brownies," you can specify that the starting markup be <recipe>
and the ending markup </recipe>
. This would result in the output XML containing: <recipe>
Brownies</recipe>
.
You can also use style mapping to control the look of the XML output either by using a Cascading Style Sheet (CSS) or by defining the style directly in the starting markup. For example, if a Word document contains the paragraph style "Colorful", you can have markup of the form <p><div class="rainbow">
inserted at the front of the paragraph and markup of the form </div></p>
inserted at the end of the paragraph. "Rainbow" is a CSS style defined in an externally provided CSS file referenced at the top of the XML output.
If you map styles to elements or attributes that are not defined in the DTD, you must add the new elements or attributes to the DTD. You must also ensure the new markup is defined in the API, either by entering the markup directly in the classes, or by populating the classes using the template files.
To map styles by using the C API
Define the KVStyle
structure. See KVStyle . The information in this structure includes:
the markup to be added to the beginning and end of a paragraph or character style.
the name of the word processing style (for example, "Heading 1") to which style mapping applies. Style names are case sensitive.
the flag which defines instructions on how to process the content associated with a paragraph or character style. The flags are defined in kvtypes.h
and described in Flags for Defining Styles.
Call the fpSetStyleMapping()
function. See fpSetStyleMapping().
To map styles by using a template file
Use the KVStyle
parameter to specify how many styles are being mapped. For example, if there are nine mapped heading levels, add the following:
[KVStyle] NumStyles=9
For each style, there must be a [StyleX]
entry that contains the markup that appears at the start and end of the defined style. For example, in the wordstyle.ini
sample file, the first heading level is defined as follows:
[Style1] StyleName=Colorful MarkUpStart=<div class="colorful"> MarkUpEnd=<!-- end of colorful --></div>
These values are used in StyleName
, MarkUpStart
, and MarkUpEnd
in the KVStyle
structure. See KVStyle .
For each style, define the flag that applies. Flags define instructions on how to process the content associated with a paragraph or character style.
They are defined in kvtypes.h
and described in Flags for Defining Styles. This value is used in dwflags
of the KVStyle
structure. See KVStyle . The value associated with each flag is a hexadecimal number. You can set an option by either entering the converted decimal value or entering the flag's text.
Flags=0
A finished entry in a template file could look like this:
[KVStyle] NumStyles=3
[Style1] StyleName=Colorful MarkUpStart=<div class="Colorful"> MarkUpEnd=<!-- End of Colorful --></div> Flags=0
[Style2] StyleName=RedactPara MarkUpStart=<div class="RedactPara"> MarkUpEnd=<!-- End of RedactPara --></div> Flags=2048
[Style3] StyleName=Code MarkUpStart=<pre> MarkUpEnd=<!-- End of Code --></pre> Flags=KVSTYLE_PRE