Your profiling needs may be more complex and require you to use more than one category of profiling. For example, you might have conditions for userlevel
and os
.
Note these features of multiple profiling conditions:
You can use more than one profiling attribute in a document, and even on the same element. For example:
<para os="win" userlevel="beginner"> ... </para>
Both conditions must be matched at processing time for the element to be included.
Whichever profiling attributes are used in your documents must be accounted for when you process the documents. If you are using three different profiling attributes, you will need to set three conditions at processing time.
You can assign more than one key word to a profiling attribute by separating them with semicolons. For example, if you profile on os
with the key words linux
, unix
, or win
, then an element that applies to both linux
and unix
should have the attribute os="linux;unix"
. Then it will be selected if either of linux
or unix
is specified at processing time.
If you need AND
logic on a profile parameter, you can use two profiling passes. For example, normally an element with os="linux;unix
is selected if either linux
OR unix
is specified at runtime. If you need this to mean linux
AND unix
, and exclude the single values os="linux"
and os="unix"
, then perform two profiling passes. In the first pass, set profile.os="linux"
to exclude os="unix"
, and in the second pass select profile.os="unix"
to exclude os="linux"
. Only those with os="linux;unix"
will survive.
Take special care if you need to nest conditionalized elements. A condition applies to an element and all of its content. If the container element is not selected during processing, then the interior elements are never even considered.
DocBook XSL: The Complete Guide - 4th Edition | PDF version available | Copyright © 2002-2007 Sagehill Enterprises |