Publishing Engine Programmer's Guide > The Arbortext Publishing Engine Sub-Process > Arbortext Publishing Engine Document Conversion > Conversion Processing > Applying a Profile
  
Applying a Profile
Profiling is an optional process for deleting specified portions of the input document. For example, a document for a training class might have some content appropriate to the instructor, other content appropriate to students, and content common to both. To produce a student document, the profiling feature would delete content designated only for the instructor. The conversion process applies profiling in one of two ways:
For the XML and SGML output formats, the conversion process applies profiling as the next step after the document is opened.
For other output formats, profiling is applied as part of the process of converting to the output format.
Profiling is performed the same way for all outputs, and all the profile parameter values are supported. Profiling options can be specified as:
a logical expression.
profile=logicalexpression=markup
The markup must match the content model of a SetProfileGroup in the profiling DTD.
a name, which refers to a profile specification that must be defined in the .pcf profiling configuration file for the document type. Same as SetProfileGroup.
profile=resolutiongroupname=name
a name, which refers to a profile specification that must be defined in the .pcf profiling configuration file for the document type. Same as resolutiongroupname.
profile=setprofilegroup=name
When specifying profile=logicalexpression=markup, markup must be either a ProfileRef or a LogicalExpression element as defined in the profiling.dtd.
A ProfileRef element specifies a profile selector and value.
A LogicaExpression element specifies either a LogicalGroup or a LogicalNot element.
A LogicalGroup element must contain two descendant elements, each of which can be a LogicalGroup, a LogicalNot, or a ProfileRef elements.
A LogicalNot element must contain one child element, either a LogicalGroup or a ProfileRef element.
Example 1. Example of a ProfileRef
profile=logicalexpression=
<ProfileRef alias="User Level" value="Expert"/>
Example 2. Example of two ProfileRefs
profile=logicalexpression=
<LogicalExpression>
<LogicalGroup operator="OR">
<ProfileRef alias="User Level" value="Expert"/>
<ProfileRef alias="User Level" value="Typical"/>
</LogicalGroup>
</LogicalExpression>